+/* Use gsprintf instead of sprintf and sprintf */
+#ifdef HAVE_SNPRINTF
+# define gsprintf(a, b, c...) snprintf(a, b, c)
+#else
+# define gsprintf(a, b, c...) sprintf(a, c)
+#endif
+#ifdef HAVE_VSNPRINTF
+# define gvsprintf(a, b, c...) vsnprintf(a, b, c)
+#else
+# define gvsprintf(a, b, c...) vsprintf(a, c)
+#endif
+#ifdef HAVE_ASPRINTF
+# define gasprintf(a...) asprintf(a)
+#else
+#include <stdarg.h>
+extern int gasprintf(char **destp,const char *fmt,...);
+#endif
+#ifdef HAVE_VASPRINTF
+# define gvasprintf(a...) vasprintf(a)
+#else
+#include <stdarg.h>
+extern int gvasprintf(char **destp,const char *fmt,va_list ap);
+#endif
+
+/* Get rid of long defines. Use #if __unices__ */
+#define __unices__ defined(__svr4__) || defined(__FreeBSD__) || defined(__bsdi__)
+
+/* This one is for NLS. */
+#ifdef USE_NLS
+ #include <libintl.h>
+ #define _(x) gettext(x)