X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=e_os.h;h=0701a78d5cdab0a38e51f1fe25c46db4643528e8;hp=4456b7e51c0be19b8bdc0efdf2fa3ccb6753c8ce;hb=dca97e9bfdfbb62b9a4f664ee901a826bc338ad7;hpb=28a0841bf58e3813b2e07ad22f19484308e2f70a diff --git a/e_os.h b/e_os.h index 4456b7e51c..0701a78d5c 100644 --- a/e_os.h +++ b/e_os.h @@ -71,15 +71,26 @@ extern "C" { #endif /* Used to checking reference counts, most while doing perl5 stuff :-) */ -# ifdef REF_PRINT -# undef REF_PRINT -# define REF_PRINT(a,b) fprintf(stderr,"%08X:%4d:%s\n",(int)b,b->references,a) +# if defined(OPENSSL_NO_STDIO) +# if defined(REF_DEBUG) +# error "REF_DEBUG requires stdio" +# endif +# if defined(REF_PRINT) +# error "REF_PRINT requires stdio" +# endif # endif -# if defined(OPENSSL_NO_STDIO) && defined(REF_CHECK) -# error "Cannot have REF_CHECK with no-stdio" + +# if defined(REF_DEBUG) +# define REF_ASSERT_ISNT(test) \ + (void)((test) ? (OpenSSLDie(__FILE__, __LINE__, "refcount error"), 1) : 0) +# else +# define REF_ASSERT_ISNT(i) # endif -# if defined(OPENSSL_NO_STDIO) && defined(REF_PRINT) -# error "Cannot have REF_PRINT with no-stdio" +# ifdef REF_PRINT +# define REF_PRINT_COUNT(a, b) \ + fprintf(stderr, "%p:%4d:%s\n", b, b->references, a) +# else +# define REF_PRINT_COUNT(a, b) # endif # ifndef DEVRANDOM