X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd_create.c;h=1c3edc182d4e057e5aa44923fad85a3bedc37859;hb=e50d3e46544f991e79f36d394ab632ac73205a84;hp=1200b53699dc2cd6c150cd75ade1337e5fe39cae;hpb=8b72aa265bde592af7e13220a3484c5657d6ffaf;p=rrdtool.git diff --git a/src/rrd_create.c b/src/rrd_create.c index 1200b53..1c3edc1 100644 --- a/src/rrd_create.c +++ b/src/rrd_create.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2.11 Copyright by Tobi Oetiker, 1997-2005 + * RRDtool 1.2.19 Copyright by Tobi Oetiker, 1997-2007 ***************************************************************************** * rrd_create.c creates new rrds *****************************************************************************/ @@ -10,9 +10,9 @@ #include "rrd_is_thread_safe.h" -unsigned long FnvHash(char *str); +unsigned long FnvHash(const char *str); int create_hw_contingent_rras(rrd_t *rrd, unsigned short period, unsigned long hashed_name); -void parseGENERIC_DS(char *def,rrd_t *rrd, int ds_idx); +void parseGENERIC_DS(const char *def,rrd_t *rrd, int ds_idx); int rrd_create(int argc, char **argv) @@ -78,7 +78,10 @@ rrd_create(int argc, char **argv) return(-1); } } - + if (optind == argc) { + rrd_set_error("what is the name of the rrd file you want to create?"); + return -1; + } rc = rrd_create_r(argv[optind], pdp_step, last_up, argc - optind - 1, argv + optind + 1); @@ -88,9 +91,9 @@ rrd_create(int argc, char **argv) /* #define DEBUG */ int -rrd_create_r(char *filename, +rrd_create_r(const char *filename, unsigned long pdp_step, time_t last_up, - int argc, char **argv) + int argc, const char **argv) { rrd_t rrd; long i; @@ -436,7 +439,7 @@ rrd_create_r(char *filename, return rrd_create_fn(filename, &rrd); } -void parseGENERIC_DS(char *def,rrd_t *rrd, int ds_idx) +void parseGENERIC_DS(const char *def,rrd_t *rrd, int ds_idx) { char minstr[DS_NAM_SIZE], maxstr[DS_NAM_SIZE]; /* @@ -544,7 +547,7 @@ create_hw_contingent_rras(rrd_t *rrd, unsigned short period, unsigned long hashe /* create and empty rrd file according to the specs given */ int -rrd_create_fn(char *file_name, rrd_t *rrd) +rrd_create_fn(const char *file_name, rrd_t *rrd) { unsigned long i,ii; FILE *rrd_file; @@ -554,8 +557,11 @@ rrd_create_fn(char *file_name, rrd_t *rrd) if ((rrd_file = fopen(file_name,"wb")) == NULL ) { rrd_set_error("creating '%s': %s",file_name, rrd_strerror(errno)); free(rrd->stat_head); + rrd->stat_head = NULL; free(rrd->ds_def); + rrd->ds_def = NULL; free(rrd->rra_def); + rrd->rra_def = NULL; return(-1); }