Fix implementation of strsep.

svn:r457
This commit is contained in:
Nick Mathewson 2007-10-03 04:14:54 +00:00
parent 4ed4867375
commit bc7b7c249c
2 changed files with 9 additions and 4 deletions

View File

@ -25,4 +25,5 @@ Changes in current version:
o Make test subdirectory compile under mingw.
o Fix win32 buffer.c behavior so that it is correct for sockets (which do not like ReadFile and WriteFile).
o Make the test.sh script run unit tests for the evpoll method.
o Make the entire evdns.h header enclosed in "extern C" as appropriate.
o Make the entire evdns.h header enclosed in "extern C" as appropriate.
o Fix implementation of strsep on platforms that lack it

10
http.c
View File

@ -138,17 +138,21 @@ void evhttp_read(int, short, void *);
void evhttp_write(int, short, void *);
#ifndef HAVE_STRSEP
/* strsep replacement for platforms that lack it. Only works if
* del is one character long. */
static char *
strsep(char **s, const char *del)
{
char *d, *tok;
assert(strlen(del) == 1);
if (!s || !*s)
return NULL;
tok = *s;
d = strstr(tok, del);
if (d)
*s = d + strlen(del);
else
if (d) {
*d = '\0';
*s = d + 1;
} else
*s = NULL;
return tok;
}