diff options
| author | hugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2005-01-23 19:07:01 +0000 |
|---|---|---|
| committer | hugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2005-01-23 19:07:01 +0000 |
| commit | 1c2ef5e2633fc762d476bedbfa95b01a4b062cc4 (patch) | |
| tree | e04f13f538f4bddd687a206072c297613bec55b1 /src | |
| parent | a6ead8ca5e212e2b723674bcdd81a78dec1ca36c (diff) | |
| download | zabbix-1c2ef5e2633fc762d476bedbfa95b01a4b062cc4.tar.gz zabbix-1c2ef5e2633fc762d476bedbfa95b01a4b062cc4.tar.xz zabbix-1c2ef5e2633fc762d476bedbfa95b01a4b062cc4.zip | |
- fixed support of negative values for SNMP integers (Alexei)
git-svn-id: svn://svn.zabbix.com/trunk@1622 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src')
| -rw-r--r-- | src/zabbix_server/checks_snmp.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/zabbix_server/checks_snmp.c b/src/zabbix_server/checks_snmp.c index af04fd32..2c6a0710 100644 --- a/src/zabbix_server/checks_snmp.c +++ b/src/zabbix_server/checks_snmp.c @@ -46,7 +46,7 @@ int get_value_snmp(double *result,char *result_str,DB_ITEM *item,char *error, in zabbix_log( LOG_LEVEL_DEBUG, "In get_value_SNMP()"); - assert((item->type == ITEM_TYPE_SNMPv1)||(item->type == ITEM_TYPE_SNMPv2c)); +/* assert((item->type == ITEM_TYPE_SNMPv1)||(item->type == ITEM_TYPE_SNMPv2c)); */ assert((item->type == ITEM_TYPE_SNMPv1)||(item->type == ITEM_TYPE_SNMPv2c)||(item->type == ITEM_TYPE_SNMPv3)); snmp_sess_init( &session ); @@ -193,8 +193,8 @@ int get_value_snmp(double *result,char *result_str,DB_ITEM *item,char *error, in int count=1; zabbix_log( LOG_LEVEL_DEBUG, "AV loop()"); - if( (vars->type == ASN_INTEGER) || - (vars->type == ASN_UINTEGER)|| +/* if( (vars->type == ASN_INTEGER) ||*/ + if( (vars->type == ASN_UINTEGER)|| (vars->type == ASN_COUNTER) || (vars->type == ASN_TIMETICKS) || (vars->type == ASN_GAUGE) @@ -208,6 +208,11 @@ int get_value_snmp(double *result,char *result_str,DB_ITEM *item,char *error, in /*sprintf(result_str,"%ld",(long)*vars->val.integer);*/ snprintf(result_str,MAX_STRING_LEN-1,"%lu",(long)*vars->val.integer); } + else if(vars->type == ASN_INTEGER) + { + *result=(long)*vars->val.integer; + snprintf(result_str,MAX_STRING_LEN-1,"%ld",(long)*vars->val.integer); + } else if(vars->type == ASN_OCTET_STR) { memcpy(result_str,vars->val.string,vars->val_len); |
