strtok_r only by declaration

master
John Jones 2017-03-21 13:36:06 -05:00
parent d09c4a0d76
commit e90434ba61
4 changed files with 5 additions and 53 deletions

View File

@ -12,7 +12,7 @@ LFLAGS = -lm
DEPS = include/multiaddr/base58.h include/multiaddr/endian.h include/multiaddr/multiaddr.h \
include/multiaddr/protocols.h include/multiaddr/protoutils.h include/multiaddr/varhexutils.h \
include/multiaddr/varint.h
OBJS = base58.o varint.o varhexutils.o protoutils.o protocols.o multiaddr.o string_tokenizer.o
OBJS = base58.o varint.o varhexutils.o protoutils.o protocols.o multiaddr.o
%.o: %.c $(DEPS)
$(CC) -c -o $@ $< $(CFLAGS)

View File

@ -1,10 +0,0 @@
#pragma once
/**
* A replacement strtok_r so we can compile with c99
* @param str the original string
* @param delim the delimiters
* @param nextp used internally to save state
* @returns a pointer to the next element
*/
char* ma_utils_strtok_r(char *str, const char *delim, char **nextp);

View File

@ -9,7 +9,8 @@
#include "multiaddr/varhexutils.h"
#include "multiaddr/protocols.h"
#include "multiaddr/protoutils.h"
#include "multiaddr/string_tokenizer.h"
extern char *strtok_r(char *, const char *, char **);
//////////////////////////////////////////////////////////
char ASCII2bits(char ch) {
@ -683,7 +684,7 @@ int string_to_bytes(uint8_t** finalbytes, size_t* realbbsize, const char* strx,
//Starting to extract words and process them:
char * wp;
char * end;
wp=ma_utils_strtok_r(pstring,"/",&end);
wp=strtok_r(pstring,"/",&end);
struct Protocol * protx;
while(wp)
{
@ -719,7 +720,7 @@ int string_to_bytes(uint8_t** finalbytes, size_t* realbbsize, const char* strx,
protx=NULL;//Since right now it doesn't need that assignment anymore.
firstorsecond=1;//Since the next word will be an protocol
}
wp=ma_utils_strtok_r(NULL,"/",&end);
wp=strtok_r(NULL,"/",&end);
}
protx=NULL;
unload_protocols(head);

View File

@ -1,39 +0,0 @@
#include <stdlib.h>
#include <string.h>
/**
* A replacement strtok_r so we can compile with c99
* @param str the original string
* @param delim the delimiters
* @param nextp used internally to save state
* @returns a pointer to the next element
*/
char* ma_utils_strtok_r(char *str, const char *delim, char **nextp)
{
char *ret;
if (str == NULL)
{
str = *nextp;
}
str += strspn(str, delim);
if (*str == '\0')
{
return NULL;
}
ret = str;
str += strcspn(str, delim);
if (*str)
{
*str++ = '\0';
}
*nextp = str;
return ret;
}