LIB_EXPORT rc_t CC KDatabaseOpenTableRead ( const KDatabase *self, const KTable **tbl, const char *name, ... ) { rc_t rc; va_list args; va_start ( args, name ); rc = KDatabaseVOpenTableRead ( self, tbl, name, args ); va_end ( args ); return rc; }
LIB_EXPORT rc_t CC VDatabaseVOpenTableRead ( const VDatabase *self, const VTable **tblp, const char *path, va_list args ) { rc_t rc; if ( tblp == NULL ) rc = RC ( rcVDB, rcDatabase, rcOpening, rcParam, rcNull ); else { if ( self == NULL ) rc = RC ( rcVDB, rcDatabase, rcOpening, rcSelf, rcNull ); else { VTable *tbl; rc = VTableMake ( & tbl, self -> mgr, self, self -> schema ); if ( rc == 0 ) { tbl -> read_only = true; rc = KDatabaseVOpenTableRead ( self -> kdb, & tbl -> ktbl, path, args ); if ( rc == 0 ) { rc = VTableOpenRead ( tbl ); if ( rc == 0 ) { * tblp = tbl; return 0; } } VTableWhack ( tbl ); } } * tblp = NULL; } return rc; }