Ah ... your explanation was highly illuminating. I didn't realize that I was using a more specific function and that the *print_value() function would have sufficed. I thought it was up to me (my code) to intuit the type of data and to call the appropriate printing function. Thanks!!
Shane Dave Shield wrote: > On 20/07/06, Shane D <[EMAIL PROTECTED]> wrote: > >> But I was trying to print an OID (system.sysObjectID). The expected >> string would print, but then all kinds of numeric jibberish was appended >> to it (using snprint_objid). >> .... did I miss some place where something talks about >> this mysterious division by sizeof(oid)? > > > It's probably not mentioned explicitly, no. > > The prototype for the 'print_objid' family is given as: > void {sn,f,}print_objid( ...., oid *objid, int objidlen); > where 'objidlen' is the length of the objid array - i.e the number of > sub-identifiers in the OID. > That's the standard way of representing the name side of (name=value) > varbinds. > > Howevere, values are represented as a union of the various possible > syntaxes, and are typically displayed using the 'print_value' family > of routines. This takes the absolute size of the value (since this > could be a printable/binary string, or some form of integer, or an > OID), > checks the type and interprets the value accordingly. > > If you're handling this manually, you need to do much the same - check > the type of the value returned, and interpret the results > appropriately. That's where this sizeof(oid) comes into play - > converting from a general-purpose value (where you work with the size > of the data) to an OID array (where you work with the number of > elements). > > > It's undoubtably true that the documentation could be significantly > better - both here and elsewhere. Unfortunately, those of us who've > been working with this code for years (and so are probably the best > placed to provide such descriptions), are too familiar with how things > work to recognise where the most glaring deficiencies lie. > > Dave ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Net-snmp-users mailing list Net-snmp-users@lists.sourceforge.net Please see the following page to unsubscribe or change other options: https://lists.sourceforge.net/lists/listinfo/net-snmp-users