diff options
author | psmith <> | 2007-06-19 04:47:58 +0000 |
---|---|---|
committer | psmith <> | 2007-06-19 04:47:58 +0000 |
commit | 8f58dd62aa52e4606983bcb56acf692ba135c165 (patch) | |
tree | 82059fd1aae47662e433e90216b1e315e82646fe /expand.c | |
parent | 9166faa7d14c679ab9691ba7a9a4524e31b5e09d (diff) | |
download | make-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.c | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -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; } |