summaryrefslogtreecommitdiff
path: root/gcc/c-opts.c
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2003-03-10 20:02:27 +0000
committerZack Weinberg <zack@gcc.gnu.org>2003-03-10 20:02:27 +0000
commit529997387b584eb172b1806e712fc0f74fb92976 (patch)
tree7e60f07d5aac90eff7cdefd4f1e1e918caafe81e /gcc/c-opts.c
parenta489d8b0846d82e25947100033fc336fd8c2085a (diff)
downloadgcc-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.c14
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