X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Frrd_tool.c;h=d08d7de74c7d5d6d9a27f073f10ac2461986d804;hp=83f7f1ec09347a2ba778aece50bdee4c7a1ac54d;hb=e19258f061340d0b2032fa1a1020d1a89a24b85d;hpb=3d068765c6b6c8d096e0692f22e5b5e407948b54 diff --git a/src/rrd_tool.c b/src/rrd_tool.c index 83f7f1e..d08d7de 100644 --- a/src/rrd_tool.c +++ b/src/rrd_tool.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3rc2 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_tool.c Startup wrapper *****************************************************************************/ @@ -47,7 +47,7 @@ void PrintUsage( const char *help_main = N_("RRDtool %s" - " Copyright 1997-2007 by Tobias Oetiker \n" + " Copyright 1997-2008 by Tobias Oetiker \n" " Compiled %s %s\n\n" "Usage: rrdtool [options] command command_options\n\n"); @@ -141,6 +141,7 @@ void PrintUsage( "\t\t[-M|--alt-autoscale-max]\n" "\t\t[-R|--font-render-mode {normal,light,mono}]\n" "\t\t[-B|--font-smoothing-threshold size]\n" + "\t\t[-T|--tabwidth width]\n" "\t\t[-E|--slope-mode]\n" "\t\t[-N|--no-gridfit]\n" "\t\t[-X|--units-exponent value]\n" @@ -363,11 +364,16 @@ static char *fgetslong( return *aLinePtr = linebuf; bufsize += MAX_LENGTH; if (!(linebuf = realloc(linebuf, bufsize))) { + free(linebuf); perror("fgetslong: realloc"); exit(1); } } - return *aLinePtr = linebuf[0] ? linebuf : 0; + if (linebuf[0]){ + return *aLinePtr = linebuf; + } + free(linebuf); + return *aLinePtr = 0; } int main( @@ -387,7 +393,8 @@ int main( #ifdef HAVE_LOCALE_H setlocale(LC_ALL, ""); #endif -#ifdef HAVE_LIBINTL_H + +#if defined(HAVE_LIBINTL_H) && defined(BUILD_LIBINTL) bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); textdomain(GETTEXT_PACKAGE); @@ -446,6 +453,7 @@ int main( while (fgetslong(&aLine, stdin)) { if ((argc = CountArgs(aLine)) == 0) { + free(aLine); printf("ERROR: not enough arguments\n"); } if ((myargv = (char **) malloc((argc + 1) * @@ -454,6 +462,8 @@ int main( exit(1); } if ((argc = CreateArgs(argv[0], aLine, argc, myargv)) < 0) { + free(aLine); + free(myargv); printf("ERROR: creating arguments\n"); } else { int ret = HandleInputLine(argc, myargv, stdout); @@ -619,15 +629,15 @@ int HandleInputLine( else if (strcmp("dump", argv[1]) == 0) rrd_dump(argc - 1, &argv[1]); else if (strcmp("info", argv[1]) == 0 || strcmp("updatev", argv[1]) == 0) { - info_t *data; + rrd_info_t *data; if (strcmp("info", argv[1]) == 0) data = rrd_info(argc - 1, &argv[1]); else data = rrd_update_v(argc - 1, &argv[1]); - info_print(data); - info_free(data); + rrd_info_print(data); + rrd_info_free(data); } else if (strcmp("--version", argv[1]) == 0 || @@ -802,11 +812,12 @@ int HandleInputLine( } } else if (strcmp("graphv", argv[1]) == 0) { - info_t *grinfo = NULL; /* 1 to distinguish it from the NULL that rrd_graph sends in */ + rrd_info_t *grinfo = NULL; /* 1 to distinguish it from the NULL that rrd_graph sends in */ + grinfo = rrd_graph_v(argc - 1, &argv[1]); if (grinfo) { - info_print(grinfo); - info_free(grinfo); + rrd_info_print(grinfo); + rrd_info_free(grinfo); } } else if (strcmp("tune", argv[1]) == 0)