X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=e_os.h;h=f7d09c52954505bc40c3c5c15ccd7cff7a158088;hb=bd573ee31a61dd3d39a8141d314e5c824d20dbab;hp=5d761781b8577ef4e4ed4bb23ac7a849ba8ba034;hpb=a067cba35b955c8b9925c7d338d2604dcf041ca6;p=oweals%2Fopenssl.git diff --git a/e_os.h b/e_os.h index 5d761781b8..f7d09c5295 100644 --- a/e_os.h +++ b/e_os.h @@ -201,6 +201,9 @@ extern "C" { # ifdef __DJGPP__ # include # include +# include +# include +# include # define _setmode setmode # define _O_TEXT O_TEXT # define _O_BINARY O_BINARY @@ -243,10 +246,11 @@ extern "C" { # define _kbhit kbhit # endif -# if defined(WIN16) && !defined(MONOLITH) && defined(SSLEAY) && defined(_WINEXITNOPERSIST) -# define EXIT(n) do { if (n == 0) _wsetexit(_WINEXITNOPERSIST); return(n); } while(0) +# if defined(WIN16) && defined(SSLEAY) && defined(_WINEXITNOPERSIST) +# define EXIT(n) _wsetexit(_WINEXITNOPERSIST) +# define OPENSSL_EXIT(n) do { if (n == 0) EXIT(n); return(n); } while(0) # else -# define EXIT(n) return(n) +# define EXIT(n) return(n) # endif # define LIST_SEPARATOR_CHAR ';' # ifndef X_OK @@ -302,18 +306,13 @@ extern "C" { the status is tagged as an error, which I believe is what is wanted here. -- Richard Levitte */ -# if !defined(MONOLITH) || defined(OPENSSL_C) -# define EXIT(n) do { int __VMS_EXIT = n; \ +# define EXIT(n) do { int __VMS_EXIT = n; \ if (__VMS_EXIT == 0) \ __VMS_EXIT = 1; \ else \ __VMS_EXIT = (n << 3) | 2; \ __VMS_EXIT |= 0x10000000; \ - exit(__VMS_EXIT); \ - return(__VMS_EXIT); } while(0) -# else -# define EXIT(n) return(n) -# endif + exit(__VMS_EXIT); } while(0) # define NO_SYS_PARAM_H # else /* !defined VMS */ @@ -344,11 +343,7 @@ extern "C" { # define RFILE ".rnd" # define LIST_SEPARATOR_CHAR ':' # define NUL_DEV "/dev/null" -# ifndef MONOLITH -# define EXIT(n) do { exit(n); return(n); } while(0) -# else -# define EXIT(n) return(n) -# endif +# define EXIT(n) exit(n) # endif # define SSLeay_getpid() getpid() @@ -475,6 +470,14 @@ extern char *sys_errlist[]; extern int sys_nerr; (((errnum)<0 || (errnum)>=sys_nerr) ? NULL : sys_errlist[errnum]) #endif +#ifndef OPENSSL_EXIT +# if defined(MONOLITH) && !defined(OPENSSL_C) +# define OPENSSL_EXIT(n) return(n) +# else +# define OPENSSL_EXIT(n) do { EXIT(n); return(n); } while(0) +# endif +#endif + /***********************************************/ /* do we need to do this for getenv.