IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 10727


Ignore:
Timestamp:
Dec 14, 2006, 9:10:06 AM (19 years ago)
Author:
magnier
Message:

fixed 1-byte counting error

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/extras/psIOBuffer.c

    r10610 r10727  
    2525    psMemSetDeallocator(buffer, (psFreeFunc) psIOBufferFree);
    2626
    27     buffer->data = (char *) psAlloc (nBuffer);
     27    buffer->data = (char *) psAlloc (nBuffer + 1);
    2828
    29     buffer->nAlloc = nBuffer;
     29    buffer->nAlloc = nBuffer + 1;
    3030    buffer->nReset = nBuffer;
    3131    buffer->nBlock = nBuffer / 2;
     
    4141    buffer->n = 0;
    4242    buffer->nAlloc = buffer->nReset;
    43     psRealloc (buffer->data, buffer->nAlloc);
     43    buffer->data = psRealloc (buffer->data, buffer->nAlloc);
    4444    bzero (buffer->data, buffer->nAlloc);
    4545
     
    5757    }
    5858
    59     Nfree = buffer->nAlloc - buffer->n;
     59    Nfree = buffer->nAlloc - buffer->n - 1;
    6060
    6161    // extend the data block if needed
    6262    if (Nfree < buffer->nBlock) {
    63         buffer->nAlloc += 2*buffer->nBlock;
    64         psRealloc (buffer->data, buffer->nAlloc);
     63        buffer->nAlloc += 2*buffer->nBlock + 1;
     64        buffer->data = psRealloc (buffer->data, buffer->nAlloc);
    6565        Nfree = buffer->nAlloc - buffer->n;
    6666        bzero (buffer->data + buffer->n, Nfree);
Note: See TracChangeset for help on using the changeset viewer.