| 32 | }; |
| 33 | |
| 34 | int exec_callback ( void * arg, int argc, char ** argv, char ** colName ) { |
| 35 | ExecCallback * cb = (ExecCallback *) arg; |
| 36 | Array arrFields; |
| 37 | array_mark_locked(arrFields, (char *) argv, argc); |
| 38 | Array arrColumns; |
| 39 | array_mark_locked(arrColumns, (char *) colName, argc); |
| 40 | vec4f args[2] = { |
| 41 | cast<Array *>::from(&arrFields), |
| 42 | cast<Array *>::from(&arrColumns) |
| 43 | }; |
| 44 | auto res = cb->context->invoke(*cb->block, args, nullptr, cb->at); |
| 45 | return cast<int>::to(res); |
| 46 | } |
| 47 | |
| 48 | int sqlite3_exec_cb(sqlite3 * db, const char * sql, char ** errmsg, |
| 49 | const TBlock<int,const TTemporary<TArray<char *>>,const TTemporary<TArray<char *>>> & block, |
nothing calls this directly
no test coverage detected