@@ -109,7 +109,7 @@ struct sqlite3_api_routines {
109109 const char * (* libversion )(void );
110110 int (* libversion_number )(void );
111111 void * (* malloc )(int );
112- char * ( * mprintf )(const char * ,...);
112+ char * ( SQLITE_CDECL * mprintf )(const char * ,...);
113113 int (* open )(const char * ,sqlite3 * * );
114114 int (* open16 )(const void * ,sqlite3 * * );
115115 int (* prepare )(sqlite3 * ,const char * ,int ,sqlite3_stmt * * ,const char * * );
@@ -130,11 +130,11 @@ struct sqlite3_api_routines {
130130 void (* result_text16be )(sqlite3_context * ,const void * ,int ,void (* )(void * ));
131131 void (* result_text16le )(sqlite3_context * ,const void * ,int ,void (* )(void * ));
132132 void (* result_value )(sqlite3_context * ,sqlite3_value * );
133- void * (* rollback_hook )(sqlite3 * ,void (* )(void * ),void * );
133+ void * (* rollback_hook )(sqlite3 * ,void (* )(void * ),void * );
134134 int (* set_authorizer )(sqlite3 * ,int (* )(void * ,int ,const char * ,const char * ,
135135 const char * ,const char * ),void * );
136136 void (* set_auxdata )(sqlite3_context * ,int ,void * ,void (* )(void * ));
137- char * ( * xsnprintf )(int ,char * ,const char * ,...);
137+ char * ( SQLITE_CDECL * xsnprintf )(int ,char * ,const char * ,...);
138138 int (* step )(sqlite3_stmt * );
139139 int (* table_column_metadata )(sqlite3 * ,const char * ,const char * ,const char * ,
140140 char const * * ,char const * * ,int * ,int * ,int * );
@@ -198,7 +198,7 @@ struct sqlite3_api_routines {
198198 int (* xthreadsafe )(void );
199199 void (* result_zeroblob )(sqlite3_context * ,int );
200200 void (* result_error_code )(sqlite3_context * ,int );
201- int (* test_control )(int , ...);
201+ int (SQLITE_CDECL * test_control )(int , ...);
202202 void (* randomness )(int ,void * );
203203 sqlite3 * (* context_db_handle )(sqlite3_context * );
204204 int (* extended_result_codes )(sqlite3 * ,int );
@@ -218,11 +218,11 @@ struct sqlite3_api_routines {
218218 void (* xStep )(sqlite3_context * ,int ,sqlite3_value * * ),
219219 void (* xFinal )(sqlite3_context * ),
220220 void (* xDestroy )(void * ));
221- int (* db_config )(sqlite3 * ,int ,...);
221+ int (SQLITE_CDECL * db_config )(sqlite3 * ,int ,...);
222222 sqlite3_mutex * (* db_mutex )(sqlite3 * );
223223 int (* db_status )(sqlite3 * ,int ,int * ,int * ,int );
224224 int (* extended_errcode )(sqlite3 * );
225- void (* log )(int ,const char * ,...);
225+ void (SQLITE_CDECL * log )(int ,const char * ,...);
226226 sqlite3_int64 (* soft_heap_limit64 )(sqlite3_int64 );
227227 const char * (* sourceid )(void );
228228 int (* stmt_status )(sqlite3_stmt * ,int ,int );
@@ -232,7 +232,7 @@ struct sqlite3_api_routines {
232232 int (* wal_checkpoint )(sqlite3 * ,const char * );
233233 void * (* wal_hook )(sqlite3 * ,int (* )(void * ,sqlite3 * ,const char * ,int ),void * );
234234 int (* blob_reopen )(sqlite3_blob * ,sqlite3_int64 );
235- int (* vtab_config )(sqlite3 * ,int op ,...);
235+ int (SQLITE_CDECL * vtab_config )(sqlite3 * ,int op ,...);
236236 int (* vtab_on_conflict )(sqlite3 * );
237237 /* Version 3.7.16 and later */
238238 int (* close_v2 )(sqlite3 * );
@@ -301,7 +301,7 @@ struct sqlite3_api_routines {
301301 int (* keyword_check )(const char * ,int );
302302 sqlite3_str * (* str_new )(sqlite3 * );
303303 char * (* str_finish )(sqlite3_str * );
304- void (* str_appendf )(sqlite3_str * , const char * zFormat , ...);
304+ void (SQLITE_CDECL * str_appendf )(sqlite3_str * , const char * zFormat , ...);
305305 void (* str_vappendf )(sqlite3_str * , const char * zFormat , va_list );
306306 void (* str_append )(sqlite3_str * , const char * zIn , int N );
307307 void (* str_appendall )(sqlite3_str * , const char * zIn );
@@ -376,6 +376,9 @@ struct sqlite3_api_routines {
376376 void (* str_free )(sqlite3_str * );
377377 int (* carray_bind )(sqlite3_stmt * ,int ,void * ,int ,int ,void (* )(void * ));
378378 int (* carray_bind_v2 )(sqlite3_stmt * ,int ,void * ,int ,int ,void (* )(void * ),void * );
379+ /* Version 3.54.0 and later */
380+ sqlite3_int64 (* incomplete )(const char * );
381+ void (* result_str )(sqlite3_context * ,sqlite3_str * ,int );
379382};
380383
381384/*
@@ -719,6 +722,9 @@ typedef int (*sqlite3_loadext_entry)(
719722#define sqlite3_str_free sqlite3_api->str_free
720723#define sqlite3_carray_bind sqlite3_api->carray_bind
721724#define sqlite3_carray_bind_v2 sqlite3_api->carray_bind_v2
725+ /* Version 3.54.0 and later */
726+ #define sqlite3_incomplete sqlite3_api->incomplete
727+ #define sqlite3_result_str sqlite3_api->result_str
722728#endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */
723729
724730#if !defined(SQLITE_CORE ) && !defined(SQLITE_OMIT_LOAD_EXTENSION )
0 commit comments