=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/snmp/snmpc.c,v retrieving revision 1.29 retrieving revision 1.30 diff -c -r1.29 -r1.30 *** src/usr.bin/snmp/snmpc.c 2020/09/12 18:11:43 1.29 --- src/usr.bin/snmp/snmpc.c 2020/09/14 15:12:27 1.30 *************** *** 1,4 **** ! /* $OpenBSD: snmpc.c,v 1.29 2020/09/12 18:11:43 martijn Exp $ */ /* * Copyright (c) 2019 Martijn van Duren --- 1,4 ---- ! /* $OpenBSD: snmpc.c,v 1.30 2020/09/14 15:12:27 martijn Exp $ */ /* * Copyright (c) 2019 Martijn van Duren *************** *** 80,86 **** { "set", 1, NULL, "agent oid type value [oid type value] ...", snmpc_set }, { "trap", 1, NULL, "agent uptime oid [oid type value] ...", snmpc_trap }, { "df", 1, "C:", "[-Ch] [-Cr] agent", snmpc_df }, ! { "mibtree", 0, "O:", "[-O fnS]", snmpc_mibtree } }; struct snmp_app *snmp_app = NULL; --- 80,86 ---- { "set", 1, NULL, "agent oid type value [oid type value] ...", snmpc_set }, { "trap", 1, NULL, "agent uptime oid [oid type value] ...", snmpc_trap }, { "df", 1, "C:", "[-Ch] [-Cr] agent", snmpc_df }, ! { "mibtree", 0, "O:", "[-O fnS] [oid ...]", snmpc_mibtree } }; struct snmp_app *snmp_app = NULL; *************** *** 1060,1070 **** snmpc_mibtree(int argc, char *argv[]) { struct oid *oid; char buf[BUFSIZ]; ! for (oid = NULL; (oid = smi_foreach(oid)) != NULL;) { ! smi_oid2string(&oid->o_id, buf, sizeof(buf), oid_lookup); ! printf("%s\n", buf); } return 0; } --- 1060,1084 ---- snmpc_mibtree(int argc, char *argv[]) { struct oid *oid; + struct ber_oid soid; char buf[BUFSIZ]; + int i; ! if (argc == 0) { ! for (oid = NULL; (oid = smi_foreach(oid)) != NULL;) { ! smi_oid2string(&oid->o_id, buf, sizeof(buf), ! oid_lookup); ! printf("%s\n", buf); ! } ! } else { ! for (i = 0; i < argc; i++) { ! if (smi_string2oid(argv[i], &soid) == -1) { ! warnx("%s: Unknown object identifier", argv[i]); ! continue; ! } ! smi_oid2string(&soid, buf, sizeof(buf), oid_lookup); ! printf("%s\n", buf); ! } } return 0; }