- if (!state || state->nstr < need_len) {
- struct err_state *tmp;
-
- tmp = realloc(state, sizeof *state + need_len);
- if (!tmp) {
- /* Re-use the existing state buffer, if any. */
- if (state)
- state->err = err_no_mem.err;
- else
- state = &err_no_mem;
-
- gl_tls_set(tls_key, state);
- return;
- }