diff options
author | Zack Weinberg <zack@gcc.gnu.org> | 2003-03-10 20:02:27 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2003-03-10 20:02:27 +0000 |
commit | 529997387b584eb172b1806e712fc0f74fb92976 (patch) | |
tree | 7e60f07d5aac90eff7cdefd4f1e1e918caafe81e /gcc/c-opts.c | |
parent | a489d8b0846d82e25947100033fc336fd8c2085a (diff) | |
download | gcc-529997387b584eb172b1806e712fc0f74fb92976.tar.gz |
c-opts.c (add_prefixed_path): Don't use concat.
* c-opts.c (add_prefixed_path): Don't use concat. When
prefixing with cpp_GCC_INCLUDE_DIR, copy only the first
cpp_GCC_INCLUDE_DIR_len characters.
From-SVN: r64114
Diffstat (limited to 'gcc/c-opts.c')
-rw-r--r-- | gcc/c-opts.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/gcc/c-opts.c b/gcc/c-opts.c index ba075f63c20..a06f0fe88d9 100644 --- a/gcc/c-opts.c +++ b/gcc/c-opts.c @@ -1701,10 +1701,20 @@ add_prefixed_path (suffix, chain) const char *suffix; size_t chain; { + char *path; const char *prefix; + size_t prefix_len, suffix_len; - prefix = iprefix ? iprefix: cpp_GCC_INCLUDE_DIR; - add_path (concat (prefix, suffix), chain, 0); + suffix_len = strlen (suffix); + prefix = iprefix ? iprefix : cpp_GCC_INCLUDE_DIR; + prefix_len = iprefix ? strlen (iprefix) : cpp_GCC_INCLUDE_DIR_len; + + path = xmalloc (prefix_len + suffix_len + 1); + memcpy (path, prefix, prefix_len); + memcpy (path + prefix_len, suffix, suffix_len); + path[prefix_len + suffix_len] = '\0'; + + add_path (path, chain, 0); } /* Set the C 89 standard (with 1994 amendments if C94, without GNU |