char *pstrdup(struct pool *p, const char *s) { char *res; size_t len; if (!s) return NULL; len = strlen(s) + 1; res = palloc(p, len); sstrncpy(res, s, len); return res; }