static int32_t snmptools_parse_oid(struct snmp_toolinfo *snmptoolctx, struct snmp_object *obj, char *argv) { if (argv == NULL) return (-1); if (ISSET_NUMERIC(snmptoolctx)) { if (snmp_parse_numoid(argv, &(obj->val.var)) < 0) return (-1); } else { if (snmptools_parse_stroid(snmptoolctx, obj, argv) == NULL && snmp_parse_numoid(argv, &(obj->val.var)) < 0) return (-1); } return (1); }
static int snmpwalk_parse_oid(struct snmp_toolinfo *tool, struct snmp_object *obj, char *argv) { if (argv == NULL) return (-1); if (ISSET_NUMERIC(*tool)) { if (snmp_parse_numoid(argv, &(obj->val.var)) < 0) return (-1); } else { if(snmpwalk_parse_stroid(tool, obj, argv) < 0) return (-1); } return(1); }