/* * remove a row from the table */ void tlstmCertToTSNTable_removeEntry(netsnmp_tdata * table, netsnmp_tdata_row * row) { certToTSN_entry *entry; if (!row) return; /* Nothing to remove */ entry = (certToTSN_entry *) row->data; DEBUGMSGT(("tlstmCertToSN:entry:delete", "entry %p / row %p\n", entry, row)); if (entry && entry->undo) _freeUndo(entry); SNMP_FREE(entry); if (table) { DEBUGMSGTL(("tlstmCertToSN:row:remove", "row %p\n", row)); netsnmp_tdata_remove_and_delete_row(table, row); } else netsnmp_tdata_delete_row(row); }
/** * removes and frees a row of the given table and * returns the table-specific entry data * * returns the void * pointer on successful deletion. * or NULL on failure (bad arguments) */ void *netsnmp_tdata_remove_and_delete_row (netsnmp_tdata * table, netsnmp_tdata_row * row) { if (!row || !table) return NULL; /* * remove it from the list */ netsnmp_tdata_remove_row (table, row); return netsnmp_tdata_delete_row (row); }