Commit b41d847d authored by Stefan Tauner's avatar Stefan Tauner
Browse files

Move strtok_r implementation verbatim to helpers.c


Corresponding to flashrom svn r1853.
Signed-off-by: default avatarStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: default avatarStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
parent ff9e6c32
......@@ -255,6 +255,9 @@ int max(int a, int b);
int min(int a, int b);
char *strcat_realloc(char *dest, const char *src);
void tolower_string(char *str);
#ifdef __MINGW32__
char* strtok_r(char *str, const char *delim, char **nextp);
#endif
/* flashrom.c */
extern const char flashrom_version[];
......
......@@ -70,3 +70,24 @@ void tolower_string(char *str)
*str = (char)tolower((unsigned char)*str);
}
/* FIXME: Find a better solution for MinGW. Maybe wrap strtok_s (C11) if it becomes available */
#ifdef __MINGW32__
char* strtok_r(char *str, const char *delim, char **nextp)
{
if (str == NULL)
str = *nextp;
str += strspn(str, delim); /* Skip leading delimiters */
if (*str == '\0')
return NULL;
char *ret = str;
str += strcspn(str, delim); /* Find end of token */
if (*str != '\0')
*str++ = '\0';
*nextp = str;
return ret;
}
#endif
......@@ -26,27 +26,6 @@
#include "flash.h"
#include "programmer.h"
/* FIXME: Find a better solution for MinGW. Maybe wrap strtok_s (C11) below if it becomes available */
#ifdef __MINGW32__
static char* strtok_r(char *str, const char *delim, char **nextp)
{
if (str == NULL)
str = *nextp;
str += strspn(str, delim); /* Skip leading delimiters */
if (*str == '\0')
return NULL;
char *ret = str;
str += strcspn(str, delim); /* Find end of token */
if (*str != '\0')
*str++ = '\0';
*nextp = str;
return ret;
}
#endif
static const char *test_state_to_text(enum test_state test_state)
{
switch (test_state) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment