From: wessels <> Date: Sat, 17 Sep 2005 11:50:07 +0000 (+0000) Subject: Finish turning MemBuf into a full-fledged class. Almost all of the X-Git-Tag: SQUID_3_0_PRE4~608 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2fe7eff994f9cb87b4211714d77c200b5ebbcb97;p=thirdparty%2Fsquid.git Finish turning MemBuf into a full-fledged class. Almost all of the former standalone functions are now methods of MemBuf class. The next step may be to merge init() and clean() methods into the constructor and destructor. --- diff --git a/src/ACLIP.cc b/src/ACLIP.cc index 398a38ddb2..c60aac157a 100644 --- a/src/ACLIP.cc +++ b/src/ACLIP.cc @@ -56,18 +56,18 @@ ACLIP::DumpIpListWalkee(acl_ip_data * const & ip, void *state) { MemBuf mb; wordlist **W = static_cast(state); - memBufDefInit(&mb); - memBufPrintf(&mb, "%s", inet_ntoa(ip->addr1)); + mb.init(); + mb.Printf("%s", inet_ntoa(ip->addr1)); if (ip->addr2.s_addr != any_addr.s_addr) - memBufPrintf(&mb, "-%s", inet_ntoa(ip->addr2)); + mb.Printf("-%s", inet_ntoa(ip->addr2)); if (ip->mask.s_addr != no_addr.s_addr) - memBufPrintf(&mb, "/%s", inet_ntoa(ip->mask)); + mb.Printf("/%s", inet_ntoa(ip->mask)); wordlistAdd(W, mb.buf); - memBufClean(&mb); + mb.clean(); } /* diff --git a/src/HttpBody.cc b/src/HttpBody.cc index 314e9d9f58..cdba41d89f 100644 --- a/src/HttpBody.cc +++ b/src/HttpBody.cc @@ -1,6 +1,6 @@ /* - * $Id: HttpBody.cc,v 1.23 2005/09/17 04:53:44 wessels Exp $ + * $Id: HttpBody.cc,v 1.24 2005/09/17 05:50:07 wessels Exp $ * * DEBUG: section 56 HTTP Message Body * AUTHOR: Alex Rousskov @@ -48,8 +48,8 @@ httpBodyClean(HttpBody * body) { assert(body); - if (!memBufIsNull(body->mb)) - memBufClean(body->mb); + if (!body->mb->isNull()) + body->mb->clean(); delete body->mb; @@ -61,7 +61,7 @@ void httpBodySet(HttpBody * body, MemBuf * mb) { assert(body); - assert(memBufIsNull(body->mb)); + assert(body->mb->isNull()); delete body->mb; body->mb = mb; /* absorb */ } diff --git a/src/HttpHeader.cc b/src/HttpHeader.cc index 4a56b0495d..253ac32476 100644 --- a/src/HttpHeader.cc +++ b/src/HttpHeader.cc @@ -1,6 +1,6 @@ /* - * $Id: HttpHeader.cc,v 1.107 2005/09/17 04:53:44 wessels Exp $ + * $Id: HttpHeader.cc,v 1.108 2005/09/17 05:50:07 wessels Exp $ * * DEBUG: section 55 HTTP Header * AUTHOR: Alex Rousskov @@ -1012,14 +1012,14 @@ httpHeaderPutCc(HttpHeader * hdr, const HttpHdrCc * cc) /* remove old directives if any */ httpHeaderDelById(hdr, HDR_CACHE_CONTROL); /* pack into mb */ - memBufDefInit(&mb); + mb.init(); packerToMemInit(&p, &mb); httpHdrCcPackInto(cc, &p); /* put */ httpHeaderAddEntry(hdr, httpHeaderEntryCreate(HDR_CACHE_CONTROL, NULL, mb.buf)); /* cleanup */ packerClean(&p); - memBufClean(&mb); + mb.clean(); } void @@ -1031,14 +1031,14 @@ httpHeaderPutContRange(HttpHeader * hdr, const HttpHdrContRange * cr) /* remove old directives if any */ httpHeaderDelById(hdr, HDR_CONTENT_RANGE); /* pack into mb */ - memBufDefInit(&mb); + mb.init(); packerToMemInit(&p, &mb); httpHdrContRangePackInto(cr, &p); /* put */ httpHeaderAddEntry(hdr, httpHeaderEntryCreate(HDR_CONTENT_RANGE, NULL, mb.buf)); /* cleanup */ packerClean(&p); - memBufClean(&mb); + mb.clean(); } void @@ -1050,14 +1050,14 @@ httpHeaderPutRange(HttpHeader * hdr, const HttpHdrRange * range) /* remove old directives if any */ httpHeaderDelById(hdr, HDR_RANGE); /* pack into mb */ - memBufDefInit(&mb); + mb.init(); packerToMemInit(&p, &mb); range->packInto(&p); /* put */ httpHeaderAddEntry(hdr, httpHeaderEntryCreate(HDR_RANGE, NULL, mb.buf)); /* cleanup */ packerClean(&p); - memBufClean(&mb); + mb.clean(); } void @@ -1069,14 +1069,14 @@ httpHeaderPutSc(HttpHeader *hdr, const HttpHdrSc *sc) /* remove old directives if any */ httpHeaderDelById(hdr, HDR_RANGE); /* pack into mb */ - memBufDefInit(&mb); + mb.init(); packerToMemInit(&p, &mb); httpHdrScPackInto(sc, &p); /* put */ httpHeaderAddEntry(hdr, httpHeaderEntryCreate(HDR_SURROGATE_CONTROL, NULL, mb.buf)); /* cleanup */ packerClean(&p); - memBufClean(&mb); + mb.clean(); } /* add extension header (these fields are not parsed/analyzed/joined, etc.) */ diff --git a/src/HttpHeaderTools.cc b/src/HttpHeaderTools.cc index dbe854a7a4..9b223e3fcc 100644 --- a/src/HttpHeaderTools.cc +++ b/src/HttpHeaderTools.cc @@ -1,6 +1,6 @@ /* - * $Id: HttpHeaderTools.cc,v 1.49 2005/09/17 04:53:44 wessels Exp $ + * $Id: HttpHeaderTools.cc,v 1.50 2005/09/17 05:50:07 wessels Exp $ * * DEBUG: section 66 HTTP Header Tools * AUTHOR: Alex Rousskov @@ -136,10 +136,10 @@ static void httpHeaderPutStrvf(HttpHeader * hdr, http_hdr_type id, const char *fmt, va_list vargs) { MemBuf mb; - memBufDefInit(&mb); - memBufVPrintf(&mb, fmt, vargs); + mb.init(); + mb.vPrintf(fmt, vargs); httpHeaderPutStr(hdr, id, mb.buf); - memBufClean(&mb); + mb.clean(); } @@ -441,7 +441,7 @@ httpHeaderTestParser(const char *hstr) } /* we think that we parsed it, veryfy */ - memBufDefInit(&mb); + mb.init(); packerToMemInit(&p, &mb); @@ -455,7 +455,7 @@ httpHeaderTestParser(const char *hstr) httpHeaderClean(&hdr); packerClean(&p); - memBufClean(&mb); + mb.clean(); } #endif diff --git a/src/HttpReply.cc b/src/HttpReply.cc index eb77470e09..d464d822d3 100644 --- a/src/HttpReply.cc +++ b/src/HttpReply.cc @@ -1,6 +1,6 @@ /* - * $Id: HttpReply.cc,v 1.76 2005/09/17 04:53:44 wessels Exp $ + * $Id: HttpReply.cc,v 1.77 2005/09/17 05:50:07 wessels Exp $ * * DEBUG: section 58 HTTP Reply (Response) * AUTHOR: Alex Rousskov @@ -157,11 +157,11 @@ httpReplyParse(HttpReply * rep, const char *buf, ssize_t end) httpReplyReset(rep); /* put a string terminator. s is how many bytes to touch in * 'buf' including the terminating NULL. */ - memBufDefInit(&mb); - memBufAppend(&mb, buf, end); - memBufAppend(&mb, "\0", 1); + mb.init(); + mb.append(buf, end); + mb.append("\0", 1); success = rep->httpMsgParseStep(mb.buf, 0); - memBufClean(&mb); + mb.clean(); return success == 1; } @@ -189,7 +189,7 @@ httpReplyPack(const HttpReply * rep) Packer p; assert(rep); - memBufDefInit(mb); + mb->init(); packerToMemInit(&p, mb); httpReplyPackInto(rep, &p); packerClean(&p); diff --git a/src/MemBuf.cc b/src/MemBuf.cc index 5358047b32..1de033a661 100644 --- a/src/MemBuf.cc +++ b/src/MemBuf.cc @@ -1,6 +1,6 @@ /* - * $Id: MemBuf.cc,v 1.40 2005/09/17 05:05:08 wessels Exp $ + * $Id: MemBuf.cc,v 1.41 2005/09/17 05:50:07 wessels Exp $ * * DEBUG: section 59 auto-growing Memory Buffer with printf * AUTHOR: Alex Rousskov @@ -84,17 +84,17 @@ * MemBuf buf; * * -- required init with optional size tuning (see #defines for defaults) - * memBufInit(&buf, initial-size, absolute-maximum); + * buf.init(initial-size, absolute-maximum); * * -- "pack" (no need to handle offsets or check for overflows) - * memBufPrintf(&buf, ...); + * buf.Printf(...); * ... * * -- write * comm_write_mbuf(fd, buf, handler, data); * * -- *iff* you did not give the buffer away, free it yourself - * -- memBufClean(&buf); + * -- buf.clean(); * } */ /* if you have configure you can use this */ @@ -120,34 +120,27 @@ #define MEM_BUF_INIT_SIZE (2*1024) #define MEM_BUF_MAX_SIZE (2*1000*1024*1024) - -/* local routines */ -static void memBufGrow(MemBuf * mb, mb_size_t min_cap); - CBDATA_CLASS_INIT(MemBuf); /* init with defaults */ void -memBufDefInit(MemBuf * mb) +MemBuf::init() { - memBufInit(mb, MEM_BUF_INIT_SIZE, MEM_BUF_MAX_SIZE); + init(MEM_BUF_INIT_SIZE, MEM_BUF_MAX_SIZE); } /* init with specific sizes */ void -memBufInit(MemBuf * mb, mb_size_t szInit, mb_size_t szMax) +MemBuf::init(mb_size_t szInit, mb_size_t szMax) { - assert(mb); assert(szInit > 0 && szMax > 0); - - mb->buf = NULL; - mb->size = 0; - mb->max_capacity = szMax; - mb->capacity = 0; - mb->stolen = 0; - - memBufGrow(mb, szInit); + buf = NULL; + size = 0; + max_capacity = szMax; + capacity = 0; + stolen = 0; + grow(szInit); } /* @@ -155,49 +148,43 @@ memBufInit(MemBuf * mb, mb_size_t szInit, mb_size_t szMax) * memBufFreeFunc */ void -memBufClean(MemBuf * mb) +MemBuf::clean() { - assert(mb); - - if (memBufIsNull(mb)) { + if (isNull()) { // nothing to do } else { - assert(mb->buf); - assert(!mb->stolen); /* not frozen */ + assert(buf); + assert(!stolen); /* not frozen */ - memFreeBuf(mb->capacity, mb->buf); - mb->buf = NULL; - mb->size = mb->capacity = mb->max_capacity = 0; + memFreeBuf(capacity, buf); + buf = NULL; + size = capacity = max_capacity = 0; } } /* cleans the buffer without changing its capacity * if called with a Null buffer, calls memBufDefInit() */ void -memBufReset(MemBuf * mb) +MemBuf::reset() { - assert(mb); - - if (memBufIsNull(mb)) { - memBufDefInit(mb); + if (isNull()) { + init(); } else { - assert(!mb->stolen); /* not frozen */ + assert(!stolen); /* not frozen */ /* reset */ - memset(mb->buf, 0, mb->capacity); - mb->size = 0; + memset(buf, 0, capacity); + size = 0; } } /* unfortunate hack to test if the buffer has been Init()ialized */ int -memBufIsNull(MemBuf * mb) +MemBuf::isNull() { - assert(mb); - - if (!mb->buf && !mb->max_capacity && !mb->capacity && !mb->size) + if (!buf && !max_capacity && !capacity && !size) return 1; /* is null (not initialized) */ - assert(mb->buf && mb->max_capacity && mb->capacity); /* paranoid */ + assert(buf && max_capacity && capacity); /* paranoid */ return 0; } @@ -240,7 +227,7 @@ void MemBuf::append(const char *newContent, mb_size_t sz) if (sz > 0) { if (size + sz + 1 > capacity) - memBufGrow(this, size + sz + 1); + grow(size + sz + 1); assert(size + sz <= capacity); /* paranoid */ @@ -269,54 +256,44 @@ void MemBuf::terminate() *space() = '\0'; } -void -memBufAppend(MemBuf * mb, const char *buf, mb_size_t sz) -{ - assert(mb); - mb->append(buf, sz); -} - /* calls memBufVPrintf */ #if STDC_HEADERS void -memBufPrintf(MemBuf * mb, const char *fmt,...) +MemBuf::Printf(const char *fmt,...) { va_list args; va_start(args, fmt); #else void -memBufPrintf(va_alist) +MemBuf::Printf(va_alist) va_dcl { va_list args; - MemBuf *mb = NULL; - const char *fmt = NULL; mb_size_t sz = 0; va_start(args); - mb = va_arg(args, MemBuf *); - fmt = va_arg(args, char *); + const char *fmt = va_arg(args, char *); #endif - memBufVPrintf(mb, fmt, args); + vPrintf(fmt, args); va_end(args); } -/* vprintf for other printf()'s to use; calls vsnprintf, extends buf if needed */ +/* vPrintf for other printf()'s to use; calls vsnprintf, extends buf if needed */ void -memBufVPrintf(MemBuf * mb, const char *fmt, va_list vargs) { +MemBuf::vPrintf(const char *fmt, va_list vargs) { #ifdef VA_COPY va_list ap; #endif int sz = 0; - assert(mb && fmt); - assert(mb->buf); - assert(!mb->stolen); /* not frozen */ + assert(fmt); + assert(buf); + assert(!stolen); /* not frozen */ /* assert in Grow should quit first, but we do not want to have a scary infinite loop */ - while (mb->capacity <= mb->max_capacity) { - mb_size_t free_space = mb->capacity - mb->size; + while (capacity <= max_capacity) { + mb_size_t free_space = capacity - size; /* put as much as we can */ #ifdef VA_COPY @@ -325,31 +302,31 @@ memBufVPrintf(MemBuf * mb, const char *fmt, va_list vargs) { * incase we loop around and call vsnprintf() again. */ VA_COPY(ap,vargs); - sz = vsnprintf(mb->buf + mb->size, free_space, fmt, ap); + sz = vsnprintf(buf + size, free_space, fmt, ap); va_end(ap); #else /* VA_COPY */ - sz = vsnprintf(mb->buf + mb->size, free_space, fmt, vargs); + sz = vsnprintf(buf + size, free_space, fmt, vargs); #endif /*VA_COPY*/ /* check for possible overflow */ /* snprintf on Linuz returns -1 on overflows */ /* snprintf on FreeBSD returns at least free_space on overflows */ if (sz < 0 || sz >= free_space) - memBufGrow(mb, mb->capacity + 1); + grow(capacity + 1); else break; } - mb->size += sz; + size += sz; /* on Linux and FreeBSD, '\0' is not counted in return value */ /* on XXX it might be counted */ /* check that '\0' is appended and not counted */ - if (!mb->size || mb->buf[mb->size - 1]) { - assert(!mb->buf[mb->size]); + if (!size || buf[size - 1]) { + assert(!buf[size]); } else { - mb->size--; + size--; } } @@ -361,26 +338,24 @@ memBufVPrintf(MemBuf * mb, const char *fmt, va_list vargs) { * (you still can read-access .buf and .size) */ FREE * -memBufFreeFunc(MemBuf * mb) { +MemBuf::freeFunc() { FREE *ff; - assert(mb); - assert(mb->buf); - assert(!mb->stolen); /* not frozen */ + assert(buf); + assert(!stolen); /* not frozen */ - ff = memFreeBufFunc((size_t) mb->capacity); - mb->stolen = 1; /* freeze */ + ff = memFreeBufFunc((size_t) capacity); + stolen = 1; /* freeze */ return ff; } /* grows (doubles) internal buffer to satisfy required minimal capacity */ -static void -memBufGrow(MemBuf * mb, mb_size_t min_cap) { +void +MemBuf::grow(mb_size_t min_cap) { size_t new_cap; size_t buf_cap; - assert(mb); - assert(!mb->stolen); - assert(mb->capacity < min_cap); + assert(!stolen); + assert(capacity < min_cap); /* determine next capacity */ @@ -394,19 +369,19 @@ memBufGrow(MemBuf * mb, mb_size_t min_cap) { } /* last chance to fit before we assert(!overflow) */ - if (new_cap > (size_t) mb->max_capacity) - new_cap = (size_t) mb->max_capacity; + if (new_cap > (size_t) max_capacity) + new_cap = (size_t) max_capacity; - assert(new_cap <= (size_t) mb->max_capacity); /* no overflow */ + assert(new_cap <= (size_t) max_capacity); /* no overflow */ - assert(new_cap > (size_t) mb->capacity); /* progress */ + assert(new_cap > (size_t) capacity); /* progress */ - buf_cap = (size_t) mb->capacity; + buf_cap = (size_t) capacity; - mb->buf = (char *)memReallocBuf(mb->buf, new_cap, &buf_cap); + buf = (char *)memReallocBuf(buf, new_cap, &buf_cap); /* done */ - mb->capacity = (mb_size_t) buf_cap; + capacity = (mb_size_t) buf_cap; } @@ -416,7 +391,7 @@ memBufGrow(MemBuf * mb, mb_size_t min_cap) { void memBufReport(MemBuf * mb) { assert(mb); - memBufPrintf(mb, "memBufReport is not yet implemented @?@\n"); + mb->Printf("memBufReport is not yet implemented @?@\n"); } #ifndef _USE_INLINE_ diff --git a/src/MemBuf.h b/src/MemBuf.h index b1bdcf8350..6308eb8caf 100644 --- a/src/MemBuf.h +++ b/src/MemBuf.h @@ -1,5 +1,5 @@ /* - * $Id: MemBuf.h,v 1.4 2005/09/17 05:05:08 wessels Exp $ + * $Id: MemBuf.h,v 1.5 2005/09/17 05:50:07 wessels Exp $ * * * SQUID Web Proxy Cache http://www.squid-cache.org/ @@ -70,6 +70,39 @@ public: void terminate(); // zero-terminates the buffer w/o increasing contentSize + /* init with specific sizes */ + void init(mb_size_t szInit, mb_size_t szMax); + + /* init with defaults */ + void init(); + + /* cleans mb; last function to call if you do not give .buf away */ + void clean(); + + /* resets mb preserving (or initializing if needed) memory buffer */ + void reset(); + + /* unfirtunate hack to test if the buffer has been Init()ialized */ + int isNull(); + + /* calls snprintf, extends buffer if needed */ + /* note we use Printf instead of printf so the compiler won't */ + /* think we're calling the libc printf() */ +#if STDC_HEADERS + + void Printf(const char *fmt,...) PRINTF_FORMAT_ARG2; +#else + + void Printf(); +#endif + + /* vPrintf for other printf()'s to use */ + void vPrintf(const char *fmt, va_list ap); + + /* returns free() function to be used, _freezes_ the object! */ + FREE *freeFunc(); + + private: /* * private copy constructor and assignment operator generates @@ -79,6 +112,8 @@ private: MemBuf& operator= (const MemBuf& m) {assert(false); return *this;}; + void grow(mb_size_t min_cap); + CBDATA_CLASS2(MemBuf); public: @@ -101,31 +136,7 @@ unsigned stolen: #include "MemBuf.cci" #endif -/* MemBuf */ -/* init with specific sizes */ -SQUIDCEXTERN void memBufInit(MemBuf * mb, mb_size_t szInit, mb_size_t szMax); -/* init with defaults */ -SQUIDCEXTERN void memBufDefInit(MemBuf * mb); -/* cleans mb; last function to call if you do not give .buf away */ -SQUIDCEXTERN void memBufClean(MemBuf * mb); -/* resets mb preserving (or initializing if needed) memory buffer */ -SQUIDCEXTERN void memBufReset(MemBuf * mb); -/* unfirtunate hack to test if the buffer has been Init()ialized */ -SQUIDCEXTERN int memBufIsNull(MemBuf * mb); -/* calls memcpy, appends exactly size bytes, extends buffer if needed */ -SQUIDCEXTERN void memBufAppend(MemBuf * mb, const char *buf, mb_size_t size); -/* calls snprintf, extends buffer if needed */ -#if STDC_HEADERS -SQUIDCEXTERN void -memBufPrintf(MemBuf * mb, const char *fmt,...) PRINTF_FORMAT_ARG2; -#else -SQUIDCEXTERN void memBufPrintf(); -#endif -/* vprintf for other printf()'s to use */ -SQUIDCEXTERN void memBufVPrintf(MemBuf * mb, const char *fmt, va_list ap); /* returns free() function to be used, _freezes_ the object! */ -SQUIDCEXTERN FREE *memBufFreeFunc(MemBuf * mb); -/* puts report on MemBuf _module_ usage into mb */ SQUIDCEXTERN void memBufReport(MemBuf * mb); #endif /* SQUID_MEM_H */ diff --git a/src/MemObject.cc b/src/MemObject.cc index 9085fe8af7..8a41dd2e7b 100644 --- a/src/MemObject.cc +++ b/src/MemObject.cc @@ -1,6 +1,6 @@ /* - * $Id: MemObject.cc,v 1.16 2005/09/17 04:53:44 wessels Exp $ + * $Id: MemObject.cc,v 1.17 2005/09/17 05:50:07 wessels Exp $ * * DEBUG: section 19 Store Memory Primitives * AUTHOR: Robert Collins @@ -217,16 +217,16 @@ struct StoreClientStats : public unary_function void MemObject::stat (MemBuf * mb) const { - memBufPrintf(mb, "\t%s %s\n", - RequestMethodStr[method], log_url); - memBufPrintf(mb, "\tinmem_lo: %d\n", (int) inmem_lo); - memBufPrintf(mb, "\tinmem_hi: %d\n", (int) data_hdr.endOffset()); - memBufPrintf(mb, "\tswapout: %d bytes queued\n", - (int) swapout.queue_offset); + mb->Printf("\t%s %s\n", + RequestMethodStr[method], log_url); + mb->Printf("\tinmem_lo: %d\n", (int) inmem_lo); + mb->Printf("\tinmem_hi: %d\n", (int) data_hdr.endOffset()); + mb->Printf("\tswapout: %d bytes queued\n", + (int) swapout.queue_offset); if (swapout.sio.getRaw()) - memBufPrintf(mb, "\tswapout: %d bytes written\n", - (int) swapout.sio->offset()); + mb->Printf("\tswapout: %d bytes written\n", + (int) swapout.sio->offset()); StoreClientStats statsVisitor(mb); diff --git a/src/Packer.cc b/src/Packer.cc index eea2816206..220be898a6 100644 --- a/src/Packer.cc +++ b/src/Packer.cc @@ -1,6 +1,6 @@ /* - * $Id: Packer.cc,v 1.18 2005/09/17 04:53:44 wessels Exp $ + * $Id: Packer.cc,v 1.19 2005/09/17 05:50:07 wessels Exp $ * * DEBUG: section 60 Packer: A uniform interface to store-like modules * AUTHOR: Alex Rousskov @@ -93,6 +93,19 @@ * warning (e.g., "warning: assignment from incompatible pointer type"). */ +static void +memBufAppend(MemBuf *mb, const char *buf, mb_size_t len) +{ + mb->append(buf, len); +} + +static void +memBufVPrintf(MemBuf * mb, const char *fmt, va_list vargs) +{ + mb->vPrintf(fmt, vargs); +} + + /* append()'s */ static void (*const store_append) (StoreEntry *, const char *, int) = &storeAppend; static void (*const memBuf_append) (MemBuf *, const char *, mb_size_t) = &memBufAppend; diff --git a/src/access_log.cc b/src/access_log.cc index de13a584a5..2cd63257b2 100644 --- a/src/access_log.cc +++ b/src/access_log.cc @@ -1,6 +1,6 @@ /* - * $Id: access_log.cc,v 1.104 2005/09/17 04:53:44 wessels Exp $ + * $Id: access_log.cc,v 1.105 2005/09/17 05:50:07 wessels Exp $ * * DEBUG: section 46 Access Log * AUTHOR: Duane Wessels @@ -509,7 +509,7 @@ accessLogCustom(AccessLogEntry * al, customlog * log) char tmp[1024]; String sb; - memBufReset(&mb); + mb.reset(); lf = log->logFormat; logfile = log->logfile; @@ -728,7 +728,7 @@ accessLogCustom(AccessLogEntry * al, customlog * log) case LFT_SQUID_HIERARCHY: if (al->hier.ping.timedout) - memBufAppend(&mb, "TIMEOUT_", 8); + mb.append("TIMEOUT_", 8); out = hier_strings[al->hier.code]; @@ -856,17 +856,17 @@ accessLogCustom(AccessLogEntry * al, customlog * log) if (fmt->width) { if (fmt->left) - memBufPrintf(&mb, "%-*s", (int) fmt->width, out); + mb.Printf("%-*s", (int) fmt->width, out); else - memBufPrintf(&mb, "%*s", (int) fmt->width, out); + mb.Printf("%*s", (int) fmt->width, out); } else - memBufAppend(&mb, out, strlen(out)); + mb.append(out, strlen(out)); } else { - memBufAppend(&mb, "-", 1); + mb.append("-", 1); } if (fmt->space) - memBufAppend(&mb, " ", 1); + mb.append(" ", 1); sb.clean(); diff --git a/src/cache_cf.cc b/src/cache_cf.cc index 44fa00fdca..434e753fd8 100644 --- a/src/cache_cf.cc +++ b/src/cache_cf.cc @@ -1,6 +1,6 @@ /* - * $Id: cache_cf.cc,v 1.479 2005/09/17 04:53:44 wessels Exp $ + * $Id: cache_cf.cc,v 1.480 2005/09/17 05:50:07 wessels Exp $ * * DEBUG: section 3 Configuration File Parsing * AUTHOR: Harvest Derived @@ -196,7 +196,7 @@ void wordlistCat(const wordlist * w, MemBuf * mb) { while (NULL != w) { - memBufPrintf(mb, "%s\n", w->key); + mb->Printf("%s\n", w->key); w = w->next; } } diff --git a/src/client_side.cc b/src/client_side.cc index 75dad3ee80..09bd6746ab 100644 --- a/src/client_side.cc +++ b/src/client_side.cc @@ -1,6 +1,6 @@ /* - * $Id: client_side.cc,v 1.697 2005/09/17 04:53:44 wessels Exp $ + * $Id: client_side.cc,v 1.698 2005/09/17 05:50:08 wessels Exp $ * * DEBUG: section 33 Client-side Routines * AUTHOR: Duane Wessels @@ -451,12 +451,12 @@ clientPrepareLogWithRequestDetails(HttpRequest * request, AccessLogEntry * aLogE if (Config.onoff.log_mime_hdrs) { Packer p; MemBuf mb; - memBufDefInit(&mb); + mb.init(); packerToMemInit(&p, &mb); httpHeaderPackInto(&request->header, &p); aLogEntry->headers.request = xstrdup(mb.buf); packerClean(&p); - memBufClean(&mb); + mb.clean(); } aLogEntry->http.method = request->method; @@ -805,7 +805,7 @@ ClientSocketContext::sendBody(HttpReply * rep, StoreIOBuffer bodyData) } MemBuf mb; - memBufDefInit(&mb); + mb.init(); packRange(bodyData, &mb); if (mb.contentSize()) @@ -819,7 +819,7 @@ ClientSocketContext::sendBody(HttpReply * rep, StoreIOBuffer bodyData) static void clientPackTermBound(String boundary, MemBuf * mb) { - memBufPrintf(mb, "\r\n--%s--\r\n", boundary.buf()); + mb->Printf("\r\n--%s--\r\n", boundary.buf()); debug(33, 6) ("clientPackTermBound: buf offset: %ld\n", (long int) mb->size); } @@ -835,7 +835,7 @@ clientPackRangeHdr(const HttpReply * rep, const HttpHdrRangeSpec * spec, String /* put boundary */ debug(33, 5) ("clientPackRangeHdr: appending boundary: %s\n", boundary.buf()); /* rfc2046 requires to _prepend_ boundary with ! */ - memBufPrintf(mb, "\r\n--%s\r\n", boundary.buf()); + mb->Printf("\r\n--%s\r\n", boundary.buf()); /* stuff the header with required entries and pack it */ @@ -853,7 +853,7 @@ clientPackRangeHdr(const HttpReply * rep, const HttpHdrRangeSpec * spec, String httpHeaderClean(&hdr); /* append (we packed a header, not a reply) */ - memBufPrintf(mb, "\r\n"); + mb->Printf("\r\n"); } /* @@ -898,7 +898,7 @@ ClientSocketContext::packRange(StoreIOBuffer const &source, MemBuf * mb) noteSentBodyBytes (copy_sz); - memBufAppend(mb, buf, copy_sz); + mb->append(buf, copy_sz); /* * update offsets @@ -958,12 +958,12 @@ ClientHttpRequest::mRangeCLen() assert(memObject()); - memBufDefInit(&mb); + mb.init(); HttpHdrRange::iterator pos = request->range->begin(); while (pos != request->range->end()) { /* account for headers for this range */ - memBufReset(&mb); + mb.reset(); clientPackRangeHdr(memObject()->getReply(), *pos, range_iter.boundary, &mb); clen += mb.size; @@ -977,13 +977,13 @@ ClientHttpRequest::mRangeCLen() } /* account for the terminating boundary */ - memBufReset(&mb); + mb.reset(); clientPackTermBound(range_iter.boundary, &mb); clen += mb.size; - memBufClean(&mb); + mb.clean(); return clen; } @@ -1178,7 +1178,7 @@ ClientSocketContext::sendStartOfMessage(HttpReply * rep, StoreIOBuffer bodyData) size_t length = lengthToSend(bodyData.range()); noteSentBodyBytes (length); - memBufAppend(mb, bodyData.data, length); + mb->append(bodyData.data, length); } else { packRange(bodyData, mb); } diff --git a/src/comm.cc b/src/comm.cc index 273b2311ae..212b9cbebd 100644 --- a/src/comm.cc +++ b/src/comm.cc @@ -1,6 +1,6 @@ /* - * $Id: comm.cc,v 1.410 2005/09/17 04:53:44 wessels Exp $ + * $Id: comm.cc,v 1.411 2005/09/17 05:50:08 wessels Exp $ * * DEBUG: section 5 Socket Functions * AUTHOR: Harvest Derived @@ -2161,7 +2161,7 @@ comm_old_write(int fd, const char *buf, int size, CWCB * handler, void *handler_ /* a wrapper around comm_write to allow for MemBuf to be comm_written in a snap */ void comm_old_write_mbuf(int fd, MemBuf *mb, CWCB * handler, void *handler_data) { - comm_old_write(fd, mb->buf, mb->size, handler, handler_data, memBufFreeFunc(mb)); + comm_old_write(fd, mb->buf, mb->size, handler, handler_data, mb->freeFunc()); } diff --git a/src/disk.cc b/src/disk.cc index b8b1d41674..2cc358a42a 100644 --- a/src/disk.cc +++ b/src/disk.cc @@ -1,6 +1,6 @@ /* - * $Id: disk.cc,v 1.170 2005/09/17 04:53:44 wessels Exp $ + * $Id: disk.cc,v 1.171 2005/09/17 05:50:08 wessels Exp $ * * DEBUG: section 6 Disk I/O Routines * AUTHOR: Harvest Derived @@ -421,7 +421,7 @@ file_write(int fd, void file_write_mbuf(int fd, off_t off, MemBuf mb, DWCB * handler, void *handler_data) { - file_write(fd, off, mb.buf, mb.size, handler, handler_data, memBufFreeFunc(&mb)); + file_write(fd, off, mb.buf, mb.size, handler, handler_data, mb.freeFunc()); } /* Read from FD */ diff --git a/src/dns_internal.cc b/src/dns_internal.cc index e4f077a600..8b859cc79a 100644 --- a/src/dns_internal.cc +++ b/src/dns_internal.cc @@ -1,6 +1,6 @@ /* - * $Id: dns_internal.cc,v 1.81 2005/09/17 04:53:44 wessels Exp $ + * $Id: dns_internal.cc,v 1.82 2005/09/17 05:50:08 wessels Exp $ * * DEBUG: section 78 DNS lookups; interacts with lib/rfc1035.c * AUTHOR: Duane Wessels @@ -594,13 +594,13 @@ idnsSendQueryVC(idns_query * q, int ns) nsvc *vc = nameservers[ns].vc; - memBufReset(vc->queue); + vc->queue->reset(); short head = htons(q->sz); - memBufAppend(vc->queue, (char *)&head, 2); + vc->queue->append((char *)&head, 2); - memBufAppend(vc->queue, q->buf, q->sz); + vc->queue->append(q->buf, q->sz); idnsDoSendQueryVC(vc); } @@ -955,7 +955,7 @@ idnsReadVC(int fd, char *buf, size_t len, comm_err_t flag, int xerrno, void *dat inet_ntoa(nameservers[vc->ns].S.sin_addr)); idnsGrokReply(vc->msg->buf, vc->msg->contentSize()); - memBufClean(vc->msg); + vc->msg->clean(); comm_read(fd, (char *)&vc->msglen, 2 , idnsReadVCHeader, vc); } @@ -985,7 +985,7 @@ idnsReadVCHeader(int fd, char *buf, size_t len, comm_err_t flag, int xerrno, voi vc->msglen = ntohs(vc->msglen); - memBufInit(vc->msg, vc->msglen, vc->msglen); + vc->msg->init(vc->msglen, vc->msglen); comm_read(fd, vc->msg->buf, vc->msglen, idnsReadVC, vc); } diff --git a/src/errorpage.cc b/src/errorpage.cc index 6779ca4f1c..5345c0b0bb 100644 --- a/src/errorpage.cc +++ b/src/errorpage.cc @@ -1,6 +1,6 @@ /* - * $Id: errorpage.cc,v 1.203 2005/09/17 04:53:44 wessels Exp $ + * $Id: errorpage.cc,v 1.204 2005/09/17 05:50:08 wessels Exp $ * * DEBUG: section 4 Error Generation * AUTHOR: Duane Wessels @@ -225,10 +225,10 @@ errorTryLoadText(const char *page_name, const char *dir) return NULL; } - memBufDefInit(&textbuf); + textbuf.init(); while((len = FD_READ_METHOD(fd, buf, sizeof(buf))) > 0) { - memBufAppend(&textbuf, buf, len); + textbuf.append(buf, len); } if (len < 0) { @@ -239,14 +239,14 @@ errorTryLoadText(const char *page_name, const char *dir) file_close(fd); if (strstr(textbuf.buf, "%s") == NULL) - memBufAppend(&textbuf, "%S", 2); /* add signature */ + textbuf.append("%S", 2); /* add signature */ /* Shrink memory size down to exact size. MemBuf has a tencendy * to be rather large.. */ text = xstrdup(textbuf.buf); - memBufClean(&textbuf); + textbuf.clean(); return text; } @@ -486,49 +486,49 @@ errorDump(ErrorState * err, MemBuf * mb) HttpRequest *r = err->request; MemBuf str; const char *p = NULL; /* takes priority over mb if set */ - memBufReset(&str); + str.reset(); /* email subject line */ - memBufPrintf(&str, "CacheErrorInfo - %s", errorPageName(err->type)); - memBufPrintf(mb, "?subject=%s", rfc1738_escape_part(str.buf)); - memBufReset(&str); + str.Printf("CacheErrorInfo - %s", errorPageName(err->type)); + mb->Printf("?subject=%s", rfc1738_escape_part(str.buf)); + str.reset(); /* email body */ - memBufPrintf(&str, "CacheHost: %s\r\n", getMyHostname()); + str.Printf("CacheHost: %s\r\n", getMyHostname()); /* - Err Msgs */ - memBufPrintf(&str, "ErrPage: %s\r\n", errorPageName(err->type)); + str.Printf("ErrPage: %s\r\n", errorPageName(err->type)); if (err->xerrno) { - memBufPrintf(&str, "Err: (%d) %s\r\n", err->xerrno, strerror(err->xerrno)); + str.Printf("Err: (%d) %s\r\n", err->xerrno, strerror(err->xerrno)); } else { - memBufPrintf(&str, "Err: [none]\r\n"); + str.Printf("Err: [none]\r\n"); } if (err->auth_user_request->denyMessage()) - memBufPrintf(&str, "Auth ErrMsg: %s\r\n", err->auth_user_request->denyMessage()); + str.Printf("Auth ErrMsg: %s\r\n", err->auth_user_request->denyMessage()); if (err->dnsserver_msg) { - memBufPrintf(&str, "DNS Server ErrMsg: %s\r\n", err->dnsserver_msg); + str.Printf("DNS Server ErrMsg: %s\r\n", err->dnsserver_msg); } /* - TimeStamp */ - memBufPrintf(&str, "TimeStamp: %s\r\n\r\n", mkrfc1123(squid_curtime)); + str.Printf("TimeStamp: %s\r\n\r\n", mkrfc1123(squid_curtime)); /* - IP stuff */ - memBufPrintf(&str, "ClientIP: %s\r\n", inet_ntoa(err->src_addr)); + str.Printf("ClientIP: %s\r\n", inet_ntoa(err->src_addr)); if (err->host) { - memBufPrintf(&str, "ServerIP: %s\r\n", err->host); + str.Printf("ServerIP: %s\r\n", err->host); } - memBufPrintf(&str, "\r\n"); + str.Printf("\r\n"); /* - HTTP stuff */ - memBufPrintf(&str, "HTTP Request:\r\n"); + str.Printf("HTTP Request:\r\n"); if (NULL != r) { Packer p; - memBufPrintf(&str, "%s %s HTTP/%d.%d\n", - RequestMethodStr[r->method], - r->urlpath.size() ? r->urlpath.buf() : "/", - r->http_ver.major, r->http_ver.minor); + str.Printf("%s %s HTTP/%d.%d\n", + RequestMethodStr[r->method], + r->urlpath.size() ? r->urlpath.buf() : "/", + r->http_ver.major, r->http_ver.minor); packerToMemInit(&p, &str); httpHeaderPackInto(&r->header, &p); packerClean(&p); @@ -538,20 +538,20 @@ errorDump(ErrorState * err, MemBuf * mb) p = "[none]"; } - memBufPrintf(&str, "\r\n"); + str.Printf("\r\n"); /* - FTP stuff */ if (err->ftp.request) { - memBufPrintf(&str, "FTP Request: %s\r\n", err->ftp.request); - memBufPrintf(&str, "FTP Reply: %s\r\n", err->ftp.reply); - memBufPrintf(&str, "FTP Msg: "); + str.Printf("FTP Request: %s\r\n", err->ftp.request); + str.Printf("FTP Reply: %s\r\n", err->ftp.reply); + str.Printf("FTP Msg: "); wordlistCat(err->ftp.server_msg, &str); - memBufPrintf(&str, "\r\n"); + str.Printf("\r\n"); } - memBufPrintf(&str, "\r\n"); - memBufPrintf(mb, "&body=%s", rfc1738_escape_part(str.buf)); - memBufClean(&str); + str.Printf("\r\n"); + mb->Printf("&body=%s", rfc1738_escape_part(str.buf)); + str.clean(); return 0; } @@ -598,7 +598,7 @@ errorConvert(char token, ErrorState * err) const char *p = NULL; /* takes priority over mb if set */ int do_quote = 1; - memBufReset(&mb); + mb.reset(); switch (token) { @@ -623,16 +623,16 @@ errorConvert(char token, ErrorState * err) break; case 'e': - memBufPrintf(&mb, "%d", err->xerrno); + mb.Printf("%d", err->xerrno); break; case 'E': if (err->xerrno) - memBufPrintf(&mb, "(%d) %s", err->xerrno, strerror(err->xerrno)); + mb.Printf("(%d) %s", err->xerrno, strerror(err->xerrno)); else - memBufPrintf(&mb, "[No Error]"); + mb.Printf("[No Error]"); break; @@ -661,7 +661,7 @@ errorConvert(char token, ErrorState * err) break; case 'h': - memBufPrintf(&mb, "%s", getMyHostname()); + mb.Printf("%s", getMyHostname()); break; @@ -671,13 +671,13 @@ errorConvert(char token, ErrorState * err) break; case 'i': - memBufPrintf(&mb, "%s", inet_ntoa(err->src_addr)); + mb.Printf("%s", inet_ntoa(err->src_addr)); break; case 'I': if (err->host) { - memBufPrintf(&mb, "%s", err->host); + mb.Printf("%s", err->host); } else p = "[unknown]"; @@ -685,7 +685,7 @@ errorConvert(char token, ErrorState * err) case 'L': if (Config.errHtmlText) { - memBufPrintf(&mb, "%s", Config.errHtmlText); + mb.Printf("%s", Config.errHtmlText); do_quote = 0; } else p = "[not available]"; @@ -709,7 +709,7 @@ errorConvert(char token, ErrorState * err) case 'p': if (r) { - memBufPrintf(&mb, "%d", (int) r->port); + mb.Printf("%d", (int) r->port); } else { p = "[unknown port]"; } @@ -724,10 +724,10 @@ errorConvert(char token, ErrorState * err) if (NULL != r) { Packer p; - memBufPrintf(&mb, "%s %s HTTP/%d.%d\n", - RequestMethodStr[r->method], - r->urlpath.size() ? r->urlpath.buf() : "/", - r->http_ver.major, r->http_ver.minor); + mb.Printf("%s %s HTTP/%d.%d\n", + RequestMethodStr[r->method], + r->urlpath.size() ? r->urlpath.buf() : "/", + r->http_ver.major, r->http_ver.minor); packerToMemInit(&p, &mb); httpHeaderPackInto(&r->header, &p); packerClean(&p); @@ -750,8 +750,8 @@ errorConvert(char token, ErrorState * err) const int saved_id = err->page_id; err->page_id = ERR_SQUID_SIGNATURE; MemBuf *sign_mb = errorBuildContent(err); - memBufPrintf(&mb, "%s", sign_mb->content()); - memBufClean(sign_mb); + mb.Printf("%s", sign_mb->content()); + sign_mb->clean(); delete sign_mb; err->page_id = saved_id; do_quote = 0; @@ -763,11 +763,11 @@ errorConvert(char token, ErrorState * err) break; case 't': - memBufPrintf(&mb, "%s", mkhttpdlogtime(&squid_curtime)); + mb.Printf("%s", mkhttpdlogtime(&squid_curtime)); break; case 'T': - memBufPrintf(&mb, "%s", mkrfc1123(squid_curtime)); + mb.Printf("%s", mkrfc1123(squid_curtime)); break; case 'U': @@ -781,7 +781,7 @@ errorConvert(char token, ErrorState * err) case 'w': if (Config.adminEmail) - memBufPrintf(&mb, "%s", Config.adminEmail); + mb.Printf("%s", Config.adminEmail); else p = "[unknown]"; @@ -815,7 +815,7 @@ errorConvert(char token, ErrorState * err) break; default: - memBufPrintf(&mb, "%%%c", token); + mb.Printf("%%%c", token); do_quote = 0; @@ -883,19 +883,19 @@ errorBuildContent(ErrorState * err) const char *t; assert(err != NULL); assert(err->page_id > ERR_NONE && err->page_id < error_page_count); - memBufDefInit(content); + content->init(); m = error_text[err->page_id]; assert(m); while ((p = strchr(m, '%'))) { - memBufAppend(content, m, p - m); /* copy */ + content->append(m, p - m); /* copy */ t = errorConvert(*++p, err); /* convert */ - memBufPrintf(content, "%s", t); /* copy */ + content->Printf("%s", t); /* copy */ m = p + 1; /* advance */ } if (*m) - memBufPrintf(content, "%s", m); /* copy tail */ + content->Printf("%s", m); /* copy tail */ assert((size_t)content->contentSize() == strlen(content->content())); diff --git a/src/external_acl.cc b/src/external_acl.cc index 06bad00b62..7ffd19f448 100644 --- a/src/external_acl.cc +++ b/src/external_acl.cc @@ -1,6 +1,6 @@ /* - * $Id: external_acl.cc,v 1.65 2005/09/17 04:53:44 wessels Exp $ + * $Id: external_acl.cc,v 1.66 2005/09/17 05:50:08 wessels Exp $ * * DEBUG: section 82 External ACL * AUTHOR: Henrik Nordstrom, MARA Systems AB @@ -709,15 +709,15 @@ ACLExternal::dump() const wordlist *result = NULL; wordlist *arg; MemBuf mb; - memBufDefInit(&mb); - memBufPrintf(&mb, "%s", acl->def->name); + mb.init(); + mb.Printf("%s", acl->def->name); for (arg = acl->arguments; arg; arg = arg->next) { - memBufPrintf(&mb, " %s", arg->key); + mb.Printf(" %s", arg->key); } wordlistAdd(&result, mb.buf); - memBufClean(&mb); + mb.clean(); return result; } @@ -741,7 +741,7 @@ makeExternalAclKey(ACLChecklist * ch, external_acl_data * acl_data) wordlist *arg; external_acl_format *format; HttpRequest *request = ch->request; - memBufReset(&mb); + mb.reset(); for (format = acl_data->def->format; format; format = format->next) { const char *str = NULL; @@ -890,11 +890,11 @@ makeExternalAclKey(ACLChecklist * ch, external_acl_data * acl_data) str = "-"; if (!first) - memBufAppend(&mb, " ", 1); + mb.append(" ", 1); if (acl_data->def->quote == external_acl::QUOTE_METHOD_URL) { const char *quoted = rfc1738_escape(str); - memBufAppend(&mb, quoted, strlen(quoted)); + mb.append(quoted, strlen(quoted)); } else { strwordquote(&mb, str); } @@ -906,11 +906,11 @@ makeExternalAclKey(ACLChecklist * ch, external_acl_data * acl_data) for (arg = acl_data->arguments; arg; arg = arg->next) { if (!first) - memBufAppend(&mb, " ", 1); + mb.append(" ", 1); if (acl_data->def->quote == external_acl::QUOTE_METHOD_URL) { const char *quoted = rfc1738_escape(arg->key); - memBufAppend(&mb, quoted, strlen(quoted)); + mb.append(quoted, strlen(quoted)); } else { strwordquote(&mb, arg->key); } @@ -1197,15 +1197,15 @@ ACLExternal::ExternalAclLookup(ACLChecklist * ch, ACLExternal * me, EAH * callba } /* Send it off to the helper */ - memBufDefInit(&buf); + buf.init(); - memBufPrintf(&buf, "%s\n", key); + buf.Printf("%s\n", key); helperSubmit(def->theHelper, buf.buf, externalAclHandleReply, state); dlinkAdd(state, &state->list, &def->queue); - memBufClean(&buf); + buf.clean(); } if (graceful) { diff --git a/src/gopher.cc b/src/gopher.cc index 6d805f025e..e1753d37a6 100644 --- a/src/gopher.cc +++ b/src/gopher.cc @@ -1,6 +1,6 @@ /* - * $Id: gopher.cc,v 1.190 2005/09/17 04:53:44 wessels Exp $ + * $Id: gopher.cc,v 1.191 2005/09/17 05:50:08 wessels Exp $ * * DEBUG: section 10 Gopher * AUTHOR: Harvest Derived @@ -146,10 +146,10 @@ gopher_mime_content(MemBuf * mb, const char *name, const char *def_ctype) char *cenc = mimeGetContentEncoding(name); if (cenc) - memBufPrintf(mb, "Content-Encoding: %s\r\n", cenc); + mb->Printf("Content-Encoding: %s\r\n", cenc); - memBufPrintf(mb, "Content-Type: %s\r\n", - ctype ? ctype : def_ctype); + mb->Printf("Content-Type: %s\r\n", + ctype ? ctype : def_ctype); } @@ -160,13 +160,12 @@ gopherMimeCreate(GopherStateData * gopherState) { MemBuf mb; - memBufDefInit(&mb); + mb.init(); - memBufPrintf(&mb, - "HTTP/1.0 200 OK Gatewaying\r\n" - "Server: Squid/%s\r\n" - "Date: %s\r\n", - version_string, mkrfc1123(squid_curtime)); + mb.Printf("HTTP/1.0 200 OK Gatewaying\r\n" + "Server: Squid/%s\r\n" + "Date: %s\r\n", + version_string, mkrfc1123(squid_curtime)); switch (gopherState->type_id) { @@ -179,7 +178,7 @@ gopherMimeCreate(GopherStateData * gopherState) case GOPHER_WWW: case GOPHER_CSO: - memBufPrintf(&mb, "Content-Type: text/html\r\n"); + mb.Printf("Content-Type: text/html\r\n"); break; case GOPHER_GIF: @@ -187,17 +186,17 @@ gopherMimeCreate(GopherStateData * gopherState) case GOPHER_IMAGE: case GOPHER_PLUS_IMAGE: - memBufPrintf(&mb, "Content-Type: image/gif\r\n"); + mb.Printf("Content-Type: image/gif\r\n"); break; case GOPHER_SOUND: case GOPHER_PLUS_SOUND: - memBufPrintf(&mb, "Content-Type: audio/basic\r\n"); + mb.Printf("Content-Type: audio/basic\r\n"); break; case GOPHER_PLUS_MOVIE: - memBufPrintf(&mb, "Content-Type: video/mpeg\r\n"); + mb.Printf("Content-Type: video/mpeg\r\n"); break; case GOPHER_MACBINHEX: @@ -218,10 +217,10 @@ gopherMimeCreate(GopherStateData * gopherState) break; } - memBufPrintf(&mb, "\r\n"); + mb.Printf("\r\n"); EBIT_CLR(gopherState->entry->flags, ENTRY_FWD_HDR_WAIT); storeAppend(gopherState->entry, mb.buf, mb.size); - memBufClean(&mb); + mb.clean(); } /* Parse a gopher request into components. By Anawat. */ diff --git a/src/helper.cc b/src/helper.cc index 8ce8fd4824..fc13584a6a 100644 --- a/src/helper.cc +++ b/src/helper.cc @@ -1,6 +1,6 @@ /* - * $Id: helper.cc,v 1.68 2005/09/17 04:53:44 wessels Exp $ + * $Id: helper.cc,v 1.69 2005/09/17 05:50:08 wessels Exp $ * * DEBUG: section 84 Helper process maintenance * AUTHOR: Harvest Derived? @@ -767,11 +767,11 @@ helperServerFree(int fd, void *data) srv->rbuf = NULL; } - memBufClean(srv->wqueue); + srv->wqueue->clean(); delete srv->wqueue; if (srv->writebuf) { - memBufClean(srv->writebuf); + srv->writebuf->clean(); delete srv->writebuf; srv->writebuf = NULL; } @@ -836,7 +836,7 @@ helperStatefulServerFree(int fd, void *data) } #if 0 - memBufClean(srv->wqueue); + srv->wqueue->clean(); delete srv->wqueue; @@ -1320,7 +1320,7 @@ helperDispatchWriteDone(int fd, char *buf, size_t len, comm_err_t flag, int xerr { helper_server *srv = (helper_server *)data; - memBufClean(srv->writebuf); + srv->writebuf->clean(); delete srv->writebuf; srv->writebuf = NULL; srv->flags.writing = 0; @@ -1332,7 +1332,7 @@ helperDispatchWriteDone(int fd, char *buf, size_t len, comm_err_t flag, int xerr return; } - if (!memBufIsNull(srv->wqueue)) { + if (!srv->wqueue->isNull()) { srv->writebuf = srv->wqueue; srv->wqueue = new MemBuf; srv->flags.writing = 1; @@ -1369,13 +1369,13 @@ helperDispatch(helper_server * srv, helper_request * r) srv->stats.pending += 1; r->dispatch_time = current_time; - if (memBufIsNull(srv->wqueue)) - memBufDefInit(srv->wqueue); + if (srv->wqueue->isNull()) + srv->wqueue->init(); if (hlp->concurrency) - memBufPrintf(srv->wqueue, "%d %s", slot, r->buf); + srv->wqueue->Printf("%d %s", slot, r->buf); else - memBufAppend(srv->wqueue, r->buf, strlen(r->buf)); + srv->wqueue->append(r->buf, strlen(r->buf)); if (!srv->flags.writing) { assert(NULL == srv->writebuf); diff --git a/src/htcp.cc b/src/htcp.cc index a2b19fc6c6..2fc0325799 100644 --- a/src/htcp.cc +++ b/src/htcp.cc @@ -1,6 +1,6 @@ /* - * $Id: htcp.cc,v 1.59 2005/09/17 04:53:44 wessels Exp $ + * $Id: htcp.cc,v 1.60 2005/09/17 05:50:08 wessels Exp $ * * DEBUG: section 31 Hypertext Caching Protocol * AUTHOR: Duane Wesssels @@ -732,7 +732,7 @@ htcpTstReply(htcpDataHeader * dhdr, StoreEntry * e, htcpSpecifier * spec, struct if (spec) { - memBufDefInit(&mb); + mb.init(); packerToMemInit(&p, &mb); stuff.S.method = spec->method; stuff.S.uri = spec->uri; @@ -744,7 +744,7 @@ htcpTstReply(htcpDataHeader * dhdr, StoreEntry * e, htcpSpecifier * spec, struct httpHeaderPackInto(&hdr, &p); stuff.D.resp_hdrs = xstrdup(mb.buf); debug(31, 3) ("htcpTstReply: resp_hdrs = {%s}\n", stuff.D.resp_hdrs); - memBufReset(&mb); + mb.reset(); httpHeaderReset(&hdr); if (e->expires > -1) @@ -759,7 +759,7 @@ htcpTstReply(htcpDataHeader * dhdr, StoreEntry * e, htcpSpecifier * spec, struct debug(31, 3) ("htcpTstReply: entity_hdrs = {%s}\n", stuff.D.entity_hdrs); - memBufReset(&mb); + mb.reset(); httpHeaderReset(&hdr); @@ -776,7 +776,7 @@ htcpTstReply(htcpDataHeader * dhdr, StoreEntry * e, htcpSpecifier * spec, struct httpHeaderPackInto(&hdr, &p); stuff.D.cache_hdrs = xstrdup(mb.buf); debug(31, 3) ("htcpTstReply: cache_hdrs = {%s}\n", stuff.D.cache_hdrs); - memBufClean(&mb); + mb.clean(); httpHeaderClean(&hdr); packerClean(&p); } @@ -1221,7 +1221,7 @@ htcpQuery(StoreEntry * e, HttpRequest * req, peer * p) httpBuildRequestHeader(req, req, e, &hdr, flags); - memBufDefInit(&mb); + mb.init(); packerToMemInit(&pa, &mb); @@ -1235,7 +1235,7 @@ htcpQuery(StoreEntry * e, HttpRequest * req, peer * p) pkt = htcpBuildPacket(&stuff, &pktlen); - memBufClean(&mb); + mb.clean(); if (pkt == NULL) { debug(31, 0) ("htcpQuery: htcpBuildPacket() failed\n"); diff --git a/src/http.cc b/src/http.cc index 027a1ab08b..b06233457e 100644 --- a/src/http.cc +++ b/src/http.cc @@ -1,6 +1,6 @@ /* - * $Id: http.cc,v 1.458 2005/09/17 04:53:44 wessels Exp $ + * $Id: http.cc,v 1.459 2005/09/17 05:50:08 wessels Exp $ * * DEBUG: section 11 Hypertext Transfer Protocol (HTTP) * AUTHOR: Harvest Derived @@ -94,8 +94,8 @@ httpStateFree(int fd, void *data) storeUnlockObject(httpState->entry); - if (!memBufIsNull(&httpState->reply_hdr)) { - memBufClean(&httpState->reply_hdr); + if (!httpState->reply_hdr.isNull()) { + httpState->reply_hdr.clean(); } requestUnlink(httpState->request); @@ -658,19 +658,19 @@ HttpStateData::processReplyHeader(const char *buf, int size) debug(11, 3) ("httpProcessReplyHeader: key '%s'\n", entry->getMD5Text()); - if (memBufIsNull(&reply_hdr)) - memBufDefInit(&reply_hdr); + if (reply_hdr.isNull()) + reply_hdr.init(); assert(!flags.headers_parsed); - memBufAppend(&reply_hdr, buf, size); + reply_hdr.append(buf, size); hdr_len = reply_hdr.size; if (hdr_len > 4 && strncmp(reply_hdr.buf, "HTTP/", 5)) { debugs(11, 3, "httpProcessReplyHeader: Non-HTTP-compliant header: '" << reply_hdr.buf << "'"); flags.headers_parsed = 1; - memBufClean(&reply_hdr); + reply_hdr.clean(); failReply (reply, HTTP_INVALID_HEADER); ctx_exit(ctx); return; @@ -684,8 +684,8 @@ HttpStateData::processReplyHeader(const char *buf, int size) if (hdr_len > Config.maxReplyHeaderSize) { debugs(11, 1, "httpProcessReplyHeader: Too large reply header"); - if (!memBufIsNull(&reply_hdr)) - memBufClean(&reply_hdr); + if (!reply_hdr.isNull()) + reply_hdr.clean(); failReply (reply, HTTP_HEADER_TOO_LARGE); @@ -708,7 +708,7 @@ HttpStateData::processReplyHeader(const char *buf, int size) } /* Cut away any excess body data (only needed for debug?) */ - memBufAppend(&reply_hdr, "\0", 1); + reply_hdr.append("\0", 1); reply_hdr.buf[hdr_size] = '\0'; @@ -1618,10 +1618,10 @@ httpBuildRequestPrefix(HttpRequest * request, { const int offset = mb->size; HttpVersion httpver(1, 0); - memBufPrintf(mb, "%s %s HTTP/%d.%d\r\n", - RequestMethodStr[request->method], - request->urlpath.size() ? request->urlpath.buf() : "/", - httpver.major,httpver.minor); + mb->Printf("%s %s HTTP/%d.%d\r\n", + RequestMethodStr[request->method], + request->urlpath.size() ? request->urlpath.buf() : "/", + httpver.major,httpver.minor); /* build and pack headers */ { HttpHeader hdr(hoRequest); @@ -1633,7 +1633,7 @@ httpBuildRequestPrefix(HttpRequest * request, packerClean(&p); } /* append header terminator */ - memBufAppend(mb, crlf, 2); + mb->append(crlf, 2); return mb->size - offset; } @@ -1694,7 +1694,7 @@ httpSendRequest(HttpStateData * httpState) httpState->flags.front_end_https = httpState->_peer->front_end_https; } - memBufDefInit(&mb); + mb.init(); httpBuildRequestPrefix(req, httpState->orig_request, entry, diff --git a/src/ident.cc b/src/ident.cc index fca1d6faba..b9df7baab1 100644 --- a/src/ident.cc +++ b/src/ident.cc @@ -1,6 +1,6 @@ /* - * $Id: ident.cc,v 1.71 2005/09/17 04:53:44 wessels Exp $ + * $Id: ident.cc,v 1.72 2005/09/17 05:50:08 wessels Exp $ * * DEBUG: section 30 Ident (RFC 931) * AUTHOR: Duane Wessels @@ -138,10 +138,10 @@ identConnectDone(int fd, comm_err_t status, int xerrno, void *data) } MemBuf mb; - memBufDefInit(&mb); - memBufPrintf(&mb, "%d, %d\r\n", - ntohs(state->my_peer.sin_port), - ntohs(state->me.sin_port)); + mb.init(); + mb.Printf("%d, %d\r\n", + ntohs(state->my_peer.sin_port), + ntohs(state->me.sin_port)); comm_old_write_mbuf(fd, &mb, NULL, state); comm_read(fd, state->buf, BUFSIZ, identReadReply, state); commSetTimeout(fd, Config.Timeout.ident, identTimeout, state); diff --git a/src/internal.cc b/src/internal.cc index 6b5b40fd5b..108d87b2b6 100644 --- a/src/internal.cc +++ b/src/internal.cc @@ -1,6 +1,6 @@ /* - * $Id: internal.cc,v 1.32 2005/09/17 04:53:44 wessels Exp $ + * $Id: internal.cc,v 1.33 2005/09/17 05:50:08 wessels Exp $ * * DEBUG: section 76 Internal Squid Object handling * AUTHOR: Duane, Alex, Henrik @@ -118,18 +118,18 @@ internalRemoteUri(const char *host, u_short port, const char *dir, const char *n /* build uri in mb */ static MemBuf mb; - memBufReset(&mb); + mb.reset(); - memBufPrintf(&mb, "http://%s", lc_host); + mb.Printf("http://%s", lc_host); /* append port if not default */ if (port && port != urlDefaultPort(PROTO_HTTP)) - memBufPrintf(&mb, ":%d", port); + mb.Printf(":%d", port); if (dir) - memBufPrintf(&mb, "%s", dir); + mb.Printf("%s", dir); - memBufPrintf(&mb, "%s", name); + mb.Printf("%s", name); /* return a pointer to a local static buffer */ return mb.buf; diff --git a/src/mime.cc b/src/mime.cc index e5704db413..e302ae0c4e 100644 --- a/src/mime.cc +++ b/src/mime.cc @@ -1,6 +1,6 @@ /* - * $Id: mime.cc,v 1.118 2005/09/17 04:53:44 wessels Exp $ + * $Id: mime.cc,v 1.119 2005/09/17 05:50:08 wessels Exp $ * * DEBUG: section 25 MIME Parsing * AUTHOR: Harvest Derived @@ -338,8 +338,8 @@ mimeGetIconURL(const char *fn) if (Config.icons.use_short_names) { static MemBuf mb; - memBufReset(&mb); - memBufPrintf(&mb, "/squid-internal-static/icons/%s", icon); + mb.reset(); + mb.Printf("/squid-internal-static/icons/%s", icon); return mb.content(); } else { return internalLocalUri("/squid-internal-static/icons/", icon); diff --git a/src/stat.cc b/src/stat.cc index abdbc4fff2..b12702469a 100644 --- a/src/stat.cc +++ b/src/stat.cc @@ -1,5 +1,5 @@ /* - * $Id: stat.cc,v 1.391 2005/09/17 04:53:44 wessels Exp $ + * $Id: stat.cc,v 1.392 2005/09/17 05:50:08 wessels Exp $ * * DEBUG: section 18 Cache Manager Statistics * AUTHOR: Harvest Derived @@ -320,21 +320,21 @@ static void statStoreEntry(MemBuf * mb, StoreEntry * e) { MemObject *mem = e->mem_obj; - memBufPrintf(mb, "KEY %s\n", e->getMD5Text()); - memBufPrintf(mb, "\t%s\n", describeStatuses(e)); - memBufPrintf(mb, "\t%s\n", storeEntryFlags(e)); - memBufPrintf(mb, "\t%s\n", describeTimestamps(e)); - memBufPrintf(mb, "\t%d locks, %d clients, %d refs\n", - (int) e->lock_count, - storePendingNClients(e), - (int) e->refcount); - memBufPrintf(mb, "\tSwap Dir %d, File %#08X\n", - e->swap_dirn, e->swap_filen); + mb->Printf("KEY %s\n", e->getMD5Text()); + mb->Printf("\t%s\n", describeStatuses(e)); + mb->Printf("\t%s\n", storeEntryFlags(e)); + mb->Printf("\t%s\n", describeTimestamps(e)); + mb->Printf("\t%d locks, %d clients, %d refs\n", + (int) e->lock_count, + storePendingNClients(e), + (int) e->refcount); + mb->Printf("\tSwap Dir %d, File %#08X\n", + e->swap_dirn, e->swap_filen); if (mem != NULL) mem->stat (mb); - memBufPrintf(mb, "\n"); + mb->Printf("\n"); } /* process objects list */ @@ -361,7 +361,7 @@ statObjects(void *data) storeBuffer(state->sentry); size_t statCount = 0; MemBuf mb; - memBufDefInit(&mb); + mb.init(); while (statCount++ < static_cast(Config.Store.objectsPerBucket) && state-> theSearch->next()) { @@ -375,7 +375,7 @@ statObjects(void *data) if (mb.size) storeAppend(state->sentry, mb.buf, mb.size); - memBufClean(&mb); + mb.clean(); eventAdd("statObjects", statObjects, state, 0.0, 1); } diff --git a/src/store_client.cc b/src/store_client.cc index 4467e726f6..ff798d6b9e 100644 --- a/src/store_client.cc +++ b/src/store_client.cc @@ -1,6 +1,6 @@ /* - * $Id: store_client.cc,v 1.140 2005/09/17 04:53:44 wessels Exp $ + * $Id: store_client.cc,v 1.141 2005/09/17 05:50:08 wessels Exp $ * * DEBUG: section 90 Storage Manager Client-Side Interface * AUTHOR: Duane Wessels @@ -825,26 +825,26 @@ store_client::dumpStats(MemBuf * output, int clientNumber) const if (_callback.pending()) return; - memBufPrintf(output, "\tClient #%d, %p\n", clientNumber, _callback.callback_data); + output->Printf("\tClient #%d, %p\n", clientNumber, _callback.callback_data); - memBufPrintf(output, "\t\tcopy_offset: %lu\n", - (unsigned long) copyInto.offset); + output->Printf("\t\tcopy_offset: %lu\n", + (unsigned long) copyInto.offset); - memBufPrintf(output, "\t\tcopy_size: %d\n", - (int) copyInto.length); + output->Printf("\t\tcopy_size: %d\n", + (int) copyInto.length); - memBufPrintf(output, "\t\tflags:"); + output->Printf("\t\tflags:"); if (flags.disk_io_pending) - memBufPrintf(output, " disk_io_pending"); + output->Printf(" disk_io_pending"); if (flags.store_copying) - memBufPrintf(output, " store_copying"); + output->Printf(" store_copying"); if (flags.copy_event_pending) - memBufPrintf(output, " copy_event_pending"); + output->Printf(" copy_event_pending"); - memBufPrintf(output, "\n"); + output->Printf("\n"); } bool diff --git a/src/tools.cc b/src/tools.cc index 7a9e249ee5..82d408f53b 100644 --- a/src/tools.cc +++ b/src/tools.cc @@ -1,6 +1,6 @@ /* - * $Id: tools.cc,v 1.262 2005/09/17 04:53:45 wessels Exp $ + * $Id: tools.cc,v 1.263 2005/09/17 05:50:08 wessels Exp $ * * DEBUG: section 21 Misc Functions * AUTHOR: Harvest Derived @@ -1143,12 +1143,12 @@ debugObj(int section, int level, const char *label, void *obj, ObjPackMethod pm) MemBuf mb; Packer p; assert(label && obj && pm); - memBufDefInit(&mb); + mb.init(); packerToMemInit(&p, &mb); (*pm) (obj, &p); debug(section, level) ("%s%s", label, mb.buf); packerClean(&p); - memBufClean(&mb); + mb.clean(); } void @@ -1272,23 +1272,23 @@ strwordquote(MemBuf * mb, const char *str) if (strchr(str, ' ')) { quoted = 1; - memBufAppend(mb, "\"", 1); + mb->append("\"", 1); } while (*str) { int l = strcspn(str, "\"\\\n\r"); - memBufAppend(mb, str, l); + mb->append(str, l); str += l; switch(*str) { case '\n': - memBufAppend(mb, "\\n", 2); + mb->append("\\n", 2); str++; break; case '\r': - memBufAppend(mb, "\\r", 2); + mb->append("\\r", 2); str++; break; @@ -1296,13 +1296,13 @@ strwordquote(MemBuf * mb, const char *str) break; default: - memBufAppend(mb, "\\", 1); - memBufAppend(mb, str, 1); + mb->append("\\", 1); + mb->append(str, 1); str++; break; } } if (quoted) - memBufAppend(mb, "\"", 1); + mb->append("\"", 1); } diff --git a/src/tunnel.cc b/src/tunnel.cc index fc027a8bf0..9ba737c562 100644 --- a/src/tunnel.cc +++ b/src/tunnel.cc @@ -1,6 +1,6 @@ /* - * $Id: tunnel.cc,v 1.153 2005/09/17 04:53:45 wessels Exp $ + * $Id: tunnel.cc,v 1.154 2005/09/17 05:50:08 wessels Exp $ * * DEBUG: section 26 Secure Sockets Layer Proxy * AUTHOR: Duane Wessels @@ -688,8 +688,8 @@ sslProxyConnected(int fd, void *data) memset(&flags, '\0', sizeof(flags)); flags.proxying = sslState->request->flags.proxying; MemBuf mb; - memBufDefInit(&mb); - memBufPrintf(&mb, "CONNECT %s HTTP/1.0\r\n", sslState->url); + mb.init(); + mb.Printf("CONNECT %s HTTP/1.0\r\n", sslState->url); httpBuildRequestHeader(sslState->request, sslState->request, NULL, /* StoreEntry */ @@ -699,7 +699,7 @@ sslProxyConnected(int fd, void *data) httpHeaderPackInto(&hdr_out, &p); httpHeaderClean(&hdr_out); packerClean(&p); - memBufAppend(&mb, "\r\n", 2); + mb.append("\r\n", 2); comm_old_write_mbuf(sslState->server.fd(), &mb, sslProxyConnectedWriteDone, sslState); diff --git a/src/urn.cc b/src/urn.cc index 4e32e13b66..136b92a616 100644 --- a/src/urn.cc +++ b/src/urn.cc @@ -1,6 +1,6 @@ /* - * $Id: urn.cc,v 1.89 2005/09/17 04:53:45 wessels Exp $ + * $Id: urn.cc,v 1.90 2005/09/17 05:50:08 wessels Exp $ * * DEBUG: section 52 URN Parsing * AUTHOR: Kostas Anagnostakis @@ -407,36 +407,35 @@ urnHandleReply(void *data, StoreIOBuffer result) qsort(urls, urlcnt, sizeof(*urls), url_entry_sort); storeBuffer(e); mb = new MemBuf; - memBufDefInit(mb); - memBufPrintf(mb, - "Select URL for %s\n" - "\n" - "

Select URL for %s

\n" - "\n", storeUrl(e), storeUrl(e)); + mb->init(); + mb->Printf( "Select URL for %s\n" + "\n" + "

Select URL for %s

\n" + "
\n", storeUrl(e), storeUrl(e)); for (i = 0; i < urlcnt; i++) { u = &urls[i]; debug(52, 3) ("URL {%s}\n", u->url); - memBufPrintf(mb, - "", u->url, u->url); + mb->Printf( + "", u->url, u->url); if (urls[i].rtt > 0) - memBufPrintf(mb, - "", u->rtt); + mb->Printf( + "", u->rtt); else - memBufPrintf(mb, ""); + mb->Printf(""); - memBufPrintf(mb, - "\n", u->flags.cached ? " [cached]" : " "); + mb->Printf( + "\n", u->flags.cached ? " [cached]" : " "); } - memBufPrintf(mb, - "
%s
%s%4d ms%4d msUnknownUnknown%s
%s
" - "
\n" - "
\n" - "Generated by %s@%s\n" - "
\n", - full_appname_string, getMyHostname()); + mb->Printf( + "" + "
\n" + "
\n" + "Generated by %s@%s\n" + "
\n", + full_appname_string, getMyHostname()); rep = httpReplyCreate(); httpReplySetHeaders(rep, version, HTTP_MOVED_TEMPORARILY, NULL, "text/html", mb->contentSize(), 0, squid_curtime); diff --git a/src/wais.cc b/src/wais.cc index 983682ae90..fe4adac200 100644 --- a/src/wais.cc +++ b/src/wais.cc @@ -1,6 +1,6 @@ /* - * $Id: wais.cc,v 1.153 2005/09/17 04:53:45 wessels Exp $ + * $Id: wais.cc,v 1.154 2005/09/17 05:50:08 wessels Exp $ * * DEBUG: section 24 WAIS Relay * AUTHOR: Harvest Derived @@ -219,8 +219,8 @@ waisSendRequest(int fd, void *data) MemBuf mb; const char *Method = RequestMethodStr[waisState->method]; debug(24, 5) ("waisSendRequest: FD %d\n", fd); - memBufDefInit(&mb); - memBufPrintf(&mb, "%s %s HTTP/1.0\r\n", Method, waisState->url); + mb.init(); + mb.Printf("%s %s HTTP/1.0\r\n", Method, waisState->url); if (waisState->request_hdr) { Packer p; @@ -229,7 +229,7 @@ waisSendRequest(int fd, void *data) packerClean(&p); } - memBufPrintf(&mb, "\r\n"); + mb.Printf("\r\n"); debug(24, 6) ("waisSendRequest: buf: %s\n", mb.buf); comm_old_write_mbuf(fd, &mb, waisSendComplete, waisState);