| struniq_t -- pointers to unique copies of C strings. |
`------------------------------------------------------*/
-typedef char *struniq_t;
+typedef const char *struniq_t;
/* Return the struniq for S. */
-const struniq_t struniq_new (const char *s);
+struniq_t struniq_new (const char *s);
+
+/* Two struniq have the same value iff they are the same. */
+#define STRUNIQ_EQ(S1, S2) ((S1) == (S2))
/*--------------------------------------.
| Initializing, destroying, debugging. |
/* Create the string table. */
void struniqs_new (void);
+/* Die if S is not a struniq. */
+void struniq_assert (const char *s);
+
/* Free all the memory allocated for symbols. */
void struniqs_free (void);