Browse Source

Moved strsep() implementation from winbuild.h to compat.h

djm34
troky 11 years ago
parent
commit
1965131784
  1. 29
      compat.h
  2. 32
      winbuild/dist/include/winbuild.h

29
compat.h

@ -70,24 +70,29 @@ static inline int setpriority(__maybe_unused int which, __maybe_unused int who, @@ -70,24 +70,29 @@ static inline int setpriority(__maybe_unused int which, __maybe_unused int who,
return 0;
}
//implement strsep() for windows
static char* strsep(char** stringp, const char* delim)
#ifndef HAVE_STRSEP
inline char *strsep(char **stringp, const char *delim)
{
char* start = *stringp;
char* p;
char *res;
p = ((start != NULL)?strpbrk(start, delim):NULL);
if (!stringp || !*stringp || !**stringp) {
return NULL;
}
res = *stringp;
while(**stringp && !strchr(delim, **stringp)) {
++(*stringp);
}
if(p == NULL)
*stringp = NULL;
else
{
*p = '\0';
*stringp = p + 1;
if (**stringp) {
**stringp = '\0';
++(*stringp);
}
return start;
return res;
}
#endif
typedef unsigned long int ulong;
typedef unsigned short int ushort;

32
winbuild/dist/include/winbuild.h vendored

@ -1,6 +1,5 @@ @@ -1,6 +1,5 @@
#ifndef __WINBUILD_H__
#define __WINBUILD_H__
#endif
#ifndef WINBUILD_H
#define WINBUILD_H
#if defined(_MSC_VER)
@ -131,29 +130,6 @@ inline void* memmem (void* buf, size_t buflen, void* pat, size_t patlen) @@ -131,29 +130,6 @@ inline void* memmem (void* buf, size_t buflen, void* pat, size_t patlen)
return 0;
}
#ifndef HAVE_STRSEP
inline char *strsep(char **stringp, const char *delim)
{
char *res;
if (!stringp || !*stringp || !**stringp) {
return NULL;
}
res = *stringp;
while(**stringp && !strchr(delim, **stringp)) {
++(*stringp);
}
if (**stringp) {
**stringp = '\0';
++(*stringp);
}
return res;
}
#endif
#define va_copy(a, b) memcpy(&(a), &(b), sizeof(va_list))
#define usleep(x) Sleep((x)/1000)
@ -162,5 +138,5 @@ inline char *strsep(char **stringp, const char *delim) @@ -162,5 +138,5 @@ inline char *strsep(char **stringp, const char *delim)
#define __func__ __FUNCTION__
#define __attribute__(x)
#endif
#endif /* _MSC_VER */
#endif /* WINBUILD_H */

Loading…
Cancel
Save