mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-04-10 19:21:37 +00:00
MINOR: standard: Add my_memspn and my_memcspn
Do the same than strsnp() and strcspn() but on a raw bytes buffer.
This commit is contained in:
parent
12d5740a38
commit
5eb96cbcbc
@ -1006,6 +1006,16 @@ char *my_strndup(const char *src, int n);
|
|||||||
*/
|
*/
|
||||||
const void *my_memmem(const void *, size_t, const void *, size_t);
|
const void *my_memmem(const void *, size_t, const void *, size_t);
|
||||||
|
|
||||||
|
/* get length of the initial segment consiting entirely of bytes within a given
|
||||||
|
* mask
|
||||||
|
*/
|
||||||
|
size_t my_memspn(const void *, size_t, const void *, size_t);
|
||||||
|
|
||||||
|
/* get length of the initial segment consiting entirely of bytes not within a
|
||||||
|
* given mask
|
||||||
|
*/
|
||||||
|
size_t my_memcspn(const void *, size_t, const void *, size_t);
|
||||||
|
|
||||||
/* This function returns the first unused key greater than or equal to <key> in
|
/* This function returns the first unused key greater than or equal to <key> in
|
||||||
* ID tree <root>. Zero is returned if no place is found.
|
* ID tree <root>. Zero is returned if no place is found.
|
||||||
*/
|
*/
|
||||||
|
@ -2292,6 +2292,32 @@ const void *my_memmem(const void *haystack, size_t haystacklen, const void *need
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* get length of the initial segment consiting entirely of bytes in <accept> */
|
||||||
|
size_t my_memspn(const void *str, size_t len, const void *accept, size_t acceptlen)
|
||||||
|
{
|
||||||
|
size_t ret = 0;
|
||||||
|
|
||||||
|
while (ret < len && memchr(accept, *((int *)str), acceptlen)) {
|
||||||
|
str++;
|
||||||
|
ret++;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* get length of the initial segment consiting entirely of bytes not in <rejcet> */
|
||||||
|
size_t my_memcspn(const void *str, size_t len, const void *reject, size_t rejectlen)
|
||||||
|
{
|
||||||
|
size_t ret = 0;
|
||||||
|
|
||||||
|
while (ret < len) {
|
||||||
|
if(memchr(reject, *((int *)str), rejectlen))
|
||||||
|
return ret;
|
||||||
|
str++;
|
||||||
|
ret++;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/* This function returns the first unused key greater than or equal to <key> in
|
/* This function returns the first unused key greater than or equal to <key> in
|
||||||
* ID tree <root>. Zero is returned if no place is found.
|
* ID tree <root>. Zero is returned if no place is found.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user