X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd_tool.c;h=f4cfa11af0e3153cd1f68b3c65237b189319152b;hb=23d1c29c5b06a786817613f266e04887af4945c4;hp=6aa53cc5b78dfdbc43266e2ac918c0746401eeac;hpb=0c87c2676bb826f8defb40d7d45e771ecd40550c;p=rrdtool.git diff --git a/src/rrd_tool.c b/src/rrd_tool.c index 6aa53cc..f4cfa11 100644 --- a/src/rrd_tool.c +++ b/src/rrd_tool.c @@ -32,7 +32,7 @@ void PrintUsage(char *cmd) char help_list[] = "Valid commands: create, update, updatev, graph, dump, restore,\n" - "\t\tlast, info, fetch, tune, resize, xport\n\n"; + "\t\tlast, first, info, fetch, tune, resize, xport\n\n"; char help_listremote[] = "Valid remote commands: quit, ls, cd, mkdir\n\n"; @@ -61,6 +61,10 @@ void PrintUsage(char *cmd) "* last - show last update time for RRD\n\n" "\trrdtool last filename.rrd\n\n"; + char help_first[] = + "* first - show first update time for RRA within an RRD\n\n" + "\trrdtool first filename.rrd [--rraindex number]\n\n"; + char help_update[] = "* update - update an RRD\n\n" "\trrdtool update filename\n" @@ -96,7 +100,8 @@ void PrintUsage(char *cmd) "\t\t[-h|--height pixels] [-o|--logarithmic]\n" "\t\t[-u|--upper-limit value] [-z|--lazy]\n" "\t\t[-l|--lower-limit value] [-r|--rigid]\n" - "\t\t[-g|--no-legend]\n"; + "\t\t[-g|--no-legend]\n" + "\t\t[-F|--force-rules-legend]\n"; char help_graph2[] = "\t\t[-j|--only-graph]\n" "\t\t[--font FONTTAG:size:font]\n" @@ -172,7 +177,7 @@ void PrintUsage(char *cmd) "For more information read the RRD manpages\n\n"; - enum { C_NONE, C_CREATE, C_DUMP, C_INFO, C_RESTORE, C_LAST, + enum { C_NONE, C_CREATE, C_DUMP, C_INFO, C_RESTORE, C_LAST, C_FIRST, C_UPDATE, C_FETCH, C_GRAPH, C_TUNE, C_RESIZE, C_XPORT, C_QUIT, C_LS, C_CD, C_MKDIR, C_UPDATEV }; @@ -190,6 +195,8 @@ void PrintUsage(char *cmd) help_cmd = C_RESTORE; else if (!strcmp(cmd,"last")) help_cmd = C_LAST; + else if (!strcmp(cmd,"first")) + help_cmd = C_FIRST; else if (!strcmp(cmd,"update")) help_cmd = C_UPDATE; else if (!strcmp(cmd,"updatev")) @@ -237,6 +244,9 @@ void PrintUsage(char *cmd) case C_LAST: fputs(help_last, stdout); break; + case C_FIRST: + fputs(help_first, stdout); + break; case C_UPDATE: fputs(help_update, stdout); break; @@ -384,8 +394,11 @@ int main(int argc, char *argv[]) PrintUsage(argv[2]); exit(0); } - else - HandleInputLine(argc, argv, stderr); + else { + if(HandleInputLine(argc, argv, stderr)) { + return 1; + } + } return 0; } @@ -539,7 +552,9 @@ int HandleInputLine(int argc, char **argv, FILE* out) else if (strcmp("resize", argv[1]) == 0) rrd_resize(argc-1, &argv[1]); else if (strcmp("last", argv[1]) == 0) - printf("%ld\n",rrd_last(argc-1, argv[1])); + printf("%ld\n",rrd_last(argc-1, &argv[1])); + else if (strcmp("first", argv[1]) == 0) + printf("%ld\n",rrd_first(argc-1, &argv[1])); else if (strcmp("update", argv[1]) == 0) rrd_update(argc-1, &argv[1]); else if (strcmp("fetch", argv[1]) == 0) { @@ -619,9 +634,10 @@ int HandleInputLine(int argc, char **argv, FILE* out) const char *imgfile = argv[2]; /* rrd_graph changes argv pointer */ #endif int xsize, ysize; + double ymin,ymax; int i; int tostdout = (strcmp(argv[2],"-") == 0); - if( rrd_graph(argc-1, &argv[1], &calcpr, &xsize, &ysize, NULL) != -1 ) { + if( rrd_graph(argc-1, &argv[1], &calcpr, &xsize, &ysize, NULL, &ymin, &ymax) != -1 ) { if (!tostdout) printf ("%dx%d\n",xsize,ysize); if (calcpr) { @@ -642,6 +658,7 @@ int HandleInputLine(int argc, char **argv, FILE* out) if (rrd_test_error()) { fprintf(out, "ERROR: %s\n",rrd_get_error()); rrd_clear_error(); + return 1; } return(0); }