- SI->Log(DEBUG,"AddData, %d bytes to add", data_length);
- if ((data_length + bufptr) > bufsz)
- {
- SI->Log(DEBUG,"Need to extend buffer to %d, is now %d", data_length + bufptr, bufsz);
- /* Buffer is too small, enlarge it and copy contents */
- int old_bufsz = bufsz;
- unsigned char* temp = buffer;
-
- bufsz += data_length;
- buffer = new unsigned char[bufsz + 1];
-
- memcpy(buffer, temp, old_bufsz);
-
- delete[] temp;
- }
-
- SI->Log(DEBUG,"Copy data in at pos %d", bufptr);
-
- memcpy(buffer + bufptr, data, data_length);
- bufptr += data_length;
- amount_read += data_length;
-
- SI->Log(DEBUG,"Amount read is now %d, bufptr is now %d", amount_read, bufptr);
-
- if ((!amount_expected) && (amount_read >= 4))