X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd_first.c;h=faae57746673ccb2726949f7f56ff5a9c516da75;hb=28a2150521548582386dcadda9e25f8124cb0e9a;hp=bb869471574d3f657fbb5c335227885c9ca1e403;hpb=7f30ee2ae089520606cbb7e38fab9981618771f5;p=rrdtool.git diff --git a/src/rrd_first.c b/src/rrd_first.c index bb86947..faae577 100644 --- a/src/rrd_first.c +++ b/src/rrd_first.c @@ -1,11 +1,12 @@ /***************************************************************************** - * RRDtool 1.2.23 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.4.3 Copyright by Tobi Oetiker, 1997-2010 ***************************************************************************** * rrd_first Return ***************************************************************************** * Initial version by Burton Strauss, ntopSupport.com - 3/2005 *****************************************************************************/ +#include #include "rrd_tool.h" @@ -15,15 +16,15 @@ time_t rrd_first( { int target_rraindex = 0; char *endptr; + struct option long_options[] = { + {"rraindex", required_argument, 0, 129}, + {0, 0, 0, 0} + }; optind = 0; opterr = 0; /* initialize getopt */ while (1) { - static struct option long_options[] = { - {"rraindex", required_argument, 0, 129}, - {0, 0, 0, 0} - }; int option_index = 0; int opt; @@ -65,6 +66,7 @@ time_t rrd_first_r( rrd_t rrd; rrd_file_t *rrd_file; + rrd_init(&rrd); rrd_file = rrd_open(filename, &rrd, RRD_READONLY); if (rrd_file == NULL) { goto err_free; @@ -80,7 +82,7 @@ time_t rrd_first_r( (rra_start + (rrd.rra_ptr[rraindex].cur_row + 1) * rrd.stat_head->ds_cnt * sizeof(rrd_value_t)), SEEK_SET); - timer = -(rrd.rra_def[rraindex].row_cnt - 1); + timer = -(long)(rrd.rra_def[rraindex].row_cnt - 1); if (rrd.rra_ptr[rraindex].cur_row + 1 > rrd.rra_def[rraindex].row_cnt) { rrd_seek(rrd_file, rra_start, SEEK_SET); } @@ -88,9 +90,9 @@ time_t rrd_first_r( rrd.live_head->last_up % (rrd.rra_def[rraindex].pdp_cnt * rrd.stat_head->pdp_step)) + (timer * rrd.rra_def[rraindex].pdp_cnt * rrd.stat_head->pdp_step); -err_close: + err_close: rrd_close(rrd_file); -err_free: + err_free: rrd_free(&rrd); return (then); }