diff options
Diffstat (limited to 'gcc/prefix.c')
-rw-r--r-- | gcc/prefix.c | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/gcc/prefix.c b/gcc/prefix.c index 778600bff8d..e5ca9239410 100644 --- a/gcc/prefix.c +++ b/gcc/prefix.c @@ -1,5 +1,5 @@ /* Utility to update paths from internal to external forms. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of GNU CC. @@ -68,15 +68,13 @@ Boston, MA 02111-1307, USA. */ #ifdef _WIN32 #include <windows.h> #endif +#include "prefix.h" -#include "gansidecl.h" +static const char *std_prefix = PREFIX; -static char *std_prefix = PREFIX; - -static char *get_key_value PROTO((char *)); -static char *translate_name PROTO((char *)); -static char *concat PVPROTO((char *, ...)); -static char *save_string PROTO((char *, int)); +static const char *get_key_value PROTO((char *)); +static const char *translate_name PROTO((const char *)); +static char *save_string PROTO((const char *, int)); #ifdef _WIN32 static char *lookup_key PROTO((char *)); @@ -85,11 +83,11 @@ static HKEY reg_key = (HKEY) INVALID_HANDLE_VALUE; /* Given KEY, as above, return its value. */ -static char * +static const char * get_key_value (key) char *key; { - char *prefix = 0; + const char *prefix = 0; char *temp = 0; #ifdef _WIN32 @@ -112,23 +110,23 @@ get_key_value (key) This function is based on the one in libiberty. */ -static char * -concat VPROTO((char *first, ...)) +char * +concat VPROTO((const char *first, ...)) { register int length; register char *newstr; register char *end; - register char *arg; + register const char *arg; va_list args; -#ifndef __STDC__ - char *first; +#ifndef ANSI_PROTOTYPES + const char *first; #endif /* First compute the size of the result and get sufficient memory. */ VA_START (args, first); -#ifndef __STDC__ - first = va_arg (args, char *); +#ifndef ANSI_PROTOTYPES + first = va_arg (args, const char *); #endif arg = first; @@ -137,7 +135,7 @@ concat VPROTO((char *first, ...)) while (arg != 0) { length += strlen (arg); - arg = va_arg (args, char *); + arg = va_arg (args, const char *); } newstr = (char *) malloc (length + 1); @@ -146,7 +144,7 @@ concat VPROTO((char *first, ...)) /* Now copy the individual pieces to the result string. */ VA_START (args, first); -#ifndef __STDC__ +#ifndef ANSI_PROTOTYPES first = va_arg (args, char *); #endif @@ -156,7 +154,7 @@ concat VPROTO((char *first, ...)) { while (*arg) *end++ = *arg++; - arg = va_arg (args, char *); + arg = va_arg (args, const char *); } *end = '\000'; va_end (args); @@ -168,10 +166,10 @@ concat VPROTO((char *first, ...)) static char * save_string (s, len) - char *s; - int len; + const char *s; + int len; { - register char *result = (char *) malloc (len + 1); + register char *result = xmalloc (len + 1); bcopy (s, result, len); result[len] = 0; @@ -230,12 +228,13 @@ lookup_key (key) /* If NAME starts with a '@' or '$', apply the translation rules above and return a new name. Otherwise, return the given name. */ -static char * +static const char * translate_name (name) - char *name; + const char *name; { char code = name[0]; - char *key, *prefix = 0; + char *key; + const char *prefix = 0; int keylen; if (code != '@' && code != '$') @@ -275,8 +274,9 @@ translate_name (name) #endif ) { - prefix = save_string (prefix, strlen (prefix)); - prefix[strlen (prefix) - 1] = 0; + char * temp = save_string (prefix, strlen (prefix)); + temp[strlen (temp) - 1] = 0; + prefix = temp; } return concat (prefix, name, NULL_PTR); @@ -284,10 +284,10 @@ translate_name (name) /* Update PATH using KEY if PATH starts with PREFIX. */ -char * +const char * update_path (path, key) - char *path; - char *key; + const char *path; + const char *key; { if (! strncmp (path, std_prefix, strlen (std_prefix)) && key != 0) { @@ -319,8 +319,8 @@ update_path (path, key) /* Reset the standard prefix */ void set_std_prefix (prefix, len) - char *prefix; - int len; + const char *prefix; + int len; { std_prefix = save_string (prefix, len); } |