diff options
author | msweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be> | 2008-05-19 23:16:59 +0000 |
---|---|---|
committer | msweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be> | 2008-05-19 23:16:59 +0000 |
commit | 20fbc9034781e607f8063453c8a52ec73fc5c293 (patch) | |
tree | 9c6f5a485fddc0431ca7a2b393a2f8e52aaf90e1 /cups/testsnmp.c | |
parent | 47879b8b63f262a11f53710f029e2969c5720b1f (diff) | |
download | cups-20fbc9034781e607f8063453c8a52ec73fc5c293.tar.gz |
Merge changes from CUPS 1.4svn-r7594.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@779 a1ca3aef-8c08-0410-bb20-df032aa958be
Diffstat (limited to 'cups/testsnmp.c')
-rw-r--r-- | cups/testsnmp.c | 62 |
1 files changed, 10 insertions, 52 deletions
diff --git a/cups/testsnmp.c b/cups/testsnmp.c index 2e0ef0d3d..fbbc30929 100644 --- a/cups/testsnmp.c +++ b/cups/testsnmp.c @@ -37,7 +37,6 @@ */ static void print_packet(cups_snmp_t *packet, void *data); -static int *scan_oid(const char *s, int *oid, int oidsize); static int show_oid(int fd, const char *community, http_addr_t *addr, const char *s, int walk); static void usage(void); @@ -119,8 +118,8 @@ main(int argc, /* I - Number of command-line args */ if (!oid) { if (!show_oid(fd, community, &(host->addr), - walk ? "1.3.6.1.2.1.43" : - "1.3.6.1.2.1.43.10.2.1.4.1.1", walk)) + walk ? ".1.3.6.1.2.1.43" : + ".1.3.6.1.2.1.43.10.2.1.4.1.1", walk)) return (1); } @@ -137,14 +136,12 @@ print_packet(cups_snmp_t *packet, /* I - SNMP response packet */ void *data) /* I - User data pointer (not used) */ { int i; /* Looping var */ + char temp[1024]; /* Temporary OID string */ (void)data; - printf("%d", packet->object_name[0]); - for (i = 1; packet->object_name[i] >= 0; i ++) - printf(".%d", packet->object_name[i]); - fputs(" = ", stdout); + printf("%s = ", _cupsSNMPOIDToString(packet->object_name, temp, sizeof(temp))); switch (packet->object_type) { @@ -170,10 +167,8 @@ print_packet(cups_snmp_t *packet, /* I - SNMP response packet */ break; case CUPS_ASN1_OID : - printf("OID %d", packet->object_value.oid[0]); - for (i = 1; packet->object_value.oid[i] >= 0; i ++) - printf(".%d", packet->object_value.oid[i]); - putchar('\n'); + printf("OID %s\n", _cupsSNMPOIDToString(packet->object_value.oid, + temp, sizeof(temp))); break; case CUPS_ASN1_HEX_STRING : @@ -208,38 +203,6 @@ print_packet(cups_snmp_t *packet, /* I - SNMP response packet */ /* - * 'scan_oid()' - Scan an OID value. - */ - -static int * /* O - OID or NULL on error */ -scan_oid(const char *s, /* I - OID string */ - int *oid, /* I - OID array */ - int oidsize) /* I - Size of OID array in integers */ -{ - int i; /* Index into OID array */ - char *ptr; /* Pointer into string */ - - - for (ptr = (char *)s, i = 0, oidsize --; ptr && *ptr && i < oidsize; i ++) - { - if (!isdigit(*ptr & 255)) - return (NULL); - - oid[i] = strtol(ptr, &ptr, 10); - if (ptr && *ptr == '.') - ptr ++; - } - - if (i >= oidsize) - return (NULL); - - oid[i] = -1; - - return (oid); -} - - -/* * 'show_oid()' - Show the specified OID. */ @@ -253,9 +216,10 @@ show_oid(int fd, /* I - SNMP socket */ int i; /* Looping var */ int oid[CUPS_SNMP_MAX_OID]; /* OID */ cups_snmp_t packet; /* SNMP packet */ + char temp[1024]; /* Temporary OID string */ - if (!scan_oid(s, oid, sizeof(oid) / sizeof(oid[0]))) + if (!_cupsSNMPStringToOID(s, oid, sizeof(oid) / sizeof(oid[0]))) { puts("testsnmp: Bad OID"); return (0); @@ -263,10 +227,7 @@ show_oid(int fd, /* I - SNMP socket */ if (walk) { - printf("_cupsSNMPWalk(%d", oid[0]); - for (i = 1; oid[i] >= 0; i ++) - printf(".%d", oid[i]); - puts("):"); + printf("_cupsSNMPWalk(%s): ", _cupsSNMPOIDToString(oid, temp, sizeof(temp))); if (_cupsSNMPWalk(fd, addr, CUPS_SNMP_VERSION_1, community, oid, 5.0, print_packet, NULL) < 0) @@ -277,10 +238,7 @@ show_oid(int fd, /* I - SNMP socket */ } else { - printf("_cupsSNMPWrite(%d", oid[0]); - for (i = 1; oid[i] >= 0; i ++) - printf(".%d", oid[i]); - fputs("): ", stdout); + printf("_cupsSNMPWrite(%s): ", _cupsSNMPOIDToString(oid, temp, sizeof(temp))); if (!_cupsSNMPWrite(fd, addr, CUPS_SNMP_VERSION_1, community, CUPS_ASN1_GET_REQUEST, 1, oid)) |