diff options
author | Ulf Möller <ulf@openssl.org> | 2001-09-04 22:19:06 +0000 |
---|---|---|
committer | Ulf Möller <ulf@openssl.org> | 2001-09-04 22:19:06 +0000 |
commit | 5b46eee0f552012fd13ff469f0d81ae158f77fd1 (patch) | |
tree | ddc7f7ed957192fff987cc07e86baccef80802c7 /crypto/evp/evp_test.c | |
parent | e5e6a94fbf9fbf2dcc3f3f6865b2e4b584b282fa (diff) |
strsep implementation to allow the file to compile on non-BSD systems
Submitted by: "Brian Havard" <brianh@kheldar.apana.org.au>
Diffstat (limited to 'crypto/evp/evp_test.c')
-rw-r--r-- | crypto/evp/evp_test.c | 35 |
1 files changed, 33 insertions, 2 deletions
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,":"); |