]> git.ipfire.org Git - thirdparty/squid.git/blobdiff - compat/debug.h
Source Format Enforcement (#763)
[thirdparty/squid.git] / compat / debug.h
index b262c28964b0f31a3b827b288ea90592ac657acb..139b41fdf8c1f466bee8c6cbddf8312878938e9e 100644 (file)
@@ -1,3 +1,11 @@
+/*
+ * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
 #ifndef COMPAT_DEBUG_H
 #define COMPAT_DEBUG_H
 
 SQUIDCEXTERN int debug_enabled;
 
 /* the macro overload style is really a gcc-ism */
-#ifdef __GNUC__
-
+#if defined(__GNUC__) || defined(__SUNPRO_CC)
 
 #define debug(X...) \
                      if (debug_enabled) { \
-                         fprintf(stderr, "%s(%d): pid=%ld :", __FILE__, __LINE__, (long)getpid() ); \
+                         fprintf(stderr, "%s(%d): pid=%ld :", __FILE__, __LINE__, static_cast<long>(getpid())); \
                          fprintf(stderr,X); \
                      } else (void)0
 
-#else /* __GNUC__ */
+#define ndebug(content) ndebug_(__FILE__, __LINE__, content)
+#define ndebug_(file, line, content) if (debug_enabled) { \
+    std::cerr << file << '(' << line << ')' << ": pid=" << getpid() << ':' \
+        << content << std::endl; \
+    } else (void)0
+
+#else /* __GNUC__ || __SUNPRO_CC */
 
 /* non-GCC compilers can't do the above macro define yet. */
 void debug(const char *format,...);
 #endif
 
-
 #endif /* COMPAT_DEBUG_H */
+