+2004-08-07 Florian Krohm <florian@edamail.fishkill.ibm.com>
+
+ * src/scan-gram.l (handle_syncline): Use uniqstr_new not xstrdup.
+
+ * src/location.h (struct): The file member is a uniqstr.
+ (equal_boundaries): Use UNIQSTR_EQ for comparison.
+
2004-07-22 Paul Eggert <eggert@cs.ucla.edu>
Fix bug with non-%union parsers that have printers or destructors,
/* Locations for Bison
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
#ifndef LOCATION_H_
# define LOCATION_H_
+# include "uniqstr.h"
+
/* A boundary between two characters. */
typedef struct
{
/* The name of the file that contains the boundary. */
- char const *file;
+ uniqstr file;
/* The (origin-1) line that contains the boundary. */
int line;
{
return (a.column == b.column
&& a.line == b.line
- && a.file == b.file);
+ && UNIQSTR_EQ (a.file, b.file));
}
/* A location, that is, a region of source code. */
const char *file = NULL;
file = strchr (args, '"') + 1;
*strchr (file, '"') = 0;
- scanner_cursor.file = current_file = xstrdup (file);
+ scanner_cursor.file = current_file = uniqstr_new (file);
scanner_cursor.line = lineno;
scanner_cursor.column = 1;
}