added memstr and extract_token_str helper functions

This commit is contained in:
Tobias Brunner
2008-12-03 09:45:58 +00:00
parent 0948edbbff
commit 81736d7d24
4 changed files with 57 additions and 2 deletions
+27
View File
@@ -75,6 +75,33 @@ bool extract_token(chunk_t *token, const char termination, chunk_t *src)
return TRUE;
}
/**
* extracts a token ending with the first occurrence of a given null-terminated string
*/
bool extract_token_str(chunk_t *token, const char *termination, chunk_t *src)
{
u_char *eot = memstr(src->ptr, termination, src->len);
size_t l = strlen(termination);
/* initialize empty token */
*token = chunk_empty;
if (eot == NULL) /* termination string not found */
{
return FALSE;
}
/* extract token */
token->ptr = src->ptr;
token->len = (u_int)(eot - src->ptr);
/* advance src pointer after termination string */
src->ptr = eot + l;
src->len -= (token->len + l);
return TRUE;
}
/**
* extracts a token ending with the last occurrence of a given termination symbol
*/