47 __attribute__ ((visibility ("default"))) 48 #define BSTR_PRIVATE \ 49 __attribute__ ((visibility ("hidden"))) 55 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) 56 #define BSTR_PRINTF(format, argument) \ 57 __attribute__ ((__format__ (__printf__, format, argument))) 59 __attribute__ ((__unused__)) 61 #define BSTR_PRINTF(format, argument) 76 #define BSTR_BS_BUFF_LENGTH_GET (0) 87 #define cstr2bstr bfromcstr 180 bassign(bstring a,
const bstring b);
191 bassignmidstr(bstring a,
const bstring b,
int left,
int len);
211 bassignblk(bstring a,
const void *s,
int len);
263 balloc(bstring s,
int len);
302 bmidstr(
const bstring b,
int left,
int len);
313 bconcat(bstring b0,
const bstring b1);
340 bcatblk(bstring b,
const void *s,
int len);
351 binsert(bstring s1,
int pos,
const bstring s2,
unsigned char fill);
363 binsertch(bstring s1,
int pos,
int len,
unsigned char fill);
373 breplace(bstring b1,
int pos,
int len,
const bstring b2,
unsigned char fill);
385 bdelete(bstring s1,
int pos,
int len);
396 bsetstr(bstring b0,
int pos,
const bstring b1,
unsigned char fill);
419 bstricmp(
const bstring b0,
const bstring b1);
432 bstrnicmp(
const bstring b0,
const bstring b1,
int n);
468 biseq(
const bstring b0,
const bstring b1);
479 bisstemeqblk(
const bstring b0,
const void *blk,
int len);
493 biseqcstr(
const bstring b,
const char *s);
533 bstrcmp(
const bstring b0,
const bstring b1);
550 bstrncmp(
const bstring b0,
const bstring b1,
int n);
561 binstr(
const bstring s1,
int pos,
const bstring s2);
574 binstrr(
const bstring s1,
int pos,
const bstring s2);
607 bstrchrp(
const bstring b,
int c,
int pos);
616 bstrrchrp(
const bstring b,
int c,
int pos);
624 #define bstrchr(b, c) \ 625 bstrchrp((b), (c), 0) 633 #define bstrrchr(b, c) \ 634 bstrrchrp((b), (c), blength(b) - 1) 644 binchr(
const bstring b0,
int pos,
const bstring b1);
654 binchrr(
const bstring b0,
int pos,
const bstring b1);
664 bninchr(
const bstring b0,
int pos,
const bstring b1);
674 bninchrr(
const bstring b0,
int pos,
const bstring b1);
698 bfindreplace(bstring b,
const bstring find,
const bstring repl,
int pos);
790 bsplit(
const bstring str,
unsigned char splitChar);
800 bsplits(
const bstring str,
const bstring splitStr);
810 bsplitstr(
const bstring str,
const bstring splitStr);
851 unsigned char splitChar,
853 int(*cb)(
void *parm,
int ofs,
int len),
878 const bstring splitStr,
880 int(*cb)(
void *parm,
int ofs,
int len),
905 const bstring splitStr,
907 int(*cb)(
void *parm,
int ofs,
int len),
void *parm);
1009 bformata(bstring b,
const char *fmt, ...);
1059 bvcformata(bstring b,
int count,
const char *fmt, va_list arglist);
1086 #define bvformata(ret, b, fmt, lastarg) \ 1088 bstring bstrtmp_b =(b); \ 1089 const char *bstrtmp_fmt = (fmt); \ 1090 int bstrtmp_r = BSTR_ERR, bstrtmp_sz = 16; \ 1092 va_list bstrtmp_arglist; \ 1093 va_start(bstrtmp_arglist, lastarg); \ 1094 bstrtmp_r = bvcformata(bstrtmp_b, bstrtmp_sz, bstrtmp_fmt, \ 1096 va_end(bstrtmp_arglist); \ 1097 if(bstrtmp_r >= 0) { \ 1099 bstrtmp_r = BSTR_OK; \ 1101 } else if(-bstrtmp_r <= bstrtmp_sz) { \ 1103 bstrtmp_r = BSTR_ERR; \ 1107 bstrtmp_sz = -bstrtmp_r; \ 1112 typedef int (*bNgetc)(
void *parm);
1114 typedef size_t (*bNread)(
void *buff,
size_t elsize,
size_t nelem,
void *parm);
1153 bgets(bNgetc getcPtr,
void *parm,
char terminator);
1169 bread(bNread readPtr,
void *parm);
1180 bgetsa(bstring b, bNgetc getcPtr,
void *parm,
char terminator);
1191 bassigngets(bstring b, bNgetc getcPtr,
void *parm,
char terminator);
1200 breada(bstring b, bNread readPtr,
void *parm);
1210 bsopen(bNread readPtr,
void *parm);
1348 const bstring splitStr,
1349 int(*cb)(
void *parm,
int ofs,
const bstring entry),
1378 const bstring splitStr,
1379 int(*cb)(
void *parm,
int ofs,
const bstring entry),
1409 #define blengthe(b, e) \ 1410 (((b) == (void *)0 || (b)->slen < 0) \ 1419 #define blength(b) \ 1427 #define bdataofse(b, o, e) \ 1428 (((b) == (void *)0 || (b)->data == (void *)0) \ 1430 : ((char *)(b)->data) + (o)) 1437 #define bdataofs(b, o) \ 1438 (bdataofse((b),(o),(void *)0)) 1445 #define bdatae(b, e) \ 1446 (bdataofse(b, 0, e)) 1462 #define bchare(b, p, e) \ 1463 ((((unsigned)(p)) < (unsigned)blength(b)) \ 1464 ? ((b)->data[(p)]) \ 1473 #define bchar(b, p) \ 1474 bchare((b), (p), '\0') 1480 #define bsStaticMlen(q, m) { (m), (int)sizeof(q) - 1, (unsigned char *)("" q "") } 1482 #if defined (_MSC_VER) 1497 #define bsStatic(q) bsStaticMlen(q, -32) 1503 #define bsStatic(q) bsStaticMlen(q, -__LINE__) 1526 #define bsStaticBlkParms(q) \ 1527 ((void *)("" q "")), ((int)sizeof(q) -1) 1533 #define cstr2tbstr btfromcstr 1548 #define btfromcstr(t, s) \ 1550 (t).data = (unsigned char *)(s); \ 1551 (t).slen = ((t).data) \ 1552 ? ((int)(strlen)((char *)(t).data)) \ 1559 #define blk2tbstr(t, s, l) \ 1561 (t).data = (unsigned char *)(s); \ 1580 #define btfromblk(t, s, l) blk2tbstr(t, s, l) 1597 #define bmid2tbstr(t, b, p, l) \ 1599 const bstring bstrtmp_s =(b); \ 1600 if (bstrtmp_s && bstrtmp_s->data && bstrtmp_s->slen >= 0) { \ 1601 int bstrtmp_left = (p); \ 1602 int bstrtmp_len = (l); \ 1603 if (bstrtmp_left < 0) { \ 1604 bstrtmp_len += bstrtmp_left; \ 1607 if (bstrtmp_len > bstrtmp_s->slen - bstrtmp_left) { \ 1608 bstrtmp_len = bstrtmp_s->slen - bstrtmp_left; \ 1610 if(bstrtmp_len <= 0) { \ 1611 (t).data =(unsigned char *)""; \ 1614 (t).data = bstrtmp_s->data + bstrtmp_left; \ 1615 (t).slen = bstrtmp_len; \ 1618 (t).data = (unsigned char *)""; \ 1621 (t).mlen = -__LINE__; \ 1638 #define btfromblkltrimws(t, s, l) \ 1640 int bstrtmp_idx = 0, bstrtmp_len =(l); \ 1641 unsigned char *bstrtmp_s = (s); \ 1642 if (bstrtmp_s && bstrtmp_len >= 0) { \ 1643 for (; bstrtmp_idx < bstrtmp_len; bstrtmp_idx++) { \ 1644 if (!isspace(bstrtmp_s[bstrtmp_idx])) { \ 1649 (t).data = bstrtmp_s + bstrtmp_idx; \ 1650 (t).slen = bstrtmp_len - bstrtmp_idx; \ 1651 (t).mlen = -__LINE__; \ 1668 #define btfromblkrtrimws(t, s, l) \ 1670 int bstrtmp_len = (l) - 1; \ 1671 unsigned char *bstrtmp_s = (s); \ 1672 if (bstrtmp_s && bstrtmp_len >= 0) { \ 1673 for (; bstrtmp_len >= 0; bstrtmp_len--) { \ 1674 if (!isspace(bstrtmp_s[bstrtmp_len])) { \ 1679 (t).data = bstrtmp_s; \ 1680 (t).slen = bstrtmp_len + 1; \ 1681 (t).mlen = -__LINE__; \ 1698 #define btfromblktrimws(t, s, l) \ 1700 int bstrtmp_idx = 0, bstrtmp_len = (l) - 1; \ 1701 unsigned char *bstrtmp_s = (s); \ 1702 if (bstrtmp_s && bstrtmp_len >= 0) { \ 1703 for (; bstrtmp_idx <= bstrtmp_len; bstrtmp_idx++) { \ 1704 if(!isspace(bstrtmp_s[bstrtmp_idx])) { \ 1708 for (; bstrtmp_len >= bstrtmp_idx; bstrtmp_len--) { \ 1709 if (!isspace(bstrtmp_s[bstrtmp_len])) { \ 1714 (t).data = bstrtmp_s + bstrtmp_idx; \ 1715 (t).slen = bstrtmp_len + 1 - bstrtmp_idx; \ 1716 (t).mlen = -__LINE__; \ 1729 #define bwriteprotect(t) \ 1731 if ((t).mlen >= 0) { \ 1748 #define bwriteallow(t) \ 1750 if ((t).mlen == -1) { \ 1751 (t).mlen = (t).slen + ((t).slen == 0); \ 1758 #define biswriteprotected(t) \ BSTR_PUBLIC int binstr(const bstring s1, int pos, const bstring s2)
Search for the bstring s2 in s1 starting at position pos and looking in a forward (increasing) direct...
Definition: bstrlib.c:980
BSTR_PUBLIC int bsplitcb(const bstring str, unsigned char splitChar, int pos, int(*cb)(void *parm, int ofs, int len), void *parm)
Iterate the set of disjoint sequential substrings over str starting at position pos divided by the ch...
Definition: bstrlib.c:2537
BSTR_PUBLIC int bassignmidstr(bstring a, const bstring b, int left, int len)
Overwrite the bstring a with the middle of contents of bstring b starting from position left and runn...
Definition: bstrlib.c:451
BSTR_PUBLIC int biseqcstr(const bstring b, const char *s)
Compare the bstring b and char * string s.
Definition: bstrlib.c:817
BSTR_PUBLIC int bcstrfree(char *s)
Frees a C-string generated by bstr2cstr().
Definition: bstrlib.c:286
BSTR_PUBLIC int bsread(bstring b, struct bStream *s, int n)
Read a bstring of length n (or, if it is fewer, as many bytes as is remaining) from the bStream...
Definition: bstrlib.c:2238
BSTR_PUBLIC int brtrimws(bstring b)
Delete whitespace contiguous from the right end of the bstring.
Definition: bstrlib.c:727
BSTR_PUBLIC int bseof(const struct bStream *s)
Return the defacto "EOF" (end of file) state of a stream (1 if the bStream is in an EOF state...
Definition: bstrlib.c:1966
BSTR_PUBLIC int bstrrchrp(const bstring b, int c, int pos)
Search for the character c in b backwards from the position pos in bstring (inclusive).
Definition: bstrlib.c:1238
BSTR_PUBLIC int btoupper(bstring b)
Convert contents of bstring to upper case.
Definition: bstrlib.c:551
BSTR_PUBLIC int bsetstr(bstring b0, int pos, const bstring b1, unsigned char fill)
Overwrite the bstring b0 starting at position pos with the bstring b1.
Definition: bstrlib.c:1406
BSTR_PUBLIC int bfindreplacecaseless(bstring b, const bstring find, const bstring repl, int pos)
Replace all occurrences of the find substring, ignoring case, with a replace bstring after a given po...
Definition: bstrlib.c:1750
BSTR_PUBLIC bstring bstrcpy(const bstring b1)
Make a copy of the passed in bstring.
Definition: bstrlib.c:393
BSTR_PUBLIC int binstrr(const bstring s1, int pos, const bstring s2)
Search for the bstring s2 in s1 starting at position pos and looking in a backward (decreasing) direc...
Definition: bstrlib.c:1070
BSTR_PUBLIC bstring bfromcstralloc(int mlen, const char *str)
Create a bstring which contains the contents of the '\0' terminated char *buffer str.
Definition: bstrlib.c:206
BSTR_PUBLIC int bltrimws(bstring b)
Delete whitespace contiguous from the left end of the bstring.
Definition: bstrlib.c:708
BSTR_PUBLIC int bstrListAllocMin(struct bstrList *sl, int msz)
Try to allocate the minimum amount of memory for the list to include at least msz entries or sl->qty ...
Definition: bstrlib.c:2508
BSTR_PUBLIC int binchr(const bstring b0, int pos, const bstring b1)
Search for the first position in b0 starting from pos or after, in which one of the characters in b1 ...
Definition: bstrlib.c:1321
BSTR_PUBLIC bstring bgets(bNgetc getcPtr, void *parm, char terminator)
Read a bstring from a stream.
Definition: bstrlib.c:1914
BSTR_PUBLIC int bassign(bstring a, const bstring b)
Overwrite the bstring a with the contents of bstring b.
Definition: bstrlib.c:428
BSTR_PUBLIC struct bstrList * bsplit(const bstring str, unsigned char splitChar)
Create an array of sequential substrings from str divided by the character splitChar.
Definition: bstrlib.c:2667
BSTR_PUBLIC int balloc(bstring s, int len)
Increase the allocated memory backing the data buffer for the bstring b to a length of at least lengt...
Definition: bstrlib.c:96
BSTR_PUBLIC int bassignformat(bstring b, const char *fmt,...)
After the first parameter, it takes the same parameters as printf(), but rather than outputting resul...
Definition: bstrlib.c:2813
BSTR_PUBLIC int bspeek(bstring r, const struct bStream *s)
Return the number of currently buffered characters from the bStream that will be read prior to reads ...
Definition: bstrlib.c:2260
BSTR_PUBLIC int bsunread(struct bStream *s, const bstring b)
Insert a bstring into the bStream at the current position.
Definition: bstrlib.c:2251
BSTR_PUBLIC int bstrchrp(const bstring b, int c, int pos)
Search for the character c in b forwards from the position pos (inclusive).
Definition: bstrlib.c:1223
BSTR_PUBLIC int bsbufflength(struct bStream *s, int sz)
Set the length of the buffer used by the bStream.
Definition: bstrlib.c:1952
BSTR_PUBLIC int binsertch(bstring s1, int pos, int len, unsigned char fill)
Inserts the character fill repeatedly into s1 at position pos for a length len.
Definition: bstrlib.c:1756
BSTR_PUBLIC int btrunc(bstring b, int n)
Truncate the bstring to at most n characters.
Definition: bstrlib.c:527
BSTR_PUBLIC int bstrcmp(const bstring b0, const bstring b1)
Compare the bstrings b0 and b1 for ordering.
Definition: bstrlib.c:848
BSTR_PUBLIC int bdestroy(bstring b)
Deallocate the bstring passed.
Definition: bstrlib.c:961
BSTR_PUBLIC int bformata(bstring b, const char *fmt,...)
In addition to the initial output buffer b, bformata takes the same parameters as printf ()...
Definition: bstrlib.c:2762
BSTR_PUBLIC int binstrrcaseless(const bstring s1, int pos, const bstring s2)
Search for the bstring s2 in s1 starting at position pos and looking in a backward (decreasing) direc...
Definition: bstrlib.c:1171
BSTR_PUBLIC int biseq(const bstring b0, const bstring b1)
Compare the bstring b0 and b1 for equality.
Definition: bstrlib.c:779
BSTR_PUBLIC int bfindreplace(bstring b, const bstring find, const bstring repl, int pos)
Replace all occurrences of the find substring with a replace bstring after a given position in the bs...
Definition: bstrlib.c:1744
BSTR_PUBLIC bstring bjoin(const struct bstrList *bl, const bstring sep)
Join the entries of a bstrList into one bstring by sequentially concatenating them with the sep bstri...
Definition: bstrlib.c:2269
BSTR_PUBLIC int bassigncstr(bstring a, const char *str)
Overwrite the string a with the contents of char * string str.
Definition: bstrlib.c:482
BSTR_PUBLIC int bssplitscb(struct bStream *s, const bstring splitStr, int(*cb)(void *parm, int ofs, const bstring entry), void *parm)
Iterate the set of disjoint sequential substrings over the stream s divided by any character from the...
Definition: bstrlib.c:2319
Definition: bstrlib.h:726
BSTR_PUBLIC int bdelete(bstring s1, int pos, int len)
Removes characters from pos to pos+len-1 and shifts the tail of the bstring starting from pos+len to ...
Definition: bstrlib.c:935
BSTR_PUBLIC int bgetsa(bstring b, bNgetc getcPtr, void *parm, char terminator)
Read from a stream and concatenate to a bstring.
Definition: bstrlib.c:1884
BSTR_PUBLIC int bconchar(bstring b0, char c)
Concatenate the character c to the end of bstring b.
Definition: bstrlib.c:330
BSTR_PUBLIC int bninchrr(const bstring b0, int pos, const bstring b1)
Search for the last position in b0 no greater than pos, in which none of the characters in b1 is foun...
Definition: bstrlib.c:1388
BSTR_PUBLIC int breplace(bstring b1, int pos, int len, const bstring b2, unsigned char fill)
Replace a section of a bstring from pos for a length len with the bstring b2.
Definition: bstrlib.c:1512
BSTR_PUBLIC int bconcat(bstring b0, const bstring b1)
Concatenate the bstring b1 to the end of bstring b0.
Definition: bstrlib.c:293
BSTR_PUBLIC bstring blk2bstr(const void *blk, int len)
Create a bstring whose contents are described by the contiguous buffer pointing to by blk with a leng...
Definition: bstrlib.c:238
BSTR_PUBLIC struct bstrList * bstrListCreate(void)
Create an empty struct bstrList.
Definition: bstrlib.c:2437
BSTR_PUBLIC void * bsclose(struct bStream *s)
Close the bStream, and return the handle to the stream that was originally used to open the given str...
Definition: bstrlib.c:1975
BSTR_PUBLIC int btolower(bstring b)
Convert contents of bstring to lower case.
Definition: bstrlib.c:566
BSTR_PUBLIC int bstrListAlloc(struct bstrList *sl, int msz)
Ensure that there is memory for at least msz number of entries for the list.
Definition: bstrlib.c:2475
BSTR_PUBLIC int bisstemeqblk(const bstring b0, const void *blk, int len)
Compare beginning of bstring b0 with a block of memory of length len for equality.
Definition: bstrlib.c:796
BSTR_PUBLIC int bsreadln(bstring b, struct bStream *s, char terminator)
Read a bstring terminated by the terminator character or the end of the stream from the bStream (s) a...
Definition: bstrlib.c:2206
BSTR_PUBLIC int bstricmp(const bstring b0, const bstring b1)
Compare two bstrings without differentiating between case.
Definition: bstrlib.c:581
BSTR_PUBLIC int bassigngets(bstring b, bNgetc getcPtr, void *parm, char terminator)
Read from a stream and concatenate to a bstring.
Definition: bstrlib.c:1854
BSTR_PUBLIC int btrimws(bstring b)
Delete whitespace contiguous from both ends of the bstring.
Definition: bstrlib.c:752
BSTR_PUBLIC int bsreadlns(bstring r, struct bStream *s, const bstring term)
Read a bstring terminated by any character in the terminators bstring or the end of the stream from t...
Definition: bstrlib.c:2219
BSTR_PUBLIC int bisstemeqcaselessblk(const bstring b0, const void *blk, int len)
Compare beginning of bstring b0 with a block of memory of length len without differentiating between ...
Definition: bstrlib.c:684
BSTR_PUBLIC int bsplitstrcb(const bstring str, const bstring splitStr, int pos, int(*cb)(void *parm, int ofs, int len), void *parm)
Iterate the set of disjoint sequential substrings over str starting at position pos divided by the en...
Definition: bstrlib.c:2597
BSTR_PUBLIC struct bstrList * bsplitstr(const bstring str, const bstring splitStr)
Create an array of sequential substrings from str divided by the entire substring splitStr...
Definition: bstrlib.c:2694
BSTR_PUBLIC int bcatblk(bstring b, const void *s, int len)
Concatenate a fixed length buffer (s, len) to the end of bstring b.
Definition: bstrlib.c:371
BSTR_PUBLIC bstring bfromcstr(const char *str)
Take a standard C library style '\0' terminated char buffer and generate a bstring with the same cont...
Definition: bstrlib.c:177
BSTR_PUBLIC int breada(bstring b, bNread readPtr, void *parm)
Read an entire stream and append it to a bstring, verbatim.
Definition: bstrlib.c:1818
BSTR_PUBLIC int binchrr(const bstring b0, int pos, const bstring b1)
Search for the last position in b0 no greater than pos, in which one of the characters in b1 is found...
Definition: bstrlib.c:1352
Definition: bstrlib.c:1925
BSTR_PUBLIC char * bstr2cstr(const bstring s, char z)
Create a '\0' terminated char buffer which contains the contents of the bstring s, except that any contained '\0' characters are converted to the character in z.
Definition: bstrlib.c:266
BSTR_PUBLIC int binstrcaseless(const bstring s1, int pos, const bstring s2)
Search for the bstring s2 in s1 starting at position pos and looking in a forward (increasing) direct...
Definition: bstrlib.c:1121
BSTR_PUBLIC int bsreada(bstring b, struct bStream *s, int n)
Read a bstring of length n (or, if it is fewer, as many bytes as is remaining) from the bStream and c...
Definition: bstrlib.c:2138
BSTR_PUBLIC int bninchr(const bstring b0, int pos, const bstring b1)
Search for the first position in b0 starting from pos or after, in which none of the characters in b1...
Definition: bstrlib.c:1373
BSTR_PUBLIC int bstrListDestroy(struct bstrList *sl)
Destroy a struct bstrList structure that was returned by the bsplit function.
Definition: bstrlib.c:2454
BSTR_PUBLIC int binsert(bstring s1, int pos, const bstring s2, unsigned char fill)
Inserts the bstring s2 into s1 at position pos.
Definition: bstrlib.c:1459
BSTR_PUBLIC struct bstrList * bsplits(const bstring str, const bstring splitStr)
Create an array of sequential substrings from str divided by any character contained in splitStr...
Definition: bstrlib.c:2720
BSTR_PUBLIC int bsreadlnsa(bstring r, struct bStream *s, const bstring term)
Read a bstring terminated by any character in the terminators bstring or the end of the stream from t...
Definition: bstrlib.c:2062
BSTR_PUBLIC int bsreadlna(bstring b, struct bStream *s, char terminator)
Read a bstring terminated by the terminator character or the end of the stream from the bStream (s) a...
Definition: bstrlib.c:1994
BSTR_PUBLIC int bvcformata(bstring b, int count, const char *fmt, va_list arglist)
The bvcformata function formats data under control of the format control string fmt and attempts to a...
Definition: bstrlib.c:2911
BSTR_PUBLIC int bcatcstr(bstring b, const char *s)
Concatenate the char * string s to the end of bstring b.
Definition: bstrlib.c:347
BSTR_PUBLIC int bpattern(bstring b, int len)
Replicate the starting bstring, b, end to end repeatedly until it surpasses len characters, then chop the result to exactly len characters.
Definition: bstrlib.c:1795
BSTR_PUBLIC int bassignblk(bstring a, const void *s, int len)
Overwrite the bstring a with the middle of contents of bstring b starting from position left and runn...
Definition: bstrlib.c:509
BSTR_PUBLIC bstring bformat(const char *fmt,...)
Takes the same parameters as printf(), but rather than outputting results to stdio, it forms a bstring which contains what would have been output.
Definition: bstrlib.c:2864
BSTR_PUBLIC int bssplitstrcb(struct bStream *s, const bstring splitStr, int(*cb)(void *parm, int ofs, const bstring entry), void *parm)
Iterate the set of disjoint sequential substrings over the stream s divided by the entire substring s...
Definition: bstrlib.c:2380
BSTR_PUBLIC int ballocmin(bstring b, int len)
Change the amount of memory backing the bstring b to at least length.
Definition: bstrlib.c:152
BSTR_PUBLIC bstring bread(bNread readPtr, void *parm)
Read an entire stream into a bstring, verbatum.
Definition: bstrlib.c:1843
BSTR_PUBLIC bstring bmidstr(const bstring b, int left, int len)
Create a bstring which is the substring of b starting from position left and running for a length len...
Definition: bstrlib.c:916
BSTR_PUBLIC int bstrnicmp(const bstring b0, const bstring b1, int n)
Compare two bstrings without differentiating between case for at most n characters.
Definition: bstrlib.c:617
BSTR_PUBLIC int bstrncmp(const bstring b0, const bstring b1, int n)
Compare the bstrings b0 and b1 for ordering for at most n characters.
Definition: bstrlib.c:881
BSTR_PUBLIC int biseqcstrcaseless(const bstring b, const char *s)
Compare the bstring b and char * string s.
Definition: bstrlib.c:832
BSTR_PUBLIC int bsplitscb(const bstring str, const bstring splitStr, int pos, int(*cb)(void *parm, int ofs, int len), void *parm)
Iterate the set of disjoint sequential substrings over str starting at position pos divided by any of...
Definition: bstrlib.c:2561
BSTR_PUBLIC struct bStream * bsopen(bNread readPtr, void *parm)
Wrap a given open stream (described by a fread compatible function pointer and stream handle) into an...
Definition: bstrlib.c:1934
BSTR_PUBLIC int biseqcaseless(const bstring b0, const bstring b1)
Compare two bstrings for equality without differentiating between case.
Definition: bstrlib.c:659