77#define bstr_len(X) ((*(X)).len)
78#define bstr_size(X) ((*(X)).size)
79#define bstr_ptr(X) ( ((*(X)).realptr == NULL) ? ((unsigned char *)(X) + sizeof(bstr)) : (unsigned char *)(*(X)).realptr )
80#define bstr_realptr(X) ((*(X)).realptr)
526int bstr_util_cmp_mem(
const void *data1,
size_t len1,
const void *data2,
size_t len2);
int bstr_char_at(const bstr *b, size_t pos)
Definition: bstr.c:172
int bstr_index_of_c(const bstr *bhaystack, const char *cneedle)
Definition: bstr.c:294
bstr * bstr_dup_ex(const bstr *b, size_t offset, size_t len)
Definition: bstr.c:246
int bstr_begins_with_nocase(const bstr *bhaystack, const bstr *cneedle)
Definition: bstr.c:126
int bstr_index_of_mem_nocase(const bstr *bhaystack, const void *data, size_t len)
Definition: bstr.c:310
int bstr_cmp_c_nocase(const bstr *b, const char *cstr)
Definition: bstr.c:218
void bstr_free(bstr *b)
Definition: bstr.c:285
int bstr_begins_with_c(const bstr *bhaystack, const char *cneedle)
Definition: bstr.c:118
bstr * bstr_add_c_noex(bstr *b, const char *cstr)
Definition: bstr.c:62
int bstr_util_mem_index_of_mem_nocase(const void *data1, size_t len1, const void *data2, size_t len2)
Definition: bstr.c:516
bstr * bstr_dup_c(const char *cstr)
Definition: bstr.c:242
int bstr_util_mem_index_of_mem(const void *data1, size_t len1, const void *data2, size_t len2)
Definition: bstr.c:493
int bstr_cmp_mem(const bstr *b, const void *data, size_t len)
Definition: bstr.c:226
int bstr_begins_with_mem_nocase(const bstr *bhaystack, const void *data, size_t len)
Definition: bstr.c:151
int bstr_begins_with(const bstr *bhaystack, const bstr *bneedle)
Definition: bstr.c:114
int bstr_rchr(const bstr *b, int c)
Definition: bstr.c:318
bstr * bstr_add_mem(bstr *b, const void *data, size_t len)
Definition: bstr.c:66
bstr * bstr_dup(const bstr *b)
Definition: bstr.c:238
int bstr_begins_with_c_nocase(const bstr *bhaystack, const char *cneedle)
Definition: bstr.c:122
bstr * bstr_add_noex(bstr *bdestination, const bstr *bsource)
Definition: bstr.c:98
int bstr_cmp_nocase(const bstr *b1, const bstr *b2)
Definition: bstr.c:234
int bstr_util_mem_index_of_mem_nocasenorzero(const void *data1, size_t len1, const void *data2, size_t len2)
Definition: bstr.c:539
bstr * bstr_dup_lower(const bstr *b)
Definition: bstr.c:254
int bstr_begins_with_mem(const bstr *bhaystack, const void *data, size_t len)
Definition: bstr.c:130
int bstr_index_of_nocase(const bstr *bhaystack, const bstr *bneedle)
Definition: bstr.c:314
bstr * bstr_add_c(bstr *b, const char *cstr)
Definition: bstr.c:58
bstr * bstr_to_lowercase(bstr *b)
Definition: bstr.c:334
char * bstr_util_strdup_to_c(const bstr *b)
Definition: bstr.c:621
int bstr_util_mem_index_of_c(const void *data, size_t len, const char *cstr)
Definition: bstr.c:485
int bstr_chr(const bstr *b, int c)
Definition: bstr.c:194
bstr * bstr_wrap_c(const char *cstr)
Definition: bstr.c:626
bstr * bstr_dup_mem(const void *data, size_t len)
Definition: bstr.c:258
int bstr_cmp(const bstr *b1, const bstr *b2)
Definition: bstr.c:210
int bstr_index_of(const bstr *bhaystack, const bstr *bneedle)
Definition: bstr.c:290
int bstr_char_at_end(const bstr *b, size_t pos)
Definition: bstr.c:180
char * bstr_util_memdup_to_c(const void *data, size_t len)
Definition: bstr.c:589
int bstr_cmp_mem_nocase(const bstr *b, const void *data, size_t len)
Definition: bstr.c:230
void bstr_util_mem_trim(unsigned char **data, size_t *len)
Definition: bstr.c:570
int bstr_util_mem_index_of_c_nocase(const void *data, size_t len, const char *cstr)
Definition: bstr.c:489
int64_t bstr_util_mem_to_pint(const void *data, size_t len, int base, size_t *lastlen)
Definition: bstr.c:431
bstr * bstr_alloc(size_t size)
Definition: bstr.c:43
int bstr_util_cmp_mem(const void *data1, size_t len1, const void *data2, size_t len2)
Definition: bstr.c:349
int bstr_util_cmp_mem_nocasenorzero(const void *data1, size_t len1, const void *data2, size_t len2)
Definition: bstr.c:399
int bstr_index_of_mem(const bstr *bhaystack, const void *data, size_t len)
Definition: bstr.c:306
int bstr_util_cmp_mem_nocase(const void *data1, size_t len1, const void *data2, size_t len2)
Definition: bstr.c:374
int bstr_cmp_nocasenorzero(const bstr *b1, const bstr *b2)
bstr * bstr_add_mem_noex(bstr *b, const void *data, size_t len)
Definition: bstr.c:81
int bstr_cmp_c(const bstr *b, const char *cstr)
Definition: bstr.c:214
void bstr_adjust_size(bstr *b, size_t newsize)
Definition: bstr.c:110
int bstr_index_of_c_nocasenorzero(const bstr *bhaystack, const char *cneedle)
Definition: bstr.c:302
int bstr_index_of_c_nocase(const bstr *bhaystack, const char *cneedle)
Definition: bstr.c:298
void bstr_adjust_len(bstr *b, size_t newlen)
Definition: bstr.c:102
bstr * bstr_wrap_mem(const void *data, size_t len)
Definition: bstr.c:630
void bstr_chop(bstr *b)
Definition: bstr.c:188
bstr * bstr_add(bstr *bdestination, const bstr *bsource)
Definition: bstr.c:54
int bstr_cmp_c_nocasenorzero(const bstr *b, const char *cstr)
Definition: bstr.c:222
void bstr_adjust_realptr(bstr *b, void *newrealptr)
Definition: bstr.c:106
bstr * bstr_expand(bstr *b, size_t newsize)
Definition: bstr.c:266
unsigned char * realptr
Definition: bstr.h:71
size_t size
Definition: bstr.h:64
size_t len
Definition: bstr.h:59