#include <string.h>
#include "gcc-compat.h"
-/* some internal constants */
-#define STRINGSIZE 4096
+/** used in various contexts */
#define MAXLINE 255
-
+/** compute the minimum of \a a and \a b */
#define PARA_MIN(a,b) ((a) < (b) ? (a) : (b))
+/** compute the maximum of \a a and \a b */
#define PARA_MAX(a,b) ((a) > (b) ? (a) : (b))
+/** compute the absolute value of \a a */
#define PARA_ABS(a) ((a) > 0 ? (a) : -(a))
/* Loglevels */
#define CRIT 6
#define EMERG 7
-
#define COMPILE_TIME_LOGLEVEL 0
+
#if DEBUG > COMPILE_TIME_LOGLEVEL
#define PARA_DEBUG_LOG(f,...) para_log(DEBUG, "%s: " f, __FUNCTION__, __VA_ARGS__)
#else
}
-#define COPYRIGHT "Copyright (c) 1997-2006 by Andre Noll"
+#define VERSION_TEXT(prefix) "para_" prefix " " PACKAGE_VERSION "\n" \
+ "Copyright (C) 2007 Andre Noll\n" \
+ "This is free software with ABSOLUTELY NO WARRANTY." \
+ " See COPYING for details.\n" \
+ "Written by Andre Noll.\n" \
+ "Report bugs to <maan@systemlinux.org>.\n"
+#define HANDLE_VERSION_FLAG(_prefix, _args_info_struct) \
+ if (_args_info_struct.version_given) { \
+ printf("%s", VERSION_TEXT(_prefix)); \
+ exit(EXIT_SUCCESS); \
+ }
#define AWAITING_DATA_MSG "\nAwaiting Data."
#define PROCEED_MSG "\nProceed.\n"