- if ((s = strchr (s, '<')) == NULL || (p = strchr (s, '>')) == NULL)
- return (NULL);
- l = (size_t) (p - s) + 1;
- r = mem_malloc (l + 1);
- memcpy (r, s, l);
- r[l] = 0;
- return (r);
+ if ((s = strchr(s, '<')) == NULL || (p = strchr(s, '>')) == NULL)
+ return NULL;
+ return p_dupstr(s, (p - s) + 1);