7 #define ARGSTR_LEN 32768
9 #define print(fmt, arg...) \
10 args[argcnt] = argstr + idx; \
11 idx += sprintf(argstr + idx, fmt, ##arg); \
15 int rrdtool_draw_image(struct rrd_image *image)
17 char cmd[] = "/usr/bin/rrdtool";
18 // char cmd[] = "echo";
19 char *args[512], argstr[ARGSTR_LEN];
20 int idx = 0, argcnt = 0, i,j;
25 strftime(tmp, 256, "%d.%m.%Y %T (%Z) ", localtime(&t));
26 for (i = 0, j = 0; j < 256;) {
28 timestamp[j++] = '\\';
30 timestamp[j++] = tmp[i++];
39 print("%s", image->image_filename);
42 print("%s", image->timestart);
44 print("%s", image->timeend);
46 print("%d", image->width);
48 print("%d", image->height);
50 print("%s", image->imageformat);
52 for (i = 0; image->options[i]; i++) {
53 print("%s", image->options[i]);
56 for (i = 0; image->text[i]; i++) {
57 args[argcnt++] = image->text[i];
60 print("COMMENT:Last update %s\\c", timestamp);
69 int rrdtool_draw_images(struct rrd_image **image)
72 for (i = 0; image[i]; i++)
73 rrdtool_draw_image(image[i]);
78 int rrdtool_update_data(struct rrd_database *rrd)
81 char cmd[] = "/usr/bin/rrdtool";
82 // char cmd[] = "echo";
92 rrd->last_update = time(0);
96 l = sprintf(data, "N:");
104 rrdtool_draw_images(rrd->images);
106 while (harvest_zombies(0));