On Thu, Jan 6, 2011 at 6:11 PM, Wes Hardaker <[email protected]
> wrote:

>
> BV> The difference is that when a table iterator created by a call to
> BV> netsnmp_register_table_iterator(reginfo, iinfo) is unregistered the
> memory
> BV> "iinfo" points at is not freed while unregistering a table iterator
> BV> registered by netsnmp_register_table_iterator2() does free that memory.
>
> Thanks.  I see that now.
>
> But I'd rather see it implemented as a flag to the existing
> netsnmp_iterator_info_s 'flags' field rather than creating another whole
> set of functions to maintain and add to code-bloat.
>
> [I'm biased a bit because right now I'm trolling through code looking
> for things to remove, so this happened to come in right at the same
> time!]
>
> One of the goals with the handler system, when I created it, was to work
> hard at defining structures carefully so that the APIs themselves didn't
> need modifications in the future.  Just the structures either needed to
> be extended or new flags/options within them could be added.
>

Having to set a flag before every call of netsnmp_register_table_iterator()
is tedious and error-prone.

Another alternative is to remove netsnmp_register_table_iterator() and to
rename netsnmp_register_table_iterator2() into
netsnmp_register_table_iterator(), but doing so would break backwards
compatibility.

Bart.
------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Net-snmp-coders mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders

Reply via email to