X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd_info.c;h=1e769417b4d4610654ff1adc48d6b57cc39564f5;hb=c20f3bfc89a81e291b6374b6f414a1a4cac0a2e6;hp=b7bb8f02fc0ca7395bb0c01dc97be21daf7aeab7;hpb=a278779cdf2ded56b89fc404d6914bff7ad7dcbd;p=rrdtool.git diff --git a/src/rrd_info.c b/src/rrd_info.c index b7bb8f0..1e76941 100644 --- a/src/rrd_info.c +++ b/src/rrd_info.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.0.33 Copyright Tobias Oetiker, 1997 - 2000 + * RRDtool 1.1.x Copyright Tobias Oetiker, 1997 - 2002 ***************************************************************************** * rrd_info Get Information about the configuration of an RRD *****************************************************************************/ @@ -12,6 +12,7 @@ static char * sprintf_alloc(char *, ...); static info_t *push(info_t *, char *, enum info_type, infoval); info_t *rrd_info(int, char **); +info_t *rrd_info_r(char *filename); /* allocate memory for string */ static char * @@ -60,10 +61,26 @@ static info_t return(next); } - + info_t * rrd_info(int argc, char **argv) { - int i,ii=0; + info_t *info; + + if(argc < 2){ + rrd_set_error("please specify an rrd"); + return NULL; + } + + info = rrd_info_r(argv[1]); + + return(info); +} + + + +info_t * +rrd_info_r(char *filename) { + unsigned int i,ii=0; FILE *in_file; rrd_t rrd; info_t *data,*cd; @@ -71,12 +88,12 @@ rrd_info(int argc, char **argv) { enum cf_en current_cf; enum dst_en current_ds; - if(rrd_open(argv[1],&in_file,&rrd, RRD_READONLY)==-1){ + if(rrd_open(filename,&in_file,&rrd, RRD_READONLY)==-1){ return(NULL); } fclose(in_file); - info.u_str=argv[1]; + info.u_str=filename; cd=push(NULL,sprintf_alloc("filename"), RD_I_STR, info); data=cd; @@ -98,7 +115,7 @@ rrd_info(int argc, char **argv) { switch (current_ds) { case DST_CDEF: { - char *buffer; + char *buffer = 0; rpn_compact2str((rpn_cdefds_t *) &(rrd.ds_def[i].par[DS_cdef]), rrd.ds_def, &buffer); info.u_str = buffer; @@ -193,7 +210,7 @@ rrd_info(int argc, char **argv) { break; case CF_FAILURES: { - short j; + unsigned short j; char *violations_array; char history[MAX_FAILURES_WINDOW_LEN+1]; violations_array = (char*) rrd.cdp_prep[i*rrd.stat_head->ds_cnt +ii].scratch;