{
public:
Output_merge_string()
- : Output_merge_base(sizeof(Char_type)), stringpool_(false), hashtable_()
- { }
+ : Output_merge_base(sizeof(Char_type)), stringpool_(), hashtable_()
+ { this->stringpool_.set_no_zero_null(); }
// Add an input section.
bool
{
template<typename Stringpool_char>
-Stringpool_template<Stringpool_char>::Stringpool_template(bool zero_null)
+Stringpool_template<Stringpool_char>::Stringpool_template()
: string_set_(), strings_(), strtab_size_(0), next_index_(1),
- zero_null_(zero_null)
+ zero_null_(true)
{
}
// is never a valid key value.
typedef size_t Key;
- // Create a Stringpool. ZERO_NULL is true if we should reserve
- // offset 0 to hold the empty string when converting the stringpool
- // to a string table. ZERO_NULL should be true if you want a proper
- // ELF SHT_STRTAB section.
- Stringpool_template(bool zero_null = true);
+ // Create a Stringpool.
+ Stringpool_template();
~Stringpool_template();
+ // Indicate that we should not reserve offset 0 to hold the empty
+ // string when converting the stringpool to a string table. This
+ // should not be called for a proper ELF SHT_STRTAB section.
+ void
+ set_no_zero_null()
+ { this->zero_null_ = false; }
+
// Add the string S to the pool. This returns a canonical permanent
// pointer to the string in the pool. If PKEY is not NULL, this
// sets *PKEY to the key for the string.