]> git.saurik.com Git - bison.git/blobdiff - src/uniqstr.c
yacc.c: fix broken union when api.value.type=union and %defines are used
[bison.git] / src / uniqstr.c
index 161b24d4ea957ef8cbc1d3ee4b10a87ef4af2a14..1dfed26955292c90334d36f590bfc06c5a3e1660 100644 (file)
@@ -1,6 +1,6 @@
 /* Keep a unique copy of strings.
 
-   Copyright (C) 2002-2005, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2002-2005, 2009-2014 Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
 
@@ -77,7 +77,8 @@ uniqstr_vsprintf (char const *format, ...)
 void
 uniqstr_assert (char const *str)
 {
-  if (!hash_lookup (uniqstrs_table, str))
+  uniqstr s = hash_lookup (uniqstrs_table, str);
+  if (!s || s != str)
     {
       error (0, 0,
              "not a uniqstr: %s", quotearg (str));
@@ -105,7 +106,7 @@ uniqstr_print_processor (void *ustr, void *null ATTRIBUTE_UNUSED)
 
 
 int
-uniqstr_cmp(uniqstr l, uniqstr r)
+uniqstr_cmp (uniqstr l, uniqstr r)
 {
   return (l == r ? 0
           : !l ? -1