summaryrefslogtreecommitdiff
path: root/expand.c
diff options
context:
space:
mode:
authorpsmith <>2007-06-19 04:47:58 +0000
committerpsmith <>2007-06-19 04:47:58 +0000
commit8f58dd62aa52e4606983bcb56acf692ba135c165 (patch)
tree82059fd1aae47662e433e90216b1e315e82646fe /expand.c
parent9166faa7d14c679ab9691ba7a9a4524e31b5e09d (diff)
downloadmake-8f58dd62aa52e4606983bcb56acf692ba135c165.tar.gz
Fix a core dump when reading_file is 0 (20033).
Fix some manual typos (20018).
Diffstat (limited to 'expand.c')
-rw-r--r--expand.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/expand.c b/expand.c
index cc8ede41..3d0229c5 100644
--- a/expand.c
+++ b/expand.c
@@ -460,20 +460,25 @@ char *
variable_expand_for_file (const char *line, struct file *file)
{
char *result;
- struct variable_set_list *save;
+ struct variable_set_list *savev;
+ const struct floc *savef;
if (file == 0)
return variable_expand (line);
- save = current_variable_set_list;
+ savev = current_variable_set_list;
current_variable_set_list = file->variables;
+
+ savef = reading_file;
if (file->cmds && file->cmds->fileinfo.filenm)
reading_file = &file->cmds->fileinfo;
else
reading_file = 0;
+
result = variable_expand (line);
- current_variable_set_list = save;
- reading_file = 0;
+
+ current_variable_set_list = savev;
+ reading_file = savef;
return result;
}