1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-22 04:24:19 +00:00

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

This commit is contained in:
troky 2014-06-21 10:33:06 +02:00
parent 83b2ac9ec7
commit 1965131784
2 changed files with 22 additions and 41 deletions

View File

@ -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(p == NULL)
*stringp = NULL;
else
{
*p = '\0';
*stringp = p + 1;
if (!stringp || !*stringp || !**stringp) {
return NULL;
}
return start;
res = *stringp;
while(**stringp && !strchr(delim, **stringp)) {
++(*stringp);
}
if (**stringp) {
**stringp = '\0';
++(*stringp);
}
return res;
}
#endif
typedef unsigned long int ulong;
typedef unsigned short int ushort;

View File

@ -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)
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)
#define __func__ __FUNCTION__
#define __attribute__(x)
#endif
#endif /* _MSC_VER */
#endif /* WINBUILD_H */