- i+= 5;
- po = i;
- while (i < o->size && !strchr("\r\n", o->buf[i]))
- i++;
- hr->version = (char *) odr_malloc(o, i - po + 1);
- memcpy(hr->version, o->buf + po, i - po);
- hr->version[i - po] = '\0';
- /* headers */
- if (i < o->size-1 && o->buf[i] == '\r')
+ hr->path = odr_strdupn(o, buf + po, lspace - po);
+ hr->version = odr_strdupn(o, buf + lspace + 6, i - (lspace + 6));
+ if (i < size-1 && buf[i] == '\r')