variant: produce stable results

Improve the output by ensuring a well defined order for type switches.

* src/uniqstr.h: Style changes for macro arguments.
(UNIQSTR_CMP): Replace by...
(uniqstr_cmp): this.
* src/uniqstr.c (uniqstr_cmp): New.
Produce well defined results.
* src/output.c: Use it.
This commit is contained in:
Akim Demaille
2012-12-22 10:16:49 +01:00
parent e38106582f
commit 55439a1cea
3 changed files with 17 additions and 6 deletions

View File

@@ -284,10 +284,10 @@ prepare_states (void)
static int
symbol_type_name_cmp (const symbol **lhs, const symbol **rhs)
{
int res = UNIQSTR_CMP((*lhs)->type_name, (*rhs)->type_name);
if (res)
return res;
return (*lhs)->number - (*rhs)->number;
int res = uniqstr_cmp ((*lhs)->type_name, (*rhs)->type_name);
if (!res)
res = (*lhs)->number - (*rhs)->number;
return res;
}