fix off by 1 error
[rrdtool.git] / src / rrdupdate.c
1 /*****************************************************************************
2  * RRDtool 1.4.3  Copyright by Tobi Oetiker, 1997-2010
3  *****************************************************************************
4  * rrdupdate.c  Main program for the (standalone) rrdupdate utility
5  *****************************************************************************
6  * $Id$
7  *****************************************************************************/
8
9 #if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) && !defined(HAVE_CONFIG_H)
10 #include "../win32/config.h"
11 #else
12 #ifdef HAVE_CONFIG_H
13 #include "../rrd_config.h"
14 #endif
15 #endif
16
17 #include "rrd.h"
18 #include "plbasename.h"
19
20 int main(
21     int argc,
22     char **argv)
23 {
24     char *name=basename(argv[0]);
25     rrd_info_t *info;
26
27     if (!strcmp(name, "rrdcreate")) {
28         rrd_create(argc, argv);
29     }
30     else if (!strcmp(name, "rrdinfo")) {
31          info=rrd_info(argc, argv);
32          rrd_info_print(info);
33          rrd_info_free(info);
34     }
35     else {
36         rrd_update(argc, argv);
37     }
38
39     if (rrd_test_error()) {
40          printf("RRDtool " PACKAGE_VERSION
41                "  Copyright by Tobi Oetiker, 1997-2010\n\n");
42         if (!strcmp(name, "rrdcreate")) {
43             printf("Usage: rrdcreate <filename>\n"
44                    "\t\t\t[--start|-b start time]\n"
45                    "\t\t\t[--step|-s step]\n"
46                    "\t\t\t[--no-overwrite]\n"
47                    "\t\t\t[DS:ds-name:DST:dst arguments]\n"
48                    "\t\t\t[RRA:CF:cf arguments]\n\n");
49        }
50        else if (!strcmp(name, "rrdinfo")) {
51            printf("Usage: rrdinfo <filename>\n");
52        }
53        else {
54             printf("Usage: rrdupdate <filename>\n"
55                    "\t\t\t[--template|-t ds-name[:ds-name]...]\n"
56                    "\t\t\ttime|N:value[:value...]\n\n"
57                    "\t\t\tat-time@value[:value...]\n\n"
58                    "\t\t\t[ time:value[:value...] ..]\n\n");
59        }
60
61        printf("ERROR: %s\n", rrd_get_error());
62        rrd_clear_error();
63        return 1;
64    }
65     return 0;
66 }