LIB_EXPORT rc_t CC KDatabaseOpenDBUpdate ( KDatabase *self, KDatabase **db, const char *name, ... ) { rc_t rc; va_list args; va_start ( args, name ); rc = KDatabaseVOpenDBUpdate ( self, db, name, args ); va_end ( args ); return rc; }
LIB_EXPORT rc_t CC VDatabaseVOpenDBUpdate ( VDatabase *self, VDatabase **dbp, const char *name, va_list args ) { rc_t rc; if ( dbp == NULL ) rc = RC ( rcVDB, rcDatabase, rcOpening, rcParam, rcNull ); else { if ( self == NULL ) rc = RC ( rcVDB, rcDatabase, rcOpening, rcSelf, rcNull ); else if ( self -> read_only ) rc = RC ( rcVDB, rcDatabase, rcOpening, rcDatabase, rcReadonly ); else { rc = VDatabaseMake ( dbp, NULL, self, self -> schema ); if ( rc == 0 ) { VDatabase *db = * dbp; rc = KDatabaseVOpenDBUpdate ( self -> kdb, & db -> kdb, name, args ); if ( rc == 0 ) { rc = VDatabaseOpenUpdate ( db, NULL ); if ( rc == 0 ) return 0; } VDatabaseWhack ( db ); } } * dbp = NULL; } return rc; }