* src/files.c (tr): Change return type to void.

* src/muscle_tab.c (muscle_insert): Free storage in case muscle_grow
has been called previously for the same key.
(muscle_find): Return storage instead of value so that
--enable-gcc-warnings doesn't produce warnings that the return discards
const.  aver that the value and storage are the same since storage
could potentially be NULL when value is not.
* tests/testsuite.at (AT_CHECK): Treat an unspecified exit value the
same as 0.
This commit is contained in:
Joel E. Denny
2006-11-09 18:17:05 +00:00
parent 7746c8f63d
commit 4502eadc2f
4 changed files with 28 additions and 7 deletions

View File

@@ -1,3 +1,15 @@
2006-11-09 Joel E. Denny <jdenny@ces.clemson.edu>
* src/files.c (tr): Change return type to void.
* src/muscle_tab.c (muscle_insert): Free storage in case muscle_grow
has been called previously for the same key.
(muscle_find): Return storage instead of value so that
--enable-gcc-warnings doesn't produce warnings that the return discards
const. aver that the value and storage are the same since storage
could potentially be NULL when value is not.
* tests/testsuite.at (AT_CHECK): Treat an unspecified exit value the
same as 0.
2006-11-08 Paul Eggert <eggert@cs.ucla.edu>
* bootstrap.conf (excluded_files): Exclude m4/codeset.m4 (undoing

View File

@@ -137,7 +137,7 @@ xfclose (FILE *ptr)
`------------------------------------------------------------------*/
/* In the string S, replace all characters FROM by TO. */
static char *
static void
tr (char *s, char from, char to)
{
for (; *s; s++)

View File

@@ -123,9 +123,11 @@ muscle_insert (char const *key, char const *value)
entry = xmalloc (sizeof *entry);
entry->key = key;
hash_insert (muscle_table, entry);
entry->storage = NULL;
}
else
free (entry->storage);
entry->value = value;
entry->storage = NULL;
}
@@ -207,9 +209,11 @@ void muscle_pair_list_grow (const char *muscle,
obstack_free (&muscle_obstack, pair);
}
/*-------------------------------.
| Find the value of muscle KEY. |
`-------------------------------*/
/*----------------------------------------------------------------------------.
| Find the value of muscle KEY. Abort if muscle_insert was invoked more |
| recently than muscle_grow for KEY since muscle_find can't return a |
| char const *. |
`----------------------------------------------------------------------------*/
char *
muscle_find (const char *key)
@@ -219,7 +223,12 @@ muscle_find (const char *key)
probe.key = key;
result = hash_lookup (muscle_table, &probe);
return result ? result->value : NULL;
if (result)
{
aver (result->value == result->storage);
return result->storage;
}
return NULL;
}

View File

@@ -25,7 +25,7 @@ m4_pushdef([ORIGINAL_AT_CHECK], m4_defn([AT_CHECK]))
m4_pushdef([AT_CHECK],
[ORIGINAL_AT_CHECK(
m4_if(m4_quote(m4_substr(m4_quote($1), 0, 5)), [bison],
m4_if([$2], [0], [],
m4_if([$2], [0], [], [$2], [], [],
[[VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; ]]))$@)])
# Testing resistance to user bugs.