Enables warning() messages without the overhead of all debug output.
AC_SEARCH_LIBS([dlsym], [dl], [], [AC_MSG_ERROR([dlsym() is required])])
+AC_ARG_ENABLE([warnings],
+ [AS_HELP_STRING([--enable-warnings],[enable warning output])],
+ [if test "x$enableval" = xyes; then
+ AC_DEFINE([WARNING], 1, [Define to enable warning output.])
+ fi])
AC_ARG_ENABLE([debug],
[AS_HELP_STRING([--enable-debug],[enable debug output])],
[if test "x$enableval" = xyes; then
AC_DEFINE([DEBUG], 1, [Define to enable debug output.])
+ dnl DEBUG implies WARNING
+ AC_DEFINE([WARNING], 1)
fi])
dnl Used in tests/Makefile.am to build the test only if error() is available.
#include "constants.h"
-#ifdef DEBUG
+#ifdef WARNING
# include "debug.h"
#endif
#ifdef DEBUG
# define DEBUG_FILE "colored_stderr_debug_log.txt"
+#endif
+#ifdef WARNING
/* Created in the user's home directory, appends to existing file. */
# define WARNING_FILE "colored_stderr_warning_log.txt"
#endif
real_close(fd);
}
+#ifdef DEBUG
static void debug(char const *format, ...) {
va_list ap;
errno = saved_errno;
}
+#endif
static void warning(char const *format, ...) {
va_list ap;
tracked_fds_list = malloc(count * sizeof(*tracked_fds_list));
if (!tracked_fds_list) {
-#ifdef DEBUG
+#ifdef WARNING
warning("malloc(tracked_fds_list, %d) failed [%d]\n",
count * sizeof(*tracked_fds_list), getpid());
#endif
int length = snprintf(x, 10 + 1, "%d", fd);
if (length >= 10 + 1) {
/* Integer too big to fit the buffer, skip it. */
-#ifdef DEBUG
+#ifdef WARNING
warning("update_environment_buffer_entry(): truncated fd: %d [%d]\n",
fd, getpid());
#endif
/* We can do nothing, just ignore the error. We made sure not to
* destroy our state, so the new descriptor is ignored without any
* other consequences. */
-#ifdef DEBUG
+#ifdef WARNING
warning("realloc(tracked_fds_list, %zu) failed! [%d]\n",
sizeof(*tracked_fds_list) * new_space, getpid());
#endif