Generalise the definition of strcasecmp() and strncasecmp() for
platforms that don't (necessarely) have it. In the case of VMS, this means moving a couple of functions from apps/ to crypto/ and make them general (although only used privately).
This commit is contained in:
parent
c377882c39
commit
245dac4d17
26
apps/apps.c
26
apps/apps.c
@ -126,16 +126,6 @@
|
|||||||
#include <openssl/engine.h>
|
#include <openssl/engine.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef OPENSSL_SYS_WINDOWS
|
|
||||||
#define strcasecmp _stricmp
|
|
||||||
#else
|
|
||||||
# ifdef NO_STRINGS_H
|
|
||||||
int strcasecmp();
|
|
||||||
# else
|
|
||||||
# include <strings.h>
|
|
||||||
# endif /* NO_STRINGS_H */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define NON_MAIN
|
#define NON_MAIN
|
||||||
#include "apps.h"
|
#include "apps.h"
|
||||||
#undef NON_MAIN
|
#undef NON_MAIN
|
||||||
@ -378,22 +368,6 @@ int WIN32_rename(char *from, char *to)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef OPENSSL_SYS_VMS
|
|
||||||
int VMS_strcasecmp(const char *str1, const char *str2)
|
|
||||||
{
|
|
||||||
while (*str1 && *str2)
|
|
||||||
{
|
|
||||||
int res = toupper(*str1) - toupper(*str2);
|
|
||||||
if (res) return res < 0 ? -1 : 1;
|
|
||||||
}
|
|
||||||
if (*str1)
|
|
||||||
return 1;
|
|
||||||
if (*str2)
|
|
||||||
return -1;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int chopup_args(ARGS *arg, char *buf, int *argc, char **argv[])
|
int chopup_args(ARGS *arg, char *buf, int *argc, char **argv[])
|
||||||
{
|
{
|
||||||
int num,len,i;
|
int num,len,i;
|
||||||
|
@ -141,12 +141,6 @@ long app_RAND_load_files(char *file); /* `file' is a list of files to read,
|
|||||||
int WIN32_rename(char *oldname,char *newname);
|
int WIN32_rename(char *oldname,char *newname);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* VMS below version 7.0 doesn't have strcasecmp() */
|
|
||||||
#ifdef OPENSSL_SYS_VMS
|
|
||||||
#define strcasecmp(str1,str2) VMS_strcasecmp((str1),(str2))
|
|
||||||
int VMS_strcasecmp(const char *str1, const char *str2);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef MONOLITH
|
#ifndef MONOLITH
|
||||||
|
|
||||||
#define MAIN(a,v) main(a,v)
|
#define MAIN(a,v) main(a,v)
|
||||||
|
10
apps/ca.c
10
apps/ca.c
@ -76,16 +76,6 @@
|
|||||||
#include <openssl/ocsp.h>
|
#include <openssl/ocsp.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
|
||||||
#ifdef OPENSSL_SYS_WINDOWS
|
|
||||||
#define strcasecmp _stricmp
|
|
||||||
#else
|
|
||||||
# ifdef NO_STRINGS_H
|
|
||||||
int strcasecmp();
|
|
||||||
# else
|
|
||||||
# include <strings.h>
|
|
||||||
# endif /* NO_STRINGS_H */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef W_OK
|
#ifndef W_OK
|
||||||
# ifdef OPENSSL_SYS_VMS
|
# ifdef OPENSSL_SYS_VMS
|
||||||
# if defined(__DECC)
|
# if defined(__DECC)
|
||||||
|
@ -36,14 +36,14 @@ GENERAL=Makefile README crypto-lib.com install.com
|
|||||||
|
|
||||||
LIB= $(TOP)/libcrypto.a
|
LIB= $(TOP)/libcrypto.a
|
||||||
SHARED_LIB= libcrypto$(SHLIB_EXT)
|
SHARED_LIB= libcrypto$(SHLIB_EXT)
|
||||||
LIBSRC= cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c tmdiff.c cpt_err.c ebcdic.c uid.c o_time.c
|
LIBSRC= cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c tmdiff.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c
|
||||||
LIBOBJ= cryptlib.o mem.o mem_clr.o mem_dbg.o cversion.o ex_data.o tmdiff.o cpt_err.o ebcdic.o uid.o o_time.o
|
LIBOBJ= cryptlib.o mem.o mem_clr.o mem_dbg.o cversion.o ex_data.o tmdiff.o cpt_err.o ebcdic.o uid.o o_time.o o_str.c
|
||||||
|
|
||||||
SRC= $(LIBSRC)
|
SRC= $(LIBSRC)
|
||||||
|
|
||||||
EXHEADER= crypto.h tmdiff.h opensslv.h opensslconf.h ebcdic.h symhacks.h \
|
EXHEADER= crypto.h tmdiff.h opensslv.h opensslconf.h ebcdic.h symhacks.h \
|
||||||
ossl_typ.h
|
ossl_typ.h
|
||||||
HEADER= cryptlib.h buildinf.h md32_common.h o_time.h $(EXHEADER)
|
HEADER= cryptlib.h buildinf.h md32_common.h o_time.h o_str.h $(EXHEADER)
|
||||||
|
|
||||||
ALL= $(GENERAL) $(SRC) $(HEADER)
|
ALL= $(GENERAL) $(SRC) $(HEADER)
|
||||||
|
|
||||||
|
@ -158,7 +158,7 @@ $!
|
|||||||
$ APPS_DES = "DES/DES,CBC3_ENC"
|
$ APPS_DES = "DES/DES,CBC3_ENC"
|
||||||
$ APPS_PKCS7 = "ENC/ENC;DEC/DEC;SIGN/SIGN;VERIFY/VERIFY,EXAMPLE"
|
$ APPS_PKCS7 = "ENC/ENC;DEC/DEC;SIGN/SIGN;VERIFY/VERIFY,EXAMPLE"
|
||||||
$
|
$
|
||||||
$ LIB_ = "cryptlib,mem,mem_clr,mem_dbg,cversion,ex_data,tmdiff,cpt_err,ebcdic,uid,o_time"
|
$ LIB_ = "cryptlib,mem,mem_clr,mem_dbg,cversion,ex_data,tmdiff,cpt_err,ebcdic,uid,o_time,o_str"
|
||||||
$ LIB_MD2 = "md2_dgst,md2_one"
|
$ LIB_MD2 = "md2_dgst,md2_one"
|
||||||
$ LIB_MD4 = "md4_dgst,md4_one"
|
$ LIB_MD4 = "md4_dgst,md4_one"
|
||||||
$ LIB_MD5 = "md5_dgst,md5_one"
|
$ LIB_MD5 = "md5_dgst,md5_one"
|
||||||
|
21
e_os.h
21
e_os.h
@ -503,11 +503,30 @@ extern char *sys_errlist[]; extern int sys_nerr;
|
|||||||
#define IRIX_CC_BUG /* CDS++ up to V2.0Bsomething suffered from the same bug.*/
|
#define IRIX_CC_BUG /* CDS++ up to V2.0Bsomething suffered from the same bug.*/
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(OPENSSL_SYS_WINDOWS)
|
||||||
|
# define strcasecmp _stricmp
|
||||||
|
# define strncasecmp _strnicmp
|
||||||
|
#elif defined(OPENSSL_SYS_VMS)
|
||||||
|
/* VMS below version 7.0 doesn't have strcasecmp() */
|
||||||
|
# include <openssl/o_str.h>
|
||||||
|
# define strcasecmp OPENSSL_strcasecmp
|
||||||
|
# define strncasecmp OPENSSL_strncasecmp
|
||||||
|
#elif defined(OPENSSL_SYS_OS2) && defined(__EMX__)
|
||||||
|
# define strcasecmp stricmp
|
||||||
|
# define strncasecmp strnicmp
|
||||||
|
#else
|
||||||
|
# ifdef NO_STRINGS_H
|
||||||
|
int strcasecmp();
|
||||||
|
int strncasecmp();
|
||||||
|
# else
|
||||||
|
# include <strings.h>
|
||||||
|
# endif /* NO_STRINGS_H */
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(OPENSSL_SYS_OS2) && defined(__EMX__)
|
#if defined(OPENSSL_SYS_OS2) && defined(__EMX__)
|
||||||
# include <io.h>
|
# include <io.h>
|
||||||
# include <fcntl.h>
|
# include <fcntl.h>
|
||||||
# define NO_SYSLOG
|
# define NO_SYSLOG
|
||||||
# define strcasecmp stricmp
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* vxworks */
|
/* vxworks */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user