librrd_th_la_SOURCES = $(RRD_C_FILES) rrd_thread_safe.c
librrd_th_la_CFLAGS = $(MULTITHREAD_CFLAGS)
-librrd_th_la_LDFLAGS = $(MULTITHREAD_LDFLAGS) -version-info 2:1:0
+librrd_th_la_LDFLAGS = $(MULTITHREAD_LDFLAGS) -version-info 2:7:0
include_HEADERS = rrd.h
if (rrd_ctx) {
rrd_ctx->len = 0;
- rrd_ctx->rrd_error = malloc(MAXLEN);
- rrd_ctx->lib_errstr = malloc(ERRBUFLEN);
+ rrd_ctx->rrd_error = malloc(MAXLEN+10);
+ rrd_ctx->lib_errstr = malloc(ERRBUFLEN+10);
if (rrd_ctx->rrd_error && rrd_ctx->lib_errstr) {
*rrd_ctx->rrd_error = 0;
*rrd_ctx->lib_errstr = 0;
read_tag(&ptr2,"max","%lf",&(rrd->ds_def[rrd->stat_head->ds_cnt-1].par[DS_max_val].u_val));
} else { /* DST_CDEF */
char buffer[1024];
- read_tag(&ptr2,"cdef","%s",buffer);
+ read_tag(&ptr2,"cdef","%1000s",buffer);
parseCDEF_DS(buffer,rrd,rrd -> stat_head -> ds_cnt - 1);
+ if (rrd_test_error()) return -1;
}
read_tag(&ptr2,"last_ds","%30s",rrd->pdp_prep[rrd->stat_head->ds_cnt-1].last_ds);
rpnp = rpn_parse((void*) rrd, def, &lookup_DS);
if (rpnp == NULL) {
- rrd_set_error("failed to parse computed data source %s", def);
+ rrd_set_error("failed to parse computed data source");
return;
}
/* Check for OP nodes not permitted in COMPUTE DS.