projects
/
m6w6
/
ext-psi
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Merge branch 'slimconfigure'
[m6w6/ext-psi]
/
tests
/
sqlite
/
sqlite.psi
diff --git
a/tests/sqlite/sqlite.psi
b/tests/sqlite/sqlite.psi
index 4bc8059823560ab73e236d0370fe67cd6aa7a5e7..20c24d823d512be8a8a3d988adebd67258ea8115 100644
(file)
--- a/
tests/sqlite/sqlite.psi
+++ b/
tests/sqlite/sqlite.psi
@@
-1,19
+1,21
@@
lib "sqlite3";
lib "sqlite3";
-extern const char *sqlite3_libversion(void);
+#include <sqlite3.h>
+
+//extern const char *sqlite3_libversion(void);
function sqlite3\version() : string {
return to_string(sqlite3_libversion);
}
function sqlite3\version() : string {
return to_string(sqlite3_libversion);
}
-
extern const char *sqlite3_errstr(int errno
);
+
//extern const char *sqlite3_errstr(int err
);
function sqlite3\errstr(int $errno) : string {
function sqlite3\errstr(int $errno) : string {
- let err
no
= intval($errno);
- return to_string(sqlite3_errstr);
+ let err = intval($errno);
+ return
sqlite3_errstr(err)
to_string(sqlite3_errstr);
}
/* obviously fake, we ever always need a pointer to it */
}
/* obviously fake, we ever always need a pointer to it */
-struct sqlite3;
-
+
//
struct sqlite3;
+/*
typedef struct sqlite3 sqlite3;
typedef int64_t sqlite_int64;
typedef struct sqlite3 sqlite3;
typedef int64_t sqlite_int64;
@@
-25,28
+27,30
@@
typedef sqlite_uint64 sqlite3_uint64;
extern void sqlite3_free(void *ptr);
extern int sqlite3_close(sqlite3 *db);
extern void sqlite3_free(void *ptr);
extern int sqlite3_close(sqlite3 *db);
+*/
+
function sqlite3\close(object &$db) : int {
let db = objval($db);
function sqlite3\close(object &$db) : int {
let db = objval($db);
- return to_int(sqlite3_close);
+ return
sqlite3_close(db) as
to_int(sqlite3_close);
// unset($db) as safe-guard
set $db = void(db);
}
// unset($db) as safe-guard
set $db = void(db);
}
-extern int sqlite3_open(const char *filename, sqlite3 **db_ptr);
+
//
extern int sqlite3_open(const char *filename, sqlite3 **db_ptr);
function sqlite3\open(string $uri, object &$db) : int {
let filename = pathval($uri);
let db_ptr = &NULL;
function sqlite3\open(string $uri, object &$db) : int {
let filename = pathval($uri);
let db_ptr = &NULL;
- return to_int(sqlite3_open);
+ return
sqlite3_open(filename, db_ptr) as
to_int(sqlite3_open);
set $db = to_object(*db_ptr);
}
set $db = to_object(*db_ptr);
}
-typedef int (*sqlite3_callback)(void *data, int argc, char** argv, char** cols);
+
//
typedef int (*sqlite3_callback)(void *data, int argc, char** argv, char** cols);
-extern int sqlite3_exec(sqlite3 *db, const char *sql, sqlite3_callback cb, void *data, char **errmsg);
+
//
extern int sqlite3_exec(sqlite3 *db, const char *sql, sqlite3_callback cb, void *data, char **errmsg);
function sqlite3\exec(object $db, string $sql, callable $cb, mixed $cd, string &$error = null) : int {
let db = objval($db);
let sql = strval($sql);
function sqlite3\exec(object $db, string $sql, callable $cb, mixed $cd, string &$error = null) : int {
let db = objval($db);
let sql = strval($sql);
- let cb = callback intval(
+ let cb = callback
(data, argc, argv, cols) as
intval(
$cb(
zval(data),
to_int(argc),
$cb(
zval(data),
to_int(argc),
@@
-56,7
+60,7
@@
function sqlite3\exec(object $db, string $sql, callable $cb, mixed $cd, string &
);
let data = zval($cd);
let errmsg = &NULL;
);
let data = zval($cd);
let errmsg = &NULL;
- return to_int(sqlite3_exec);
+ return
sqlite3_exec(db, sql, cb, data, errmsg) as
to_int(sqlite3_exec);
set $error = to_string(*errmsg);
free sqlite3_free(*errmsg);
}
set $error = to_string(*errmsg);
free sqlite3_free(*errmsg);
}