index 2a2fb410c0aa6167fbf3cce5e4cf3edf1b8dab77..ad8a8a3aac9dcd2d7501ede87b7d0f6d571cd4ad 100644 (file)
#include <rrd_tool.h>
#include <rrd_format.h>
-
+extern int Tclrrd_Init(Tcl_Interp *interp, int safe);
extern int __getopt_initialized;
/*
* some rrd_XXX() functions might modify the argv strings passed to it.
- * Furthermore, they use getopt() without initializing getopt's optind
- * variable themselves. Hence, we need to do some preparation before
+ * Hence, we need to do some preparation before
* calling the rrd library functions.
*/
static char ** getopt_init(argc, argv)
char **argv2;
int i;
- optind = 0;
-
argv2 = calloc(argc, sizeof(char *));
for (i = 0; i < argc; i++) {
argv2[i] = strdup(argv[i]);
int argc;
char *argv[];
{
- time_t start, end;
+ time_t start, end, j;
unsigned long step, ds_cnt, i, ii;
rrd_value_t *data, *datai;
char **ds_namv;
&ds_cnt, &ds_namv, &data) != -1) {
datai = data;
listPtr = Tcl_GetObjResult(interp);
- for (i = start; i <= end; i += step) {
+ for (j = start; j <= end; j += step) {
for (ii = 0; ii < ds_cnt; ii++) {
sprintf(s, "%.2f", *(datai++));
Tcl_ListObjAppendElement(interp, listPtr,
{
char **calcpr;
int xsize, ysize;
+ double ymin, ymax;
Tcl_Obj *listPtr;
char **argv2;
calcpr = NULL;
argv2 = getopt_init(argc, argv);
- if (rrd_graph(argc, argv2, &calcpr, &xsize, &ysize) != -1 ) {
+ if (rrd_graph(argc, argv2, &calcpr, &xsize, &ysize, NULL, &ymin, &ymax) != -1 ) {
listPtr = Tcl_GetObjResult(interp);
Tcl_ListObjAppendElement(interp, listPtr, Tcl_NewIntObj(xsize));
Tcl_ListObjAppendElement(interp, listPtr, Tcl_NewIntObj(ysize));