summaryrefslogtreecommitdiff
path: root/e_os.h
diff options
context:
space:
mode:
authorlevitte <levitte>2003-09-09 14:48:35 +0000
committerlevitte <levitte>2003-09-09 14:48:35 +0000
commit74a8a697fca85ac792518131e198e24237b1a3e1 (patch)
treeebbef1574f15b4376e007d4a9fcea20b0f389585 /e_os.h
parent8f643a7b45f13d2a9e8eb903f850d9642cdeed82 (diff)
downloadopenssl-74a8a697fca85ac792518131e198e24237b1a3e1.tar.gz
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).
Diffstat (limited to 'e_os.h')
-rw-r--r--e_os.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/e_os.h b/e_os.h
index 3800bfd75..3f7cdf4b5 100644
--- a/e_os.h
+++ b/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.*/
#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__)
# include <io.h>
# include <fcntl.h>
# define NO_SYSLOG
-# define strcasecmp stricmp
#endif
/* vxworks */