/** * call-seq: * open( file_name, mode ) -> db * * Open the named database file. Returns the opaque handle. */ static VALUE static_api_open( VALUE module, VALUE file_name, VALUE mode ) { char *s_file_name; char *errmsg; int i_mode; sqlite *db; Check_Type( file_name, T_STRING ); Check_Type( mode, T_FIXNUM ); s_file_name = STR2CSTR( file_name ); i_mode = FIX2INT( mode ); db = sqlite_open( s_file_name, i_mode, &errmsg ); if( db == NULL ) { static_raise_db_error2( -1, &errmsg ); /* "raise" does not return */ } return Data_Wrap_Struct( rb_cData, NULL, sqlite_close, db ); }