Imported Upstream version 2.6.0
[debian/amanda] / common-src / genversion.c
index 074296bd3a79058550b1b7649f9b7eb88734bb94..1b4f7f5b58aff57f5a983f817847826b0807c483 100644 (file)
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: genversion.c,v 1.31 2003/10/07 17:09:46 martinea Exp $
+ * $Id: genversion.c 698 2008-01-11 00:42:49Z martinea $
  *
  * dump the current Amanda version info
  */
 #include "amanda.h"
 #include "version.h"
+
+/* distribution-time information */
+#include "svn-info.h"
+
+/* build-time information */
 #include "genversion.h"
 
 #define        LMARGIN         6
 #define RMARGIN        70
 
-static int linelen;
+static size_t linelen;
+
+#define        startline(title)  g_printf("  \"%-*s", LMARGIN, title); linelen = 0
+#define        endline()         g_printf("\\n\",\n")
 
-#define        startline(title)        printf("  \"%-*s", LMARGIN, title); linelen = 0
-#define        endline()               printf("\\n\",\n")
+static void prstr(const char *);
+static void prvar(const char *, const char *);
+static void prundefvar(const char *var);
+static void prnum(const char *var, long val);
 
-static void prstr P((const char *));
-static void prvar P((const char *, const char *));
-int main P((void));
+int main(int, char **);
 
 /* Print a string */
 static void
-prstr(string)
-    const char *string;
+prstr(
+    const char *string)
 {
     size_t len = strlen(string) + 1;
 
@@ -59,7 +67,7 @@ prstr(string)
        endline();
        startline("");
     }
-    printf(" %s", string);
+    g_printf(" %s", string);
     linelen += len;
 }
 
@@ -68,82 +76,117 @@ static size_t buf_len = 0;
 
 /* Print a text variable */
 static void
-prvar(var, val)
-    const char *var, *val;
+prvar(
+    const char *var,
+    const char *val)
 {
     size_t new_len;
 
     new_len = strlen(var)
-             + sizeof("=\\\"")
+             + SIZEOF("=\\\"")
              + strlen(val)
-             + sizeof("\\\"")
+             + SIZEOF("\\\"")
              + 1;
     if(new_len > buf_len) {
        free(buf);
        buf_len = new_len;
-       buf = malloc(new_len);          /* let it die if malloc() fails */
+       buf = malloc(new_len);
+       if (!buf) {
+           g_fprintf(stderr, _("genversion: Not enough memory"));
+           abort();
+           /*NOTREACHED*/
+       }
     }
-    sprintf(buf, "%s=\\\"%s\\\"", var, val);   /* safe */
+    g_snprintf(buf, buf_len, "%s=\\\"%s\\\"", var, val);       /* safe */
     prstr(buf);
 }
 
 /* Print a undef variable */
 static void
-prundefvar(var)
-    const char *var;
+prundefvar(
+    const char *var)
 {
     size_t new_len;
 
     new_len = strlen(var)
-             + sizeof("=UNDEF")
+             + SIZEOF("=UNDEF")
              + 1;
     if(new_len > buf_len) {
        free(buf);
        buf_len = new_len;
        buf = malloc(new_len);          /* let it die if malloc() fails */
+       if (!buf) {
+           g_fprintf(stderr, _("genversion: Not enough memory"));
+           abort();
+           /*NOTREACHED*/
+       }
     }
-    sprintf(buf, "%s=UNDEF", var);     /* safe */
+    g_snprintf(buf, buf_len, "%s=UNDEF", var); /* safe */
     prstr(buf);
 }
 
 /* Print a numeric variable */
 static void
-prnum(var, val)
-    const char *var;
-    long val;
+prnum(
+    const char *var,
+    long       val)
 {
     static char number[NUM_STR_SIZE];
     size_t new_len;
 
-    snprintf(number, sizeof(number), "%ld", val);
+    g_snprintf(number, SIZEOF(number), "%ld", val);
     new_len = strlen(var)
-             + sizeof("=")
+             + SIZEOF("=")
              + strlen(number)
              + 1;
     if(new_len > buf_len) {
        free(buf);
        buf_len = new_len;
        buf = malloc(new_len);          /* let it die if malloc() fails */
+       if (!buf) {
+           g_fprintf(stderr, _("genversion: Not enough memory"));
+           abort();
+           /*NOTREACHED*/
+       }
     }
-    sprintf(buf, "%s=%s", var, number);                /* safe */
+    g_snprintf(buf, buf_len, "%s=%s", var, number);            /* safe */
     prstr(buf);
 }
 
 int
-main()
+main(
+    int                argc,
+    char **    argv)
 {
     const char *v;
     char *verstr;
     size_t v_len;
 
-    printf("/* version.c - generated by genversion.c - DO NOT EDIT! */\n");
-    printf("const char * const version_info[] = {\n");
+    (void)argc;        /* Quiet unused parameter warning */
+    (void)argv;        /* Quiet unused parameter warning */
+
+    /*
+     * Configure program for internationalization:
+     *   1) Only set the message locale for now.
+     *   2) Set textdomain for all amanda related programs to "amanda"
+     *      We don't want to be forced to support dozens of message catalogs.
+     */  
+    setlocale(LC_MESSAGES, "C");
+    textdomain("amanda"); 
+
+    g_printf(_("/* version.c - generated by genversion.c - DO NOT EDIT! */\n"));
+    g_printf("const char * const version_info[] = {\n");
 
     startline("build:");
     v = version();
-    v_len = sizeof("Amanda-") + strlen(v) + 1;
+    v_len = SIZEOF("Amanda-") + strlen(v) + 1;
     verstr = malloc(v_len);
-    sprintf(verstr, "Amanda-%s", v);           /* safe */
+    if (!verstr) {
+       g_fprintf(stderr, _("genversion: Not enough memory"));
+       abort();
+       /*NOTREACHED*/
+    }
+    g_snprintf(verstr, v_len, "Amanda-%s", v);         /* safe */
     prvar("VERSION", verstr);
     free(verstr);
 
@@ -159,16 +202,22 @@ main()
     prundefvar("BUILT_MACH");
 #endif
 
-#ifdef CC
-    prvar("CC", CC);
+#ifdef BUILT_REV
+    prvar("BUILT_REV", BUILT_REV);
 #else
-    prundefvar("CC");
+    prundefvar("BUILT_REV");
+#endif
+
+#ifdef BUILT_BRANCH
+    prvar("BUILT_BRANCH", BUILT_BRANCH);
+#else
+    prundefvar("BUILT_BRANCH");
 #endif
 
 #ifdef CC
-    prvar("CONFIGURE_COMMAND", CONFIGURE_COMMAND);
+    prvar("CC", CC);
 #else
-    prundefvar("CONFIGURE_COMMAND");
+    prundefvar("CC");
 #endif
 
     endline();
@@ -178,6 +227,7 @@ main()
     prvar("bindir", bindir);
     prvar("sbindir", sbindir);
     prvar("libexecdir", libexecdir);
+    prvar("amlibexecdir", amlibexecdir);
     prvar("mandir", mandir);
     prvar("AMANDA_TMPDIR", AMANDA_TMPDIR);
 #ifdef AMANDA_DBGDIR
@@ -261,7 +311,11 @@ main()
     prundefvar(" LPRCMD");
 #endif
 
+#ifdef MAILER
     prvar("MAILER", MAILER);
+#else
+    prundefvar(" MAILER");
+#endif
 
 #ifdef GNUTAR_LISTED_INCREMENTAL_DIR
     prvar("listed_incr_dir", GNUTAR_LISTED_INCREMENTAL_DIR);
@@ -275,16 +329,15 @@ main()
     prvar("DEFAULT_SERVER", DEFAULT_SERVER);
     prvar("DEFAULT_CONFIG", DEFAULT_CONFIG);
     prvar("DEFAULT_TAPE_SERVER", DEFAULT_TAPE_SERVER);
+
+#ifdef DEFAULT_TAPE_DEVICE
     prvar("DEFAULT_TAPE_DEVICE", DEFAULT_TAPE_DEVICE);
+#endif
 
 #ifdef AIX_BACKUP
     prstr("AIX_BACKUP");
 #endif
 
-#ifdef AIX_TAPEIO
-    prstr("AIX_TAPEIO");
-#endif
-
 #ifdef BROKEN_VOID
     prstr("BROKEN_VOID");
 #endif
@@ -345,10 +398,6 @@ main()
     prstr("ASSERTIONS");
 #endif
 
-#ifdef DEBUG_CODE
-    prstr("DEBUG_CODE");
-#endif
-
 #ifdef AMANDA_DEBUG_DAYS
     prnum("AMANDA_DEBUG_DAYS", AMANDA_DEBUG_DAYS);
 #endif
@@ -379,8 +428,8 @@ main()
 
     prvar("CLIENT_LOGIN", CLIENT_LOGIN);
 
-#ifdef FORCE_USERID
-    prstr("FORCE_USERID");
+#ifdef CHECK_USERID
+    prstr("CHECK_USERID");
 #endif
 
 #ifdef USE_VERSION_SUFFIXES
@@ -409,7 +458,7 @@ main()
 
     endline();
 
-    printf("  0\n};\n");
+    g_printf("  0\n};\n");
 
-    exit(0);
+    return (0); /* exit */
 }