muscle: factor the handling of used variables

* src/muscle-tab.c (muscle_percent_define_use): New, corresponding
to b4_percent_define_use.
Use it where appropriate.
This commit is contained in:
Akim Demaille
2013-04-14 10:12:36 +02:00
parent c98b5143b0
commit 0f9583b69b

View File

@@ -550,16 +550,21 @@ muscle_percent_define_ensure (char const *variable, location loc,
MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE);
}
/* Mark %define VARIABLE as used. */
static void
muscle_percent_define_use (char const *variable)
{
muscle_insert (muscle_name (variable, "bison_variables"), "");
}
char *
muscle_percent_define_get (char const *variable)
{
uniqstr name = muscle_name (variable, NULL);
uniqstr usage_name = muscle_name (variable, "bison_variables");
char *value = string_decode (name);
if (!value)
value = xstrdup ("");
muscle_insert (usage_name, "");
muscle_percent_define_use (variable);
return value;
}
@@ -587,15 +592,13 @@ muscle_percent_define_get_syncline (char const *variable)
bool
muscle_percent_define_ifdef (char const *variable)
{
char const *value = muscle_find_const (muscle_name (variable, NULL));
if (value)
if (muscle_find_const (muscle_name (variable, NULL)))
{
uniqstr usage_name = muscle_name (variable, "bison_variables");
muscle_insert (usage_name, "");
muscle_percent_define_use (variable);
return true;
}
return false;
else
return false;
}
bool