remove usage of strtok_r so it builds on windows again

This commit is contained in:
Klas Lindfors
2014-02-07 15:19:54 +01:00
parent 164812abfc
commit 1f9b7ffca0
+9 -5
View File
@@ -1119,7 +1119,6 @@ static X509_NAME *parse_name(char *name) {
X509_NAME *parsed = NULL; X509_NAME *parsed = NULL;
char *ptr = name; char *ptr = name;
char *part; char *part;
char *saveptr = NULL;
if(*name != '/') { if(*name != '/') {
fprintf(stderr, "Name does not start with '/'!\n"); fprintf(stderr, "Name does not start with '/'!\n");
return NULL; return NULL;
@@ -1129,18 +1128,23 @@ static X509_NAME *parse_name(char *name) {
fprintf(stderr, "Failed to allocate memory\n"); fprintf(stderr, "Failed to allocate memory\n");
return NULL; return NULL;
} }
while((part = strtok_r(ptr, "/", &saveptr))) { while((part = strtok(ptr, "/"))) {
char *key; char *key;
char *value; char *value;
char *innersave = NULL; char *equals = strchr(part, '=');
if(!equals) {
fprintf(stderr, "The part '%s' doesn't seem to contain a =.\n", part);
goto parse_err;
}
*equals++ = '\0';
value = equals;
key = part;
ptr = NULL; ptr = NULL;
key = strtok_r(part, "=", &innersave);
if(!key) { if(!key) {
fprintf(stderr, "Malformed name (%s)\n", part); fprintf(stderr, "Malformed name (%s)\n", part);
goto parse_err; goto parse_err;
} }
value = strtok_r(NULL, "=", &innersave);
if(!value) { if(!value) {
fprintf(stderr, "Malformed name (%s)\n", part); fprintf(stderr, "Malformed name (%s)\n", part);
goto parse_err; goto parse_err;