21 while (
head.getRaw()) {
46 copyFrom = copyFrom->
next;
84 char *rv = (
char *)
xmalloc (length + 1);
92 memcpy(&rv[pos], temp->
buf, temp->
len);
108 while (pos < length) {
109 if (output->
space() == 0) {
112 output = output->
next;
115 pos += output->
append(s + pos, length - pos);
125 head->tail()->listAppend (s,
len);
140 size_t toCopy =
min(appendLength,
space());
141 memcpy(&
buf[
len], appendBuffer, toCopy);
169 result = result->
next;
195 debugs(86, 9,
"ESISegment::dumpOne: \"" << temp <<
"\"");
squidaio_request_t * head
static void ListTransfer(Pointer &from, Pointer &to)
static void ListAppend(Pointer &, char const *, size_t)
ESISegment const * tail() const
char * listToChar() const
void adsorbList(ESISegment::Pointer from)
ESISegment::Pointer cloneList() const
size_t append(char const *, size_t)
void listAppend(char const *s, size_t length)
size_t listLength() const
void assign(const char *str, int len)
A const & min(A const &lhs, A const &rhs)
#define debugs(SECTION, LEVEL, CONTENT)
CBDATA_CLASS_INIT(ESISegment)
void ESISegmentFreeList(ESISegment::Pointer &head)
struct squidaio_request_t * next