- return strcmp (m1->tag, m2->tag) ? FALSE : TRUE;
+ /* Since tags are unique, we can compare the pointers themselves. */
+ return STRUNIQ_EQ (m1->tag, m2->tag);
- (Hash_hasher) hash_symbol_t,
- (Hash_comparator) hash_compare_symbol_t,
+ (Hash_hasher) hash_symbol,
+ (Hash_comparator) hash_compare_symbol,
- key = quotearg_style (escape_quoting_style, key);
- (const char *) probe.tag = key;
+ key = struniq_new (quotearg_style (escape_quoting_style, key));
+ *(char const **) &probe.tag = key;
if (this->user_token_number > max_user_token_number)
max_user_token_number = this->user_token_number;
if (this->user_token_number == 256)
if (this->user_token_number > max_user_token_number)
max_user_token_number = this->user_token_number;
if (this->user_token_number == 256)