X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=common-src%2Fgenversion.c;h=1b4f7f5b58aff57f5a983f817847826b0807c483;hb=94a044f90357edefa6f4ae9f0b1d5885b0e34aee;hp=074296bd3a79058550b1b7649f9b7eb88734bb94;hpb=1194fb66aa28d9929c3f2bef3cc6c1c3f40a60a4;p=debian%2Famanda diff --git a/common-src/genversion.c b/common-src/genversion.c index 074296b..1b4f7f5 100644 --- a/common-src/genversion.c +++ b/common-src/genversion.c @@ -24,30 +24,38 @@ * 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 */ }