public static int sqlite3_prepare_v2( DatabaseHandle db, string zSql, out StatementHandle ppStmt, out string pzTail) { int nByte; var zSqlPtr = MarshalEx.StringToHGlobalUTF8(zSql, out nByte); try { IntPtr pzTailPtr; var rc = sqlite3_prepare_v2(db, zSqlPtr, nByte, out ppStmt, out pzTailPtr); pzTail = MarshalEx.PtrToStringUTF8(pzTailPtr); return(rc); } finally { if (zSqlPtr != IntPtr.Zero) { Marshal.FreeHGlobal(zSqlPtr); } } }
public static string sqlite3_db_filename(DatabaseHandle db, string zDbName) { var ptr = MarshalEx.StringToHGlobalUTF8(zDbName); try { return(MarshalEx.PtrToStringUTF8(sqlite3_db_filename(db, ptr))); } finally { if (ptr != IntPtr.Zero) { Marshal.FreeHGlobal(ptr); } } }
public void StringToHGlobalUTF8_and_PtrToStringUTF8_roundtrip() { var s = "text"; int size; var ptr = MarshalEx.StringToHGlobalUTF8(s, out size); try { var result = MarshalEx.PtrToStringUTF8(ptr); Assert.Equal(s, result); } finally { Marshal.FreeHGlobal(ptr); } }
public static string sqlite3_libversion() { return(MarshalEx.PtrToStringUTF8(sqlite3_libversion_raw())); }
public static string sqlite3_errstr(int rc) { return(MarshalEx.PtrToStringUTF8(sqlite3_errstr_raw(rc))); }
public static string sqlite3_column_text(StatementHandle pStmt, int iCol) { return(MarshalEx.PtrToStringUTF8(sqlite3_column_text_raw(pStmt, iCol))); }
public static string sqlite3_column_name(StatementHandle pStmt, int N) { return(MarshalEx.PtrToStringUTF8(sqlite3_column_name_raw(pStmt, N))); }
public void PtrToStringUTF8_returns_null_when_zero() { Assert.Null(MarshalEx.PtrToStringUTF8(IntPtr.Zero)); }