summaryrefslogtreecommitdiffstats
path: root/crypto/evp/evp_test.c
diff options
context:
space:
mode:
authorUlf Möller <ulf@openssl.org>2001-09-04 22:19:06 +0000
committerUlf Möller <ulf@openssl.org>2001-09-04 22:19:06 +0000
commit5b46eee0f552012fd13ff469f0d81ae158f77fd1 (patch)
treeddc7f7ed957192fff987cc07e86baccef80802c7 /crypto/evp/evp_test.c
parente5e6a94fbf9fbf2dcc3f3f6865b2e4b584b282fa (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.c35
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,":");