69 #include "allheaders.h" 71 static const l_int32 INITIAL_ARRAYSIZE = 200;
97 PROCNAME(
"l_byteaCreate");
100 nbytes = INITIAL_ARRAYSIZE;
103 ba->
data = (l_uint8 *)LEPT_CALLOC(nbytes + 1,
sizeof(l_uint8));
106 return (
L_BYTEA *)ERROR_PTR(
"ba array not made", procName, NULL);
127 PROCNAME(
"l_byteaInitFromMem");
130 return (
L_BYTEA *)ERROR_PTR(
"data not defined", procName, NULL);
132 return (
L_BYTEA *)ERROR_PTR(
"no bytes to initialize", procName, NULL);
135 return (
L_BYTEA *)ERROR_PTR(
"ba not made", procName, NULL);
136 memcpy(ba->
data, data, size);
154 PROCNAME(
"l_byteaInitFromFile");
157 return (
L_BYTEA *)ERROR_PTR(
"fname not defined", procName, NULL);
160 return (
L_BYTEA *)ERROR_PTR(
"file stream not opened", procName, NULL);
164 return (
L_BYTEA *)ERROR_PTR(
"ba not made", procName, NULL);
182 PROCNAME(
"l_byteaInitFromStream");
185 return (
L_BYTEA *)ERROR_PTR(
"stream not defined", procName, NULL);
188 return (
L_BYTEA *)ERROR_PTR(
"data not read", procName, NULL);
191 return (
L_BYTEA *)ERROR_PTR(
"ba not made", procName, NULL);
193 memcpy(ba->
data, data, nbytes);
216 PROCNAME(
"l_byteaCopy");
219 return (
L_BYTEA *)ERROR_PTR(
"bas not defined", procName, NULL);
249 PROCNAME(
"l_byteaDestroy");
252 L_WARNING(
"ptr address is null!\n", procName);
256 if ((ba = *pba) == NULL)
283 PROCNAME(
"l_byteaGetSize");
286 return ERROR_INT(
"ba not defined", procName, 0);
307 PROCNAME(
"l_byteaGetData");
310 return (l_uint8 *)ERROR_PTR(
"ba not defined", procName, NULL);
312 return (l_uint8 *)ERROR_PTR(
"&size not defined", procName, NULL);
338 PROCNAME(
"l_byteaCopyData");
341 return (l_uint8 *)ERROR_PTR(
"&size not defined", procName, NULL);
344 return (l_uint8 *)ERROR_PTR(
"ba not defined", procName, NULL);
367 size_t size, nalloc, reqsize;
369 PROCNAME(
"l_byteaAppendData");
372 return ERROR_INT(
"ba not defined", procName, 1);
374 return ERROR_INT(
"newdata not defined", procName, 1);
377 reqsize = size + newbytes + 1;
379 if (nalloc < reqsize)
382 memcpy((
char *)(ba->
data + size), (
char *)newdata, newbytes);
383 ba->
size += newbytes;
399 size_t size, len, nalloc, reqsize;
401 PROCNAME(
"l_byteaAppendString");
404 return ERROR_INT(
"ba not defined", procName, 1);
406 return ERROR_INT(
"str not defined", procName, 1);
410 reqsize = size + len + 1;
412 if (nalloc < reqsize)
415 memcpy(ba->
data + size, str, len);
432 PROCNAME(
"l_byteaExtendArrayToSize");
435 return ERROR_INT(
"ba not defined", procName, 1);
441 return ERROR_INT(
"new array not returned", procName, 1);
472 PROCNAME(
"l_byteaJoin");
475 return ERROR_INT(
"ba1 not defined", procName, 1);
477 return ERROR_INT(
"&ba2 not defined", procName, 1);
478 if ((ba2 = *pba2) == NULL)
return 0;
502 size_t nbytes1, nbytes2;
504 PROCNAME(
"l_byteaSplit");
507 return ERROR_INT(
"&ba2 not defined", procName, 1);
510 return ERROR_INT(
"ba1 not defined", procName, 1);
513 if (splitloc >= nbytes1)
514 return ERROR_INT(
"splitloc invalid", procName, 1);
515 nbytes2 = nbytes1 - splitloc;
521 memset(data1 + splitloc, 0, nbytes2);
522 ba1->
size = splitloc;
548 PROCNAME(
"l_byteaFindEachSequence");
551 return ERROR_INT(
"&da not defined", procName, 1);
554 return ERROR_INT(
"ba not defined", procName, 1);
556 return ERROR_INT(
"sequence not defined", procName, 1);
586 PROCNAME(
"l_byteaWrite");
589 return ERROR_INT(
"fname not defined", procName, 1);
591 return ERROR_INT(
"ba not defined", procName, 1);
594 return ERROR_INT(
"stream not opened", procName, 1);
620 PROCNAME(
"l_byteaWriteStream");
623 return ERROR_INT(
"stream not defined", procName, 1);
625 return ERROR_INT(
"ba not defined", procName, 1);
628 if (startloc >= size)
629 return ERROR_INT(
"invalid startloc", procName, 1);
630 if (endloc == 0) endloc = size - 1;
631 nbytes = endloc - startloc + 1;
633 return ERROR_INT(
"endloc must be >= startloc", procName, 1);
635 fwrite(data + startloc, 1, nbytes, fp);
size_t l_byteaGetSize(L_BYTEA *ba)
l_byteaGetSize()
L_BYTEA * l_byteaCopy(L_BYTEA *bas, l_int32 copyflag)
l_byteaCopy()
L_DNA * arrayFindEachSequence(const l_uint8 *data, size_t datalen, const l_uint8 *sequence, size_t seqlen)
arrayFindEachSequence()
L_BYTEA * l_byteaCreate(size_t nbytes)
l_byteaCreate()
l_uint8 * l_byteaGetData(L_BYTEA *ba, size_t *psize)
l_byteaGetData()
l_int32 l_byteaWriteStream(FILE *fp, L_BYTEA *ba, size_t startloc, size_t endloc)
l_byteaWriteStream()
L_BYTEA * l_byteaInitFromStream(FILE *fp)
l_byteaInitFromStream()
l_int32 l_byteaJoin(L_BYTEA *ba1, L_BYTEA **pba2)
l_byteaJoin()
l_int32 l_byteaSplit(L_BYTEA *ba1, size_t splitloc, L_BYTEA **pba2)
l_byteaSplit()
l_uint8 * l_binaryCopy(l_uint8 *datas, size_t size)
l_binaryCopy()
void * reallocNew(void **pindata, l_int32 oldsize, l_int32 newsize)
reallocNew()
l_int32 l_byteaFindEachSequence(L_BYTEA *ba, l_uint8 *sequence, l_int32 seqlen, L_DNA **pda)
l_byteaFindEachSequence()
l_int32 l_byteaAppendString(L_BYTEA *ba, char *str)
l_byteaAppendString()
l_int32 l_byteaWrite(const char *fname, L_BYTEA *ba, size_t startloc, size_t endloc)
l_byteaWrite()
l_int32 l_byteaAppendData(L_BYTEA *ba, l_uint8 *newdata, size_t newbytes)
l_byteaAppendData()
L_BYTEA * l_byteaInitFromFile(const char *fname)
l_byteaInitFromFile()
FILE * fopenWriteStream(const char *filename, const char *modestring)
fopenWriteStream()
FILE * fopenReadStream(const char *filename)
fopenReadStream()
l_uint8 * l_binaryReadStream(FILE *fp, size_t *pnbytes)
l_binaryReadStream()
static l_int32 l_byteaExtendArrayToSize(L_BYTEA *ba, size_t size)
l_byteaExtendArrayToSize()
void l_byteaDestroy(L_BYTEA **pba)
l_byteaDestroy()
L_BYTEA * l_byteaInitFromMem(l_uint8 *data, size_t size)
l_byteaInitFromMem()
l_uint8 * l_byteaCopyData(L_BYTEA *ba, size_t *psize)
l_byteaCopyData()