101 #include <config_auto.h> 105 #include "allheaders.h" 108 static const l_uint32 MaxArraySize = 1000000000;
135 PROCNAME(
"bbufferCreate");
137 if (nalloc <= 0 || nalloc > MaxArraySize)
141 if ((bb->
array = (l_uint8 *)LEPT_CALLOC(
nalloc,
sizeof(l_uint8))) == NULL) {
143 return (
L_BBUFFER *)ERROR_PTR(
"byte array not made", procName, NULL);
176 PROCNAME(
"bbufferDestroy");
179 L_WARNING(
"ptr address is NULL\n", procName);
183 if ((bb = *pbb) == NULL)
187 LEPT_FREE(bb->
array);
213 PROCNAME(
"bbufferDestroyAndSaveData");
216 L_WARNING(
"ptr address is NULL\n", procName);
219 if (pnbytes == NULL) {
220 L_WARNING(
"&nbytes is NULL\n", procName);
225 if ((bb = *pbb) == NULL)
231 if ((array = (l_uint8 *)LEPT_CALLOC(nbytes,
sizeof(l_uint8))) == NULL) {
232 L_WARNING(
"calloc failure for array\n", procName);
269 l_int32 navail, nadd, nwritten;
271 PROCNAME(
"bbufferRead");
274 return ERROR_INT(
"bb not defined", procName, 1);
276 return ERROR_INT(
"src not defined", procName, 1);
278 return ERROR_INT(
"no bytes to read", procName, 1);
281 memmove(bb->
array, bb->
array + nwritten, bb->
n - nwritten);
289 if (nbytes > navail) {
290 nadd = L_MAX(bb->
nalloc, nbytes);
292 return ERROR_INT(
"extension failed", procName, 1);
296 memcpy(bb->
array + bb->
n, src, nbytes);
315 l_int32 navail, nadd, nread, nwritten;
317 PROCNAME(
"bbufferReadStream");
320 return ERROR_INT(
"bb not defined", procName, 1);
322 return ERROR_INT(
"fp not defined", procName, 1);
324 return ERROR_INT(
"no bytes to read", procName, 1);
327 memmove(bb->
array, bb->
array + nwritten, bb->
n - nwritten);
335 if (nbytes > navail) {
336 nadd = L_MAX(bb->
nalloc, nbytes);
338 return ERROR_INT(
"extension failed", procName, 1);
342 nread = fread(bb->
array + bb->
n, 1, nbytes, fp);
366 PROCNAME(
"bbufferExtendArray");
369 return ERROR_INT(
"bb not defined", procName, 1);
373 bb->
nalloc + nbytes)) == NULL)
374 return ERROR_INT(
"new ptr array not returned", procName, 1);
401 PROCNAME(
"bbufferWrite");
404 return ERROR_INT(
"bb not defined", procName, 1);
406 return ERROR_INT(
"dest not defined", procName, 1);
408 return ERROR_INT(
"no bytes requested to write", procName, 1);
410 return ERROR_INT(
"&nout not defined", procName, 1);
413 nout = L_MIN(nleft, nbytes);
453 PROCNAME(
"bbufferWriteStream");
456 return ERROR_INT(
"bb not defined", procName, 1);
458 return ERROR_INT(
"output stream not defined", procName, 1);
460 return ERROR_INT(
"no bytes requested to write", procName, 1);
462 return ERROR_INT(
"&nout not defined", procName, 1);
465 nout = L_MIN(nleft, nbytes);
L_BBUFFER * bbufferCreate(const l_uint8 *indata, l_int32 nalloc)
bbufferCreate()
l_ok bbufferWrite(L_BBUFFER *bb, l_uint8 *dest, size_t nbytes, size_t *pnout)
bbufferWrite()
l_uint8 * bbufferDestroyAndSaveData(L_BBUFFER **pbb, size_t *pnbytes)
bbufferDestroyAndSaveData()
l_ok bbufferWriteStream(L_BBUFFER *bb, FILE *fp, size_t nbytes, size_t *pnout)
bbufferWriteStream()
static const l_int32 InitialArraySize
void * reallocNew(void **pindata, size_t oldsize, size_t newsize)
reallocNew()
l_ok bbufferReadStream(L_BBUFFER *bb, FILE *fp, l_int32 nbytes)
bbufferReadStream()
void bbufferDestroy(L_BBUFFER **pbb)
bbufferDestroy()
l_ok bbufferRead(L_BBUFFER *bb, l_uint8 *src, l_int32 nbytes)
bbufferRead()
l_ok bbufferExtendArray(L_BBUFFER *bb, l_int32 nbytes)
bbufferExtendArray()