# # # patch "mlsqlite/ocaml-sqlite3.c" # from [5c8f0f4e369aa333f39006eb6b28dd9c478fc080] # to [7c98e2fdeb9663865485a3f21374dae11f74f46f] # ============================================================ --- mlsqlite/ocaml-sqlite3.c 5c8f0f4e369aa333f39006eb6b28dd9c478fc080 +++ mlsqlite/ocaml-sqlite3.c 7c98e2fdeb9663865485a3f21374dae11f74f46f @@ -806,14 +806,15 @@ CAMLprim value ml_sqlite3_value_blob (value v) { - value r; + CAMLparam1(v); + CAMLlocal1(r); int len; const void *data; len = sqlite3_value_bytes (Sqlite3_value_val (v)); r = caml_alloc_string (len); data = sqlite3_value_blob (Sqlite3_value_val (v)); memcpy (Bp_val (r), data, len); - return r; + CAMLreturn(r); } CAMLprim value @@ -837,7 +838,15 @@ CAMLprim value ml_sqlite3_value_text (value v) { - return caml_copy_string ((char *) sqlite3_value_text (Sqlite3_value_val (v))); + CAMLparam1(v); + CAMLlocal1(r); + int len; + const void *data; + len = sqlite3_value_bytes (Sqlite3_value_val (v)); + r = caml_alloc_string (len); + data = sqlite3_value_text (Sqlite3_value_val (v)); + memcpy (Bp_val (r), data, len); + CAMLreturn(r); } CAMLprim value