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)
497 int bstr_util_cmp_mem(
const void *data1,
size_t len1,
const void *data2,
size_t len2);
bstr * bstr_add_c_noex(bstr *b, const char *cstr)
Definition: bstr.c:62
int bstr_begins_with_c_nocase(const bstr *bhaystack, const char *cneedle)
Definition: bstr.c:122
int bstr_chr(const bstr *b, int c)
Definition: bstr.c:194
int bstr_char_at(const bstr *b, size_t pos)
Definition: bstr.c:172
bstr * bstr_dup_c(const char *cstr)
Definition: bstr.c:238
bstr * bstr_wrap_c(const char *cstr)
Definition: bstr.c:563
int bstr_begins_with(const bstr *bhaystack, const bstr *bneedle)
Definition: bstr.c:114
size_t size
Definition: bstr.h:64
bstr * bstr_expand(bstr *b, size_t newsize)
Definition: bstr.c:262
int bstr_util_cmp_mem_nocase(const void *data1, size_t len1, const void *data2, size_t len2)
Definition: bstr.c:366
bstr * bstr_dup_lower(const bstr *b)
Definition: bstr.c:250
void bstr_chop(bstr *b)
Definition: bstr.c:188
int bstr_util_mem_index_of_mem(const void *data1, size_t len1, const void *data2, size_t len2)
Definition: bstr.c:461
int bstr_cmp_mem(const bstr *b, const void *data, size_t len)
Definition: bstr.c:222
int bstr_index_of_c_nocase(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:242
int bstr_cmp_c_nocase(const bstr *b, const char *cstr)
Definition: bstr.c:218
int bstr_util_mem_index_of_c_nocase(const void *data, size_t len, const char *cstr)
Definition: bstr.c:457
int bstr_begins_with_nocase(const bstr *bhaystack, const bstr *cneedle)
Definition: bstr.c:126
int bstr_begins_with_c(const bstr *bhaystack, const char *cneedle)
Definition: bstr.c:118
char * bstr_util_memdup_to_c(const void *data, size_t len)
Definition: bstr.c:526
bstr * bstr_add_c(bstr *b, const char *cstr)
Definition: bstr.c:58
int bstr_util_mem_index_of_mem_nocase(const void *data1, size_t len1, const void *data2, size_t len2)
Definition: bstr.c:484
int64_t bstr_util_mem_to_pint(const void *data, size_t len, int base, size_t *lastlen)
Definition: bstr.c:391
bstr * bstr_alloc(size_t size)
Definition: bstr.c:43
void bstr_util_mem_trim(unsigned char **data, size_t *len)
Definition: bstr.c:507
int bstr_index_of_c(const bstr *bhaystack, const char *cneedle)
Definition: bstr.c:290
int bstr_util_mem_index_of_c(const void *data, size_t len, const char *cstr)
Definition: bstr.c:453
bstr * bstr_add_mem(bstr *b, const void *data, size_t len)
Definition: bstr.c:66
size_t len
Definition: bstr.h:59
int bstr_index_of_mem(const bstr *bhaystack, const void *data, size_t len)
Definition: bstr.c:298
int bstr_cmp_nocase(const bstr *b1, const bstr *b2)
Definition: bstr.c:230
void bstr_adjust_size(bstr *b, size_t newsize)
Definition: bstr.c:110
int bstr_char_at_end(const bstr *b, size_t pos)
Definition: bstr.c:180
bstr * bstr_wrap_mem(const void *data, size_t len)
Definition: bstr.c:567
int bstr_index_of(const bstr *bhaystack, const bstr *bneedle)
Definition: bstr.c:286
int bstr_cmp_mem_nocase(const bstr *b, const void *data, size_t len)
Definition: bstr.c:226
bstr * bstr_dup_mem(const void *data, size_t len)
Definition: bstr.c:254
int bstr_cmp(const bstr *b1, const bstr *b2)
Definition: bstr.c:210
int bstr_util_cmp_mem(const void *data1, size_t len1, const void *data2, size_t len2)
Definition: bstr.c:341
int bstr_cmp_c(const bstr *b, const char *cstr)
Definition: bstr.c:214
bstr * bstr_dup(const bstr *b)
Definition: bstr.c:234
bstr * bstr_to_lowercase(bstr *b)
Definition: bstr.c:326
void bstr_adjust_len(bstr *b, size_t newlen)
Definition: bstr.c:102
unsigned char * realptr
Definition: bstr.h:71
int bstr_rchr(const bstr *b, int c)
Definition: bstr.c:310
int bstr_index_of_nocase(const bstr *bhaystack, const bstr *bneedle)
Definition: bstr.c:306
char * bstr_util_strdup_to_c(const bstr *b)
Definition: bstr.c:558
bstr * bstr_add_noex(bstr *bdestination, const bstr *bsource)
Definition: bstr.c:98
void bstr_free(bstr *b)
Definition: bstr.c:281
int bstr_begins_with_mem(const bstr *bhaystack, const void *data, size_t len)
Definition: bstr.c:130
bstr * bstr_add_mem_noex(bstr *b, const void *data, size_t len)
Definition: bstr.c:81
int bstr_begins_with_mem_nocase(const bstr *bhaystack, const void *data, size_t len)
Definition: bstr.c:151
void bstr_adjust_realptr(bstr *b, void *newrealptr)
Definition: bstr.c:106
int bstr_index_of_mem_nocase(const bstr *bhaystack, const void *data, size_t len)
Definition: bstr.c:302
bstr * bstr_add(bstr *bdestination, const bstr *bsource)
Definition: bstr.c:54