From: Ulf Möller Date: Tue, 4 Sep 2001 22:19:06 +0000 (+0000) Subject: strsep implementation to allow the file to compile on non-BSD systems X-Git-Tag: OpenSSL_0_9_6c~123^2~19 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=5b46eee0f552012fd13ff469f0d81ae158f77fd1;p=oweals%2Fopenssl.git strsep implementation to allow the file to compile on non-BSD systems Submitted by: "Brian Havard" --- diff --git a/crypto/evp/evp_test.c b/crypto/evp/evp_test.c index 1fdc997619..df02ea6047 100644 --- a/crypto/evp/evp_test.c +++ b/crypto/evp/evp_test.c @@ -85,8 +85,39 @@ static int convert(unsigned char *s) return s-d; } +static char *sstrsep(char **string, const char *delim) + { + char isdelim[256]; + char *token = *string; + + if (**string == 0) + return NULL; + + memset(isdelim, 0, 256); + isdelim[0] = 1; + + while (*delim) + { + isdelim[(unsigned char)(*delim)] = 1; + delim++; + } + + while (!isdelim[(unsigned char)(**string)]) + { + (*string)++; + } + + if (**string) + { + **string = 0; + (*string)++; + } + + return token; + } + static unsigned char *ustrsep(char **p,const char *sep) - { return (unsigned char *)strsep((char **)p,sep); } + { return (unsigned char *)sstrsep((char **)p,sep); } static void test1(const EVP_CIPHER *c,const unsigned char *key,int kn, const unsigned char *iv,int in, @@ -297,7 +328,7 @@ int main(int argc,char **argv) if(line[0] == '#' || line[0] == '\n') continue; p=line; - cipher=strsep(&p,":"); + cipher=sstrsep(&p,":"); key=ustrsep(&p,":"); iv=ustrsep(&p,":"); plaintext=ustrsep(&p,":");