summaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/check_snmp.d/check_snmp_helpers.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/plugins/check_snmp.d/check_snmp_helpers.c b/plugins/check_snmp.d/check_snmp_helpers.c
index ecbfc5dd..f506537a 100644
--- a/plugins/check_snmp.d/check_snmp_helpers.c
+++ b/plugins/check_snmp.d/check_snmp_helpers.c
@@ -446,7 +446,8 @@ check_snmp_evaluation evaluate_single_unit(response_value response,
446 long long treated_value = (long long)response.value.uIntVal; 446 long long treated_value = (long long)response.value.uIntVal;
447 447
448 if (eval_params.multiplier_set || eval_params.offset_set) { 448 if (eval_params.multiplier_set || eval_params.offset_set) {
449 double processed = 0; 449 double processed = (double)response.value.uIntVal;
450
450 if (eval_params.offset_set) { 451 if (eval_params.offset_set) {
451 processed += eval_params.offset; 452 processed += eval_params.offset;
452 } 453 }
@@ -480,15 +481,16 @@ check_snmp_evaluation evaluate_single_unit(response_value response,
480 } break; 481 } break;
481 case ASN_INTEGER: { 482 case ASN_INTEGER: {
482 if (eval_params.multiplier_set || eval_params.offset_set) { 483 if (eval_params.multiplier_set || eval_params.offset_set) {
483 double processed = 0; 484 double processed = (double)response.value.intVal;
484 if (eval_params.multiplier_set) {
485 processed = (double)response.value.intVal * eval_params.multiplier;
486 }
487 485
488 if (eval_params.offset_set) { 486 if (eval_params.offset_set) {
489 processed += eval_params.offset; 487 processed += eval_params.offset;
490 } 488 }
491 489
490 if (eval_params.multiplier_set) {
491 processed *= eval_params.multiplier;
492 }
493
492 result_state.value.doubleVal = processed; 494 result_state.value.doubleVal = processed;
493 495
494 if (eval_params.calculate_rate && have_previous_state) { 496 if (eval_params.calculate_rate && have_previous_state) {