*/
void StrBufAppendBuf(StrBuf *Buf, const StrBuf *AppendBuf, unsigned long Offset)
{
- if ((AppendBuf == NULL) || (Buf == NULL) || (AppendBuf->buf == NULL))
+ if ((AppendBuf == NULL) || (Buf == NULL) || (AppendBuf->buf == NULL))
return;
- if (Buf->BufSize - Offset < AppendBuf->BufUsed + Buf->BufUsed)
+ if (Buf->BufSize - Offset < AppendBuf->BufUsed + Buf->BufUsed + 1)
IncreaseBuf(Buf,
(Buf->BufUsed > 0),
AppendBuf->BufUsed + Buf->BufUsed);
if (len == 0)
return;
- eptr = Target->buf + Target->BufSize - 6;
+ eptr = Target->buf + Target->BufSize - 8;
tptr = Target->buf + Target->BufUsed;
while (aptr < eiptr){
if(tptr >= eptr) {
IncreaseBuf(Target, 1, -1);
- eptr = Target->buf + Target->BufSize - 6;
+ eptr = Target->buf + Target->BufSize - 8;
tptr = Target->buf + Target->BufUsed;
}
return -1;
bptr = Target->buf + Target->BufUsed;
- eptr = Target->buf + Target->BufSize - 2; /* our biggest unit to put in... */
+ eptr = Target->buf + Target->BufSize - 3; /* our biggest unit to put in... */
while (aptr < eiptr){
if(bptr >= eptr) {
IncreaseBuf(Target, 1, -1);
- eptr = Target->buf + Target->BufSize - 2;
+ eptr = Target->buf + Target->BufSize - 3;
bptr = Target->buf + Target->BufUsed;
}
else if (*aptr == '"') {
}
if (Offset + nChars < Source->BufUsed)
{
- if (nChars > dest->BufSize)
+ if (nChars >= dest->BufSize)
IncreaseBuf(dest, 0, nChars + 1);
memcpy(dest->buf, Source->buf + Offset, nChars);
dest->BufUsed = nChars;
return nChars;
}
NCharsRemain = Source->BufUsed - Offset;
- if (NCharsRemain > dest->BufSize)
+ if (NCharsRemain >= dest->BufSize)
IncreaseBuf(dest, 0, NCharsRemain + 1);
memcpy(dest->buf, Source->buf + Offset, NCharsRemain);
dest->BufUsed = NCharsRemain;
break;
if (buf->buf[len] != '\r')
len ++;
- if (!(len < buf->BufSize)) {
+ if (len >= buf->BufSize) {
buf->BufUsed = len;
buf->buf[len+1] = '\0';
IncreaseBuf(buf, 1, -1);
return -1;
if (!append)
FlushStrBuf(Buf);
- if (Buf->BufUsed + nBytes > Buf->BufSize)
+ if (Buf->BufUsed + nBytes >= Buf->BufSize)
IncreaseBuf(Buf, 1, Buf->BufUsed + nBytes);
ptr = Buf->buf + Buf->BufUsed;
}
if (*target == NULL)
*target = NewStrBufPlain(NULL, sizeof(headerStr) + source->BufUsed * 2);
- else if (sizeof(headerStr) + source->BufUsed > (*target)->BufSize)
+ else if (sizeof(headerStr) + source->BufUsed >= (*target)->BufSize)
IncreaseBuf(*target, sizeof(headerStr) + source->BufUsed, 0);
memcpy ((*target)->buf, headerStr, sizeof(headerStr) - 1);
(*target)->BufUsed = sizeof(headerStr) - 1;
for (i=0; (i < source->BufUsed); ++i) {
- if ((*target)->BufUsed + 4 > (*target)->BufSize)
+ if ((*target)->BufUsed + 4 >= (*target)->BufSize)
IncreaseBuf(*target, 1, 0);
ch = (unsigned char) source->buf[i];
if ((ch < 32) || (ch > 126) || (ch == 61)) {
}
}
- if ((*target)->BufUsed + 4 > (*target)->BufSize)
+ if ((*target)->BufUsed + 4 >= (*target)->BufSize)
IncreaseBuf(*target, 1, 0);
(*target)->buf[(*target)->BufUsed++] = '?';
size_t obuflen; /**< Length of output buffer */
- if (ConvertBuf->BufUsed > TmpBuf->BufSize)
+ if (ConvertBuf->BufUsed >= TmpBuf->BufSize)
IncreaseBuf(TmpBuf, 0, ConvertBuf->BufUsed);
ic = *(iconv_t*)pic;
optr = LineBuf->buf;
eptr = Buf->buf + Buf->BufUsed;
- xptr = LineBuf->buf + LineBuf->BufSize;
+ xptr = LineBuf->buf + LineBuf->BufSize - 1;
while ((*ptr != '\n') &&
(*ptr != '\r') &&
LineBuf->BufUsed = optr - LineBuf->buf;
IncreaseBuf(LineBuf, 1, LineBuf->BufUsed + 1);
optr = LineBuf->buf + LineBuf->BufUsed;
- xptr = LineBuf->buf + LineBuf->BufSize;
+ xptr = LineBuf->buf + LineBuf->BufSize - 1;
}
}
LineBuf->BufUsed = optr - LineBuf->buf;