rrd_set_to_DINF
rrd_set_to_DNAN
rrd_strtod
-rrd_strtoding
+rrd_strtodbl
rrd_snprintf
rrd_strerror
rrd_strversion
* will expect a comma as the decimal separator, i.e. "42,77". */
for (i = 0; i < array_len; i++)
{
- if( rrd_strtoding(str_array[i], 0, &tmp, "parse_value_array_header") == 2) {
+ if( rrd_strtodbl(str_array[i], 0, &tmp, "parse_value_array_header") == 2) {
array[i] = (rrd_value_t)tmp;
} else {
free(str_array);
|| (strcmp ("TreeNodesNumber", key) == 0))
{
s->type = RRDC_STATS_TYPE_GAUGE;
- rrd_strtoding(value, &endptr, &(s->value.gauge),
+ rrd_strtodbl(value, &endptr, &(s->value.gauge),
"QueueLength or TreeDepth or TreeNodesNumber");
}
else if ((strcmp ("DataSetsWritten", key) == 0)
if (minstr[0] == 'U' && minstr[1] == 0)
ds_def->par[DS_min_val].u_val = DNAN;
else
- if( rrd_strtoding(minstr, 0, &(ds_def->par[DS_min_val].u_val), "parsing min val") != 2 ) return;
+ if( rrd_strtodbl(minstr, 0, &(ds_def->par[DS_min_val].u_val), "parsing min val") != 2 ) return;
if (maxstr[0] == 'U' && maxstr[1] == 0)
ds_def->par[DS_max_val].u_val = DNAN;
else
- if( rrd_strtoding(maxstr, 0, &(ds_def->par[DS_max_val].u_val), "parsing max val") != 2 ) return;
+ if( rrd_strtodbl(maxstr, 0, &(ds_def->par[DS_max_val].u_val), "parsing max val") != 2 ) return;
if ( ds_def->par[DS_min_val].u_val >= ds_def->par[DS_max_val].u_val ) {
parsetime_error = "min must be less than max in DS definition";
/* make sure update time is always moving forward. We use double here since
update does support subsecond precision for timestamps ... */
- if ( ( rrd_strtoding( value, &eostamp, &stamp, "error while parsing time stamp" ) != 1 ) || *eostamp != ':')
+ if ( ( rrd_strtodbl( value, &eostamp, &stamp, "error while parsing time stamp" ) != 1 ) || *eostamp != ':')
{
pthread_mutex_unlock(&cache_lock);
return send_response(sock, RESP_ERR,
switch (type) {
case DBI_TYPE_STRING:
ptmp=(char*)dbi_result_get_string_idx(result,idx);
- strtod_ret_val = rrd_strtoding(ptmp,NULL, &value, "rrd_fetch_dbi_double, DBI_TYPE_STRING");
+ strtod_ret_val = rrd_strtodbl(ptmp,NULL, &value, "rrd_fetch_dbi_double, DBI_TYPE_STRING");
if( strtod_ret_val == 1 || strtod_ret_val == 2 ) {
break;
} else {
}
}
/* convert to number */
- strtod_ret_val = rrd_strtoding(ptmp,NULL, &value, "rrd_fetch_dbi_double, DBI_TYPE_BINARY");
+ strtod_ret_val = rrd_strtodbl(ptmp,NULL, &value, "rrd_fetch_dbi_double, DBI_TYPE_BINARY");
/* free pointer */
free(ptmp);
break;
im->forceleftspace = 1;
break;
case 'T':
- rrd_strtoding(optarg, 0, &(im->tabwidth), "Function rrd_graph_options, option 'T'");
+ rrd_strtodbl(optarg, 0, &(im->tabwidth), "Function rrd_graph_options, option 'T'");
break;
case 'S':
im->step = atoi(optarg);
break;
};
if (sscanf(optarg, "%[-0-9.e+]:%d", double_str , &im->ylabfact) == 2) {
- rrd_strtoding( double_str, 0, &(im->ygridstep), "Function rrd_graph_options, option 'y'");
+ rrd_strtodbl( double_str, 0, &(im->ygridstep), "Function rrd_graph_options, option 'y'");
if (im->ygridstep <= 0) {
rrd_set_error("grid step must be > 0");
return;
"%[-0-9.e+]:%[-0-9.e+]",
double_str,
double_str2 ) != 2) {
- rrd_strtoding( double_str, 0, &(im->grid_dash_on), "Function rrd_graph_options, option 1008");
- rrd_strtoding( double_str2, 0, &(im->grid_dash_off), "Function rrd_graph_options, option 1008");
+ rrd_strtodbl( double_str, 0, &(im->grid_dash_on), "Function rrd_graph_options, option 1008");
+ rrd_strtodbl( double_str2, 0, &(im->grid_dash_off), "Function rrd_graph_options, option 1008");
rrd_set_error("expected grid-dash format float:float");
return;
}
"%[-0-9.e+]:%[-0-9.e+]",
double_str,
double_str2 ) == 2) {
- rrd_strtoding( double_str, 0, &(im->second_axis_scale), "Function rrd_graph_options, option 1002");
- rrd_strtoding( double_str2, 0, &(im->second_axis_shift), "Function rrd_graph_options, option 1002");
+ rrd_strtodbl( double_str, 0, &(im->second_axis_scale), "Function rrd_graph_options, option 1002");
+ rrd_strtodbl( double_str2, 0, &(im->second_axis_shift), "Function rrd_graph_options, option 1002");
if(im->second_axis_scale==0){
rrd_set_error("the second_axis_scale must not be 0");
return;
}
break;
case 'u':
- rrd_strtoding(optarg, 0, &(im->maxval), "Function rrd_graph_options, option 'u'");
+ rrd_strtodbl(optarg, 0, &(im->maxval), "Function rrd_graph_options, option 'u'");
break;
case 'l':
- rrd_strtoding(optarg, 0, &(im->minval), "Function rrd_graph_options, option 'l'");
+ rrd_strtodbl(optarg, 0, &(im->minval), "Function rrd_graph_options, option 'l'");
break;
case 'b':
im->base = atol(optarg);
int end;
if (sscanf(optarg, "%10[A-Z]:%[-0-9.e+]%n", prop, double_str, &end) >= 2) {
- rrd_strtoding( double_str, 0, &size, "Function rrd_graph_options, option 'n'" );
+ rrd_strtodbl( double_str, 0, &size, "Function rrd_graph_options, option 'n'" );
int sindex, propidx;
if ((sindex = text_prop_conv(prop)) != -1) {
break;
}
case 'm':
- rrd_strtoding(optarg, 0, &(im->zoom), "Function rrd_graph_options, option 'm'");
+ rrd_strtodbl(optarg, 0, &(im->zoom), "Function rrd_graph_options, option 'm'");
if (im->zoom <= 0.0) {
rrd_set_error("zoom factor must be > 0");
return;
n = 0;
sscanf(str, "%20[-0-9.e+],%29[A-Z]%n", double_str, func, &n);
- if ( rrd_strtoding( str, NULL, ¶m, "Function vdef_parse" ) != 2){
+ if ( rrd_strtodbl( str, NULL, ¶m, "Function vdef_parse" ) != 2){
rrd_clear_error();
n = 0;
sscanf(str, "%29[A-Z]%n", func, &n);
unsigned int strtod_ret;
*extra=NULL;
- if( rrd_strtoding( v, extra, val, "Function getDouble" ) != 2 ) {
+ if( rrd_strtodbl( v, extra, val, "Function getDouble" ) != 2 ) {
return -1;
}
- strtod_ret = rrd_strtoding( v, extra, val, "Function getDouble" );
+ strtod_ret = rrd_strtodbl( v, extra, val, "Function getDouble" );
- /* see rrd_strtoding's return values for more infromation */
+ /* see rrd_strtodbl's return values for more infromation */
if( strtod_ret == 0 )
return -1;
else if( strtod_ret == 1 )
xmlFree(text);
return 0;
}
- if ( rrd_strtoding((char *)text,NULL, &temp, "Function xml_get_double") != 2 ){
+ if ( rrd_strtodbl((char *)text,NULL, &temp, "Function xml_get_double") != 2 ){
rrd_set_error("ling %d: get_xml_double from '%s' %s",
xmlTextReaderGetParserLineNumber(reader),
text,rrd_strerror(errno));
else if ((sscanf(expr, "%19[-0-9.e+]%n", double_str, &pos) == 1)
&& (expr[pos] == ',')
- && ( rrd_strtoding( double_str, NULL, &(rpnp[steps].val), "parsing double in RPN expression" ) == 2 )) {
+ && ( rrd_strtodbl( double_str, NULL, &(rpnp[steps].val), "parsing double in RPN expression" ) == 2 )) {
rpnp[steps].op = OP_NUMBER;
expr += pos;
}
/* returns 2 on success */
/* i.e. if the whole string has been converted to a double successfully */
-unsigned int rrd_strtoding
+unsigned int rrd_strtodbl
(const char *str, char **endptr, double *dbl, char *error) {
char *local_endptr = (char *)str;
*dbl = rrd_strtod( str, &local_endptr );
-unsigned int rrd_strtoding(const char * str, char ** endptr, double * dbl, char * error);
+unsigned int rrd_strtodbl(const char * str, char ** endptr, double * dbl, char * error);
double rrd_strtod(const char *str, char **endptr);
case 'i':
matches = sscanf(optarg, DS_NAM_FMT ":%[-0-9.e+]", ds_nam, double_str);
if( matches >= 1 ) {
- strtod_ret_val = rrd_strtoding( double_str, 0, &min, "Function rrd_tune, option i" );
+ strtod_ret_val = rrd_strtodbl( double_str, 0, &min, "Function rrd_tune, option i" );
}
if ((matches < 1) || (strtod_ret_val != 2)) {
case 'a':
matches = sscanf(optarg, DS_NAM_FMT ":%[-0-9.e+]", ds_nam, double_str);
if( matches >= 1 ) {
- strtod_ret_val = rrd_strtoding( double_str, 0, &max, "Function rrd_tune, option i" );
+ strtod_ret_val = rrd_strtodbl( double_str, 0, &max, "Function rrd_tune, option i" );
}
if ((matches < 1 ) || (strtod_ret_val != 2)) {
signed short rra_idx = -1;
unsigned int strtod_ret_val;
- strtod_ret_val = rrd_strtoding(arg, 0, ¶m, "Error while parsing Holt-Winters parameter");
+ strtod_ret_val = rrd_strtodbl(arg, 0, ¶m, "Error while parsing Holt-Winters parameter");
/* read the value */
if ((strtod_ret_val == 1 || strtod_ret_val == 2 ) &&
(param <= 0.0 || param >= 1.0) ) {
unsigned int strtod_ret_val;
/* read the value */
- strtod_ret_val = rrd_strtoding(arg, 0, ¶m, "Error while parsing Holt-Winters parameter, function set_hesmootharg");
+ strtod_ret_val = rrd_strtodbl(arg, 0, ¶m, "Error while parsing Holt-Winters parameter, function set_hesmootharg");
/* in order to avoid smoothing of SEASONAL or DEVSEASONAL, we need to
* the 0.0 value*/
if ( (strtod_ret_val == 1 || strtod_ret_val == 2 ) &&
signed short rra_idx = -1;
unsigned int strtod_ret_val;
- strtod_ret_val = rrd_strtoding(arg, 0, ¶m, "Function set_deltaarg" );
+ strtod_ret_val = rrd_strtodbl(arg, 0, ¶m, "Function set_deltaarg" );
if ((strtod_ret_val == 1 || strtod_ret_val == 2) &&
param < 0.1) {
rrd_set_error("Parameter specified is too small");
*current_time = tmp_time.tv_sec;
*current_time_usec = tmp_time.tv_usec;
} else {
- if ( rrd_strtoding( updvals[0], 0, &tmp, "error while parsing time in get_time_from_reading") != 2) {
+ if ( rrd_strtodbl( updvals[0], 0, &tmp, "error while parsing time in get_time_from_reading") != 2) {
return -1;
};
if (tmp < 0.0){
}
break;
case DST_ABSOLUTE:
- if( rrd_strtoding(updvals[ds_idx + 1], 0, &pdp_new[ds_idx], "Function update_pdp_prep, case DST_ABSOLUTE" ) != 2 ) {
+ if( rrd_strtodbl(updvals[ds_idx + 1], 0, &pdp_new[ds_idx], "Function update_pdp_prep, case DST_ABSOLUTE" ) != 2 ) {
return -1;
}
rate = pdp_new[ds_idx] / interval;
break;
case DST_GAUGE:
- if( rrd_strtoding( updvals[ds_idx + 1], 0, &tmp, "Function update_pdp_prep, case DST_GAUGE") == 2 ) {
+ if( rrd_strtodbl( updvals[ds_idx + 1], 0, &tmp, "Function update_pdp_prep, case DST_GAUGE") == 2 ) {
pdp_new[ds_idx] = tmp * interval;
} else {
return -1;