1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
 int
 saf_close_database(SAF_Db *database/*The open database to be closed.*/)
 {
     SAF_ENTER(saf_close_database, SAF_PRECONDITION_ERROR);

     SAF_REQUIRE(SS_MAGIC(ss_file_t)==SS_MAGIC_OF(database), SAF_LOW_CHK_COST, SAF_PRECONDITION_ERROR,
                 _saf_errmsg("DATABASE must be a database handle"));
     SAF_REQUIRE(ss_file_isopen(database, NULL), SAF_LOW_CHK_COST, SAF_PRECONDITION_ERROR,
                 _saf_errmsg("DATABASE must currently be open"));

     if (ss_file_close(database)<0)
         SAF_ERROR(-1, _saf_errmsg("ss_file_close() failed"));

     SAF_LEAVE(SAF_SUCCESS);
 }