+static void initialize_cb(void)
+{
+#if ENABLE_NLS
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ bindtextdomain("bison-runtime", BISON_LOCALEDIR);
+#endif
+ set_err(CDECL__ENOMEM, &err_no_mem);
+ gl_tls_key_init(tls_key, free_err);
+}
+
+static void *alloc_err_state(void *old, size_t buf_size)
+{
+ struct err_state *state;
+ void *p;
+
+ state = p = realloc(old, offsetof(struct err_state, str) + buf_size);
+ if (state) {
+ state->nstr = buf_size;
+ } else if (old) {
+ /* Failed allocation, but existing state is still good */
+ p = old;
+ } else {
+ /* Failed allocation, no existing state */
+ p = &err_no_mem;