Move to REF_DEBUG, for consistency.
[openssl.git] / e_os.h
diff --git a/e_os.h b/e_os.h
index 4456b7e..0701a78 100644 (file)
--- 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