- rrd.pdp_prep[ds].last_ds[0] = 'U';
- rrd.pdp_prep[ds].last_ds[1] = 'N';
- rrd.pdp_prep[ds].last_ds[2] = 'K';
- rrd.pdp_prep[ds].last_ds[3] = 'N';
- rrd.pdp_prep[ds].last_ds[4] = '\0';
-
- break;
- case 'r':
- if ((matches =
- sscanf(optarg,DS_NAM_FMT ":" DS_NAM_FMT , ds_nam,ds_new)) != 2){
- rrd_set_error("invalid arguments for data source type");
- rrd_free(&rrd);
- fclose(rrd_file);
- return -1;
- }
- if ((ds=ds_match(&rrd,ds_nam))==-1){
- rrd_free(&rrd);
- fclose(rrd_file);
- return -1;
- }
- strncpy(rrd.ds_def[ds].ds_nam,ds_new,DS_NAM_SIZE-1);
- rrd.ds_def[ds].ds_nam[DS_NAM_SIZE-1]='\0';
- break;
- case 'p':
- if (set_deltaarg(&rrd,RRA_delta_pos,optarg)) {
- rrd_free(&rrd);
- return -1;
- }
- break;
- case 'n':
- if (set_deltaarg(&rrd,RRA_delta_neg,optarg)) {
- rrd_free(&rrd);
- return -1;
- }
- break;
- case 'f':
- if (set_windowarg(&rrd,RRA_failure_threshold,optarg)) {
- rrd_free(&rrd);
- return -1;
- }
- break;
- case 'w':
- if (set_windowarg(&rrd,RRA_window_len,optarg)) {
- rrd_free(&rrd);
- return -1;
- }
- break;
- case 'x':
- if (set_hwarg(&rrd,CF_HWPREDICT,RRA_hw_alpha,optarg)) {
- rrd_free(&rrd);
- return -1;
- }
- break;
- case 'y':
- if (set_hwarg(&rrd,CF_HWPREDICT,RRA_hw_beta,optarg)) {
- rrd_free(&rrd);
- return -1;
- }
- break;
- case 'z':
- if (set_hwarg(&rrd,CF_SEASONAL,RRA_seasonal_gamma,optarg)) {
- rrd_free(&rrd);
- return -1;
- }
- break;
- case 'v':
- if (set_hwarg(&rrd,CF_DEVSEASONAL,RRA_seasonal_gamma,optarg)) {
- rrd_free(&rrd);
- return -1;
- }
- break;
- case 'b':
- if (sscanf(optarg,DS_NAM_FMT,ds_nam) != 1){
- rrd_set_error("invalid argument for aberrant-reset");
- rrd_free(&rrd);
- fclose(rrd_file);
- return -1;
- }
- if ((ds=ds_match(&rrd,ds_nam))==-1){
- /* ds_match handles it own errors */
- rrd_free(&rrd);
- fclose(rrd_file);
- return -1;
- }
- reset_aberrant_coefficients(&rrd,rrd_file,(unsigned long) ds);
- if (rrd_test_error()) {
- rrd_free(&rrd);
- fclose(rrd_file);
- return -1;
- }
- break;
- case '?':
+ rrd.pdp_prep[ds].last_ds[0] = 'U';
+ rrd.pdp_prep[ds].last_ds[1] = 'N';
+ rrd.pdp_prep[ds].last_ds[2] = 'K';
+ rrd.pdp_prep[ds].last_ds[3] = 'N';
+ rrd.pdp_prep[ds].last_ds[4] = '\0';
+ }
+ break;
+ case 'r':
+ if ((matches =
+ sscanf(optarg, DS_NAM_FMT ":" DS_NAM_FMT, ds_nam,
+ ds_new)) != 2) {
+ rrd_set_error("invalid arguments for data source type");
+ rrd_free(&rrd);
+ rrd_close(rrd_file);
+ return -1;
+ }
+ if ((ds = ds_match(&rrd, ds_nam)) == -1) {
+ rrd_free(&rrd);
+ rrd_close(rrd_file);
+ return -1;
+ }
+ strncpy(rrd.ds_def[ds].ds_nam, ds_new, DS_NAM_SIZE - 1);
+ rrd.ds_def[ds].ds_nam[DS_NAM_SIZE - 1] = '\0';
+ break;
+ case 'p':
+ if (set_deltaarg(&rrd, RRA_delta_pos, optarg)) {
+ rrd_free(&rrd);
+ return -1;
+ }
+ break;
+ case 'n':
+ if (set_deltaarg(&rrd, RRA_delta_neg, optarg)) {
+ rrd_free(&rrd);
+ return -1;
+ }
+ break;
+ case 'f':
+ if (set_windowarg(&rrd, RRA_failure_threshold, optarg)) {
+ rrd_free(&rrd);
+ return -1;
+ }
+ break;
+ case 'w':
+ if (set_windowarg(&rrd, RRA_window_len, optarg)) {
+ rrd_free(&rrd);
+ return -1;
+ }
+ break;
+ case 'x':
+ if (set_hwarg(&rrd, CF_HWPREDICT, RRA_hw_alpha, optarg)) {
+ if (set_hwarg(&rrd, CF_MHWPREDICT, RRA_hw_alpha, optarg)) {
+ rrd_free(&rrd);
+ return -1;
+ }
+ rrd_clear_error();
+ }
+ break;
+ case 'y':
+ if (set_hwarg(&rrd, CF_HWPREDICT, RRA_hw_beta, optarg)) {
+ if (set_hwarg(&rrd, CF_MHWPREDICT, RRA_hw_beta, optarg)) {
+ rrd_free(&rrd);
+ return -1;
+ }
+ rrd_clear_error();
+ }
+ break;
+ case 'z':
+ if (set_hwarg(&rrd, CF_SEASONAL, RRA_seasonal_gamma, optarg)) {
+ rrd_free(&rrd);
+ return -1;
+ }
+ break;
+ case 'v':
+ if (set_hwarg(&rrd, CF_DEVSEASONAL, RRA_seasonal_gamma, optarg)) {
+ rrd_free(&rrd);
+ return -1;
+ }
+ break;
+ case 'b':
+ if (sscanf(optarg, DS_NAM_FMT, ds_nam) != 1) {
+ rrd_set_error("invalid argument for aberrant-reset");
+ rrd_free(&rrd);
+ rrd_close(rrd_file);
+ return -1;
+ }
+ if ((ds = ds_match(&rrd, ds_nam)) == -1) {
+ /* ds_match handles it own errors */
+ rrd_free(&rrd);
+ rrd_close(rrd_file);
+ return -1;
+ }
+ reset_aberrant_coefficients(&rrd, rrd_file, (unsigned long) ds);
+ if (rrd_test_error()) {
+ rrd_free(&rrd);
+ rrd_close(rrd_file);
+ return -1;
+ }
+ break;
+ case 's':
+ strcpy(rrd.stat_head->version, RRD_VERSION); /* smoothing_window causes Version 4 */
+ if (set_hwarg
+ (&rrd, CF_SEASONAL, RRA_seasonal_smoothing_window, optarg)) {
+ rrd_free(&rrd);
+ return -1;
+ }
+ break;
+ case 'S':
+ strcpy(rrd.stat_head->version, RRD_VERSION); /* smoothing_window causes Version 4 */
+ if (set_hwarg
+ (&rrd, CF_DEVSEASONAL, RRA_seasonal_smoothing_window,
+ optarg)) {
+ rrd_free(&rrd);
+ return -1;
+ }
+ break;
+ case '?':