ChangeLog, subst.c:

subst.c (replace_string): Fix replace_string so that it correctly
  	handles replacing a substitution variable with a zero-length string.
bitmap-optimize
Theodore Ts'o 2001-04-17 05:05:37 +00:00
parent d6a27e0048
commit 913c4e9f14
2 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2001-04-17 Theodore Tso <tytso@valinux.com>
* subst.c (replace_string): Fix replace_string so that it
correctly handles replacing a substitution variable with a
zero-length string.
2001-01-14 Theodore Ts'o <tytso@valinux.com>
* gcc-wall-cleanup: Remove additional annoying warning messages

View File

@ -108,7 +108,9 @@ static void replace_string(char *begin, char *end, char *newstr)
replace_len = strlen(newstr);
len = end - begin;
if (replace_len != len+1)
if (replace_len == 0)
memmove(begin, end+1, strlen(end)+1);
else if (replace_len != len+1)
memmove(end+(replace_len-len-1), end,
strlen(end)+1);
memcpy(begin, newstr, replace_len);
@ -248,7 +250,7 @@ static void parse_config_file(FILE *f)
if (!isspace(*cp))
break;
#if 0
printf("Substitute: '%s' for '%s'\n", ptr, cp);
printf("Substitute: '%s' for '%s'\n", ptr, cp ? cp : "<NULL>");
#endif
add_subst(ptr, cp);
}