projects
/
rrdtool.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix merg error with win32 port
[rrdtool.git]
/
src
/
rrd_graph.c
diff --git
a/src/rrd_graph.c
b/src/rrd_graph.c
index
a29e47d
..
1618e62
100644
(file)
--- a/
src/rrd_graph.c
+++ b/
src/rrd_graph.c
@@
-6,6
+6,7
@@
#include <sys/stat.h>
#include <sys/stat.h>
+#include <libgen.h>
#ifdef WIN32
#include "strftime.h"
#ifdef WIN32
#include "strftime.h"
@@
-235,7
+236,7
@@
enum gf_en gf_conv(
conv_if(XPORT, GF_XPORT);
conv_if(SHIFT, GF_SHIFT);
conv_if(XPORT, GF_XPORT);
conv_if(SHIFT, GF_SHIFT);
- return (-1);
+ return (
enum gf_en)(
-1);
}
enum gfx_if_en if_conv(
}
enum gfx_if_en if_conv(
@@
-247,7
+248,7
@@
enum gfx_if_en if_conv(
conv_if(EPS, IF_EPS);
conv_if(PDF, IF_PDF);
conv_if(EPS, IF_EPS);
conv_if(PDF, IF_PDF);
- return (-1);
+ return (
enum gfx_if_en)(
-1);
}
enum tmt_en tmt_conv(
}
enum tmt_en tmt_conv(
@@
-261,7
+262,7
@@
enum tmt_en tmt_conv(
conv_if(WEEK, TMT_WEEK);
conv_if(MONTH, TMT_MONTH);
conv_if(YEAR, TMT_YEAR);
conv_if(WEEK, TMT_WEEK);
conv_if(MONTH, TMT_MONTH);
conv_if(YEAR, TMT_YEAR);
- return (-1);
+ return (
enum tmt_en)(
-1);
}
enum grc_en grc_conv(
}
enum grc_en grc_conv(
@@
-279,7
+280,7
@@
enum grc_en grc_conv(
conv_if(AXIS, GRC_AXIS);
conv_if(FRAME, GRC_FRAME);
conv_if(AXIS, GRC_AXIS);
conv_if(FRAME, GRC_FRAME);
- return
-1
;
+ return
(enum grc_en)(-1)
;
}
enum text_prop_en text_prop_conv(
}
enum text_prop_en text_prop_conv(
@@
-292,7
+293,7
@@
enum text_prop_en text_prop_conv(
conv_if(UNIT, TEXT_PROP_UNIT);
conv_if(LEGEND, TEXT_PROP_LEGEND);
conv_if(WATERMARK, TEXT_PROP_WATERMARK);
conv_if(UNIT, TEXT_PROP_UNIT);
conv_if(LEGEND, TEXT_PROP_LEGEND);
conv_if(WATERMARK, TEXT_PROP_WATERMARK);
- return
-1
;
+ return
(enum text_prop_en)(-1)
;
}
}
@@
-302,7
+303,7
@@
int im_free(
image_desc_t *im)
{
unsigned long i, ii;
image_desc_t *im)
{
unsigned long i, ii;
- cairo_status_t status = 0;
+ cairo_status_t status =
(cairo_status_t)
0;
if (im == NULL)
return 0;
if (im == NULL)
return 0;
@@
-426,7
+427,7
@@
void si_unit(
if (im->unitsexponent != 9999) {
/* unitsexponent = 9, 6, 3, 0, -3, -6, -9, etc */
if (im->unitsexponent != 9999) {
/* unitsexponent = 9, 6, 3, 0, -3, -6, -9, etc */
- viewdigits = floor(
im->unitsexponent / 3
);
+ viewdigits = floor(
(double)(im->unitsexponent / 3)
);
} else {
viewdigits = digits;
}
} else {
viewdigits = digits;
}
@@
-1052,7
+1053,7
@@
int data_calc(
/* add one entry to the array that keeps track of the step sizes of the
* data sources going into the CDEF. */
if ((steparray =
/* add one entry to the array that keeps track of the step sizes of the
* data sources going into the CDEF. */
if ((steparray =
- rrd_realloc(steparray,
+
(long*)
rrd_realloc(steparray,
(++stepcnt +
1) * sizeof(*steparray))) == NULL) {
rrd_set_error("realloc steparray");
(++stepcnt +
1) * sizeof(*steparray))) == NULL) {
rrd_set_error("realloc steparray");
@@
-1120,7
+1121,7
@@
int data_calc(
*/
im->gdes[gdi].step = lcd(steparray);
free(steparray);
*/
im->gdes[gdi].step = lcd(steparray);
free(steparray);
- if ((im->gdes[gdi].data = malloc(((im->gdes[gdi].end -
+ if ((im->gdes[gdi].data =
(rrd_value_t*)
malloc(((im->gdes[gdi].end -
im->gdes[gdi].start)
/ im->gdes[gdi].step)
* sizeof(double))) == NULL) {
im->gdes[gdi].start)
/ im->gdes[gdi].step)
* sizeof(double))) == NULL) {
@@
-1210,7
+1211,7
@@
int data_proc(
for (i = 0; i < im->gdes_c; i++) {
if ((im->gdes[i].gf == GF_LINE) ||
(im->gdes[i].gf == GF_AREA) || (im->gdes[i].gf == GF_TICK)) {
for (i = 0; i < im->gdes_c; i++) {
if ((im->gdes[i].gf == GF_LINE) ||
(im->gdes[i].gf == GF_AREA) || (im->gdes[i].gf == GF_TICK)) {
- if ((im->gdes[i].p_data = malloc((im->xsize + 1)
+ if ((im->gdes[i].p_data =
(rrd_value_t*)
malloc((im->xsize + 1)
* sizeof(rrd_value_t))) == NULL) {
rrd_set_error("malloc data_proc");
return -1;
* sizeof(rrd_value_t))) == NULL) {
rrd_set_error("malloc data_proc");
return -1;
@@
-1567,7
+1568,7
@@
int print_calc(
rrd_infoval_t prline;
if (im->gdes[i].strftm) {
rrd_infoval_t prline;
if (im->gdes[i].strftm) {
- prline.u_str = malloc((FMT_LEG_LEN + 2) * sizeof(char));
+ prline.u_str =
(char*)
malloc((FMT_LEG_LEN + 2) * sizeof(char));
strftime(prline.u_str,
FMT_LEG_LEN, im->gdes[i].format, &tmvdef);
} else if (bad_format(im->gdes[i].format)) {
strftime(prline.u_str,
FMT_LEG_LEN, im->gdes[i].format, &tmvdef);
} else if (bad_format(im->gdes[i].format)) {
@@
-1656,11
+1657,11
@@
int leg_place(
int border = im->text_prop[TEXT_PROP_LEGEND].size * 2.0;
int fill = 0, fill_last;
int leg_c = 0;
int border = im->text_prop[TEXT_PROP_LEGEND].size * 2.0;
int fill = 0, fill_last;
int leg_c = 0;
-
int
leg_x = border;
+
double
leg_x = border;
int leg_y = im->yimg;
int leg_y_prev = im->yimg;
int leg_cc;
int leg_y = im->yimg;
int leg_y_prev = im->yimg;
int leg_cc;
-
int
glue = 0;
+
double
glue = 0;
int i, ii, mark = 0;
char prt_fctn; /*special printfunctions */
char default_txtalign = TXA_JUSTIFIED; /*default line orientation */
int i, ii, mark = 0;
char prt_fctn; /*special printfunctions */
char default_txtalign = TXA_JUSTIFIED; /*default line orientation */
@@
-1668,7
+1669,7
@@
int leg_place(
char *tab;
if (!(im->extra_flags & NOLEGEND) & !(im->extra_flags & ONLY_GRAPH)) {
char *tab;
if (!(im->extra_flags & NOLEGEND) & !(im->extra_flags & ONLY_GRAPH)) {
- if ((legspace = malloc(im->gdes_c * sizeof(int))) == NULL) {
+ if ((legspace =
(int*)
malloc(im->gdes_c * sizeof(int))) == NULL) {
rrd_set_error("malloc for legspace");
return -1;
}
rrd_set_error("malloc for legspace");
return -1;
}
@@
-1792,12
+1793,12
@@
int leg_place(
if (prt_fctn != '\0') {
leg_x = border;
if (leg_c >= 2 && prt_fctn == 'j') {
if (prt_fctn != '\0') {
leg_x = border;
if (leg_c >= 2 && prt_fctn == 'j') {
- glue = (
im->ximg - fill - 2 * border) /
(leg_c - 1);
+ glue = (
double)(im->ximg - fill - 2 * border) / (double)
(leg_c - 1);
} else {
glue = 0;
}
if (prt_fctn == 'c')
} else {
glue = 0;
}
if (prt_fctn == 'c')
- leg_x = (im->ximg - fill) / 2.0;
+ leg_x = (
double)(
im->ximg - fill) / 2.0;
if (prt_fctn == 'r')
leg_x = im->ximg - fill - border;
for (ii = mark; ii <= i; ii++) {
if (prt_fctn == 'r')
leg_x = im->ximg - fill - border;
for (ii = mark; ii <= i; ii++) {
@@
-1806,13
+1807,13
@@
int leg_place(
im->gdes[ii].leg_x = leg_x;
im->gdes[ii].leg_y = leg_y;
leg_x +=
im->gdes[ii].leg_x = leg_x;
im->gdes[ii].leg_y = leg_y;
leg_x +=
- gfx_get_text_width(im, leg_x,
+
(double)
gfx_get_text_width(im, leg_x,
im->
text_prop
[TEXT_PROP_LEGEND].
font_desc,
im->tabwidth, im->gdes[ii].legend)
im->
text_prop
[TEXT_PROP_LEGEND].
font_desc,
im->tabwidth, im->gdes[ii].legend)
- +
legspace[ii]
+ +
(double)
legspace[ii]
+ glue;
}
leg_y_prev = leg_y;
+ glue;
}
leg_y_prev = leg_y;
@@
-2069,7
+2070,7
@@
double frexp10(
double mnt;
int iexp;
double mnt;
int iexp;
- iexp = floor(log(
fabs(x)) / log(
10));
+ iexp = floor(log(
(double)fabs(x)) / log((double)
10));
mnt = x / pow(10.0, iexp);
if (mnt >= 10.0) {
iexp++;
mnt = x / pow(10.0, iexp);
if (mnt >= 10.0) {
iexp++;
@@
-2943,10
+2944,10
@@
static cairo_status_t cairo_output(
*data,
unsigned int length)
{
*data,
unsigned int length)
{
- image_desc_t *im = closure;
+ image_desc_t *im =
(image_desc_t*)
closure;
im->rendered_image =
im->rendered_image =
- realloc(im->rendered_image, im->rendered_image_size + length);
+
(unsigned char*)
realloc(im->rendered_image, im->rendered_image_size + length);
if (im->rendered_image == NULL)
return CAIRO_STATUS_WRITE_ERROR;
memcpy(im->rendered_image + im->rendered_image_size, data, length);
if (im->rendered_image == NULL)
return CAIRO_STATUS_WRITE_ERROR;
memcpy(im->rendered_image + im->rendered_image_size, data, length);
@@
-3565,13
+3566,13
@@
int rrd_graph(
if (strcmp(walker->key, "image_info") == 0) {
prlines++;
if (((*prdata) =
if (strcmp(walker->key, "image_info") == 0) {
prlines++;
if (((*prdata) =
- rrd_realloc((*prdata),
+
(char**)
rrd_realloc((*prdata),
(prlines + 1) * sizeof(char *))) == NULL) {
rrd_set_error("realloc prdata");
return 0;
}
/* imginfo goes to position 0 in the prdata array */
(prlines + 1) * sizeof(char *))) == NULL) {
rrd_set_error("realloc prdata");
return 0;
}
/* imginfo goes to position 0 in the prdata array */
- (*prdata)[prlines - 1] = malloc((strlen(walker->value.u_str)
+ (*prdata)[prlines - 1] =
(char*)
malloc((strlen(walker->value.u_str)
+ 2) * sizeof(char));
strcpy((*prdata)[prlines - 1], walker->value.u_str);
(*prdata)[prlines] = NULL;
+ 2) * sizeof(char));
strcpy((*prdata)[prlines - 1], walker->value.u_str);
(*prdata)[prlines] = NULL;
@@
-3596,12
+3597,12
@@
int rrd_graph(
} else if (strncmp(walker->key, "print", 5) == 0) { /* keys are prdate[0..] */
prlines++;
if (((*prdata) =
} else if (strncmp(walker->key, "print", 5) == 0) { /* keys are prdate[0..] */
prlines++;
if (((*prdata) =
- rrd_realloc((*prdata),
+
(char**)
rrd_realloc((*prdata),
(prlines + 1) * sizeof(char *))) == NULL) {
rrd_set_error("realloc prdata");
return 0;
}
(prlines + 1) * sizeof(char *))) == NULL) {
rrd_set_error("realloc prdata");
return 0;
}
- (*prdata)[prlines - 1] = malloc((strlen(walker->value.u_str)
+ (*prdata)[prlines - 1] =
(char*)
malloc((strlen(walker->value.u_str)
+ 2) * sizeof(char));
(*prdata)[prlines] = NULL;
strcpy((*prdata)[prlines - 1], walker->value.u_str);
+ 2) * sizeof(char));
(*prdata)[prlines] = NULL;
strcpy((*prdata)[prlines - 1], walker->value.u_str);
@@
-3682,14
+3683,11
@@
rrd_info_t *rrd_graph_v(
if (im.imginfo) {
rrd_infoval_t info;
if (im.imginfo) {
rrd_infoval_t info;
+ char *path;
char *filename;
char *filename;
- filename = im.graphfile + strlen(im.graphfile);
- while (filename > im.graphfile) {
- if (*(filename - 1) == '/' || *(filename - 1) == '\\')
- break;
- filename--;
- }
+ path = strdup(im.graphfile);
+ filename = basename(path);
info.u_str =
sprintf_alloc(im.imginfo,
filename,
info.u_str =
sprintf_alloc(im.imginfo,
filename,
@@
-3697,6
+3695,7
@@
rrd_info_t *rrd_graph_v(
im.ximg), (long) (im.zoom * im.yimg));
grinfo_push(&im, sprintf_alloc("image_info"), RD_I_STR, info);
free(info.u_str);
im.ximg), (long) (im.zoom * im.yimg));
grinfo_push(&im, sprintf_alloc("image_info"), RD_I_STR, info);
free(info.u_str);
+ free(path);
}
if (im.rendered_image) {
rrd_infoval_t img;
}
if (im.rendered_image) {
rrd_infoval_t img;
@@
-4172,7
+4171,7
@@
void rrd_graph_options(
if (size > 0) {
rrd_set_font_desc(im,propidx,NULL,size);
}
if (size > 0) {
rrd_set_font_desc(im,propidx,NULL,size);
}
- if ((int) strlen(optarg) > end) {
+ if ((int) strlen(optarg) > end
+2
) {
if (optarg[end] == ':') {
rrd_set_font_desc(im,propidx,optarg + end + 1,0);
} else {
if (optarg[end] == ':') {
rrd_set_font_desc(im,propidx,optarg + end + 1,0);
} else {
@@
-4538,7
+4537,7
@@
int vdef_calc(
case VDEF_PERCENT:{
rrd_value_t *array;
int field;
case VDEF_PERCENT:{
rrd_value_t *array;
int field;
- if ((array = malloc(steps * sizeof(double))) == NULL) {
+ if ((array =
(rrd_value_t*)
malloc(steps * sizeof(double))) == NULL) {
rrd_set_error("malloc VDEV_PERCENT");
return -1;
}
rrd_set_error("malloc VDEV_PERCENT");
return -1;
}