diff options
author | Weiwen Liu <weiwen.liu@yale.edu> | 1998-07-13 16:54:48 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-07-13 16:54:48 -0600 |
commit | 24c2aa306882137cee93bc8871269008e58ff53d (patch) | |
tree | 858ac84570803d8108d3b9d9bc98003fe3b45756 /gcc | |
parent | a5dd9832a1cc15e1fe78ed61f3ba1f0fed6ceec5 (diff) | |
download | gcc-24c2aa306882137cee93bc8871269008e58ff53d.zip gcc-24c2aa306882137cee93bc8871269008e58ff53d.tar.gz gcc-24c2aa306882137cee93bc8871269008e58ff53d.tar.bz2 |
gcc.c (do_spec_1): Fix %O handling for secure temporary file creation.
8
* gcc.c (do_spec_1): Fix %O handling for secure temporary file
creation.
From-SVN: r21124
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/gcc.c | 19 |
1 files changed, 15 insertions, 4 deletions
@@ -3610,10 +3610,21 @@ do_spec_1 (spec, inswitch, soft_matched_part) t->next = temp_names; temp_names = t; } - t->length = p - suffix; - t->suffix = save_string (suffix, p - suffix); - t->unique = (c != 'g'); - temp_filename = make_temp_file (suffix); + if (strncmp (suffix, "%O", 2) == 0) + { + t->length = strlen(OBJECT_SUFFIX); + t->suffix = save_string (OBJECT_SUFFIX, + strlen(OBJECT_SUFFIX)); + t->unique = (c != 'g'); + temp_filename = make_temp_file (OBJECT_SUFFIX); + } + else + { + t->length = p - suffix; + t->suffix = save_string (suffix, p - suffix); + t->unique = (c != 'g'); + temp_filename = make_temp_file (suffix); + } temp_filename_length = strlen (temp_filename); t->filename = temp_filename; t->filename_length = temp_filename_length; |