* src/muscle_tab.c (muscle_percent_define_invalid_value): Replace

with...
(muscle_percent_define_check_values): ... this more helpful function.
Again, it's not used yet, but it will be.
* src/muscle_tab.h: Likewise.
This commit is contained in:
Joel E. Denny
2007-05-29 03:06:34 +00:00
parent 2a6b783def
commit b1a8161341
3 changed files with 53 additions and 9 deletions

View File

@@ -507,14 +507,43 @@ muscle_percent_define_default (char const *variable, char const *value)
}
void
muscle_percent_define_invalid_value (char const *variable)
muscle_percent_define_check_values (char const * const *values)
{
char const *loc_name;
MUSCLE_USER_NAME_CONVERT (loc_name, "percent_define_loc(", variable, ")");
complain_at(muscle_location_decode (loc_name),
_("invalid value for %%define variable `%s'"), variable);
}
for (; *values; ++values)
{
char const *variable = *values;
char const *name;
char const *loc_name;
char *value;
MUSCLE_USER_NAME_CONVERT (name, "percent_define(", variable, ")");
MUSCLE_USER_NAME_CONVERT (loc_name, "percent_define_loc(", variable, ")");
value = muscle_string_decode (name);
if (value)
{
bool valid = false;
for (++values; *values; ++values)
{
if (0 == strcmp (value, *values))
{
valid = true;
while (*values)
++values;
break;
}
}
if (!valid)
complain_at(muscle_location_decode (loc_name),
_("invalid value for %%define variable `%s': `%s'"),
variable, value);
free (value);
}
else
fatal(_("undefined %%define variable `%s' passed to muscle_percent_define_check_values"),
variable);
}
}
void
muscle_percent_code_grow (char const *qualifier, location qualifier_loc,