--------------------- PatchSet 10259 Date: 2007/12/16 14:52:31 Author: adri Branch: s27_adri Tag: (none) Log: Phase 1 of removing this strBuf() - push it as close to the routine doing the work as possible. There's only one user and it uses a HTTP Header string. Members: src/HttpHdrContRange.c:1.6->1.6.58.1 src/HttpHeader.c:1.28.6.1.4.18->1.28.6.1.4.19 src/protos.h:1.146.2.4.4.21->1.146.2.4.4.22 Index: squid/src/HttpHdrContRange.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/HttpHdrContRange.c,v retrieving revision 1.6 retrieving revision 1.6.58.1 diff -u -r1.6 -r1.6.58.1 --- squid/src/HttpHdrContRange.c 28 Apr 2006 11:10:49 -0000 1.6 +++ squid/src/HttpHdrContRange.c 16 Dec 2007 14:52:31 -0000 1.6.58.1 @@ -1,6 +1,6 @@ /* - * $Id: HttpHdrContRange.c,v 1.6 2006/04/28 11:10:49 squidadm Exp $ + * $Id: HttpHdrContRange.c,v 1.6.58.1 2007/12/16 14:52:31 adri Exp $ * * DEBUG: section 68 HTTP Content-Range Header * AUTHOR: Alex Rousskov @@ -119,10 +119,10 @@ } HttpHdrContRange * -httpHdrContRangeParseCreate(const char *str) +httpHdrContRangeParseCreate(String s) { HttpHdrContRange *r = httpHdrContRangeCreate(); - if (!httpHdrContRangeParseInit(r, str)) { + if (!httpHdrContRangeParseInit(r, s)) { httpHdrContRangeDestroy(r); r = NULL; } @@ -131,8 +131,9 @@ /* returns true if ranges are valid; inits HttpHdrContRange */ int -httpHdrContRangeParseInit(HttpHdrContRange * range, const char *str) +httpHdrContRangeParseInit(HttpHdrContRange * range, String s) { + const char *str = strBuf(s); const char *p; assert(range && str); debug(68, 8) ("parsing content-range field: '%s'\n", str); Index: squid/src/HttpHeader.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/HttpHeader.c,v retrieving revision 1.28.6.1.4.18 retrieving revision 1.28.6.1.4.19 diff -u -r1.28.6.1.4.18 -r1.28.6.1.4.19 --- squid/src/HttpHeader.c 16 Dec 2007 14:25:57 -0000 1.28.6.1.4.18 +++ squid/src/HttpHeader.c 16 Dec 2007 14:52:31 -0000 1.28.6.1.4.19 @@ -1,6 +1,6 @@ /* - * $Id: HttpHeader.c,v 1.28.6.1.4.18 2007/12/16 14:25:57 adri Exp $ + * $Id: HttpHeader.c,v 1.28.6.1.4.19 2007/12/16 14:52:31 adri Exp $ * * DEBUG: section 55 HTTP Header * AUTHOR: Alex Rousskov @@ -1166,7 +1166,7 @@ HttpHdrContRange *cr = NULL; HttpHeaderEntry *e; if ((e = httpHeaderFindEntry(hdr, HDR_CONTENT_RANGE))) { - cr = httpHdrContRangeParseCreate(strBuf(e->value)); + cr = httpHdrContRangeParseCreate(e->value); httpHeaderNoteParsedEntry(e->id, e->value, !cr); } return cr; Index: squid/src/protos.h =================================================================== RCS file: /cvsroot/squid-sf//squid/src/protos.h,v retrieving revision 1.146.2.4.4.21 retrieving revision 1.146.2.4.4.22 diff -u -r1.146.2.4.4.21 -r1.146.2.4.4.22 --- squid/src/protos.h 16 Dec 2007 14:25:57 -0000 1.146.2.4.4.21 +++ squid/src/protos.h 16 Dec 2007 14:52:31 -0000 1.146.2.4.4.22 @@ -1,6 +1,6 @@ /* - * $Id: protos.h,v 1.146.2.4.4.21 2007/12/16 14:25:57 adri Exp $ + * $Id: protos.h,v 1.146.2.4.4.22 2007/12/16 14:52:31 adri Exp $ * * * SQUID Web Proxy Cache http://www.squid-cache.org/ @@ -374,9 +374,9 @@ /* Http Content Range Header Field */ extern HttpHdrContRange *httpHdrContRangeCreate(void); -extern HttpHdrContRange *httpHdrContRangeParseCreate(const char *crange_spec); +extern HttpHdrContRange *httpHdrContRangeParseCreate(String s); /* returns true if range is valid; inits HttpHdrContRange */ -extern int httpHdrContRangeParseInit(HttpHdrContRange * crange, const char *crange_spec); +extern int httpHdrContRangeParseInit(HttpHdrContRange * crange, String s); extern void httpHdrContRangeDestroy(HttpHdrContRange * crange); extern HttpHdrContRange *httpHdrContRangeDup(const HttpHdrContRange * crange); extern void httpHdrContRangePackInto(const HttpHdrContRange * crange, Packer * p);