diff options
author | 2021-11-27 15:26:58 +0100 | |
---|---|---|
committer | 2021-11-27 15:26:58 +0100 | |
commit | 182b4eea73881c611a0f519576aa6ad2aa6799c2 (patch) | |
tree | 230fac469690fcee8797b13585e739be148d4789 /vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go | |
parent | Require confirmed email when checking oauth token (#332) (diff) | |
download | gotosocial-182b4eea73881c611a0f519576aa6ad2aa6799c2.tar.xz |
Update dependencies (#333)
Diffstat (limited to 'vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go')
-rw-r--r-- | vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go | 5460 |
1 files changed, 3037 insertions, 2423 deletions
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go index e390e8511..9c9bd6f2c 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go @@ -3481,6 +3481,17 @@ const ( /* waitflags.h:52:1: */ P_PGID = 2 ) +// Values for the first argument to `getitimer' and `setitimer'. +const ( /* time.h:88:1: */ + // Timers run in real time. + ITIMER_REAL = 0 + // Timers run only when the process is executing. + ITIMER_VIRTUAL = 1 + // Timers run when the process is executing and when + // the system is executing on behalf of the process. + ITIMER_PROF = 2 +) + // These are the possible values for the FLAGS argument to `dladdr1'. // This indicates what extra information is stored at *EXTRA_INFO. // It may also be zero, in which case the EXTRA_INFO argument is not used. @@ -3625,17 +3636,6 @@ const ( /* math.h:853:1: */ FP_NORMAL = 4 ) -// Values for the first argument to `getitimer' and `setitimer'. -const ( /* time.h:88:1: */ - // Timers run in real time. - ITIMER_REAL = 0 - // Timers run only when the process is executing. - ITIMER_VIRTUAL = 1 - // Timers run when the process is executing and when - // the system is executing on behalf of the process. - ITIMER_PROF = 2 -) - type Ptrdiff_t = int32 /* <builtin>:3:26 */ type Size_t = uint32 /* <builtin>:9:23 */ @@ -4032,7 +4032,7 @@ type Va_list = X__gnuc_va_list /* stdarg.h:99:24 */ // of the hash might be different from [SQLITE_SOURCE_ID].)^ // // See also: [sqlite_version()] and [sqlite_source_id()]. -var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 311 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ +var Xsqlite3_version = *(*[7]uint8)(unsafe.Pointer(ts + 311 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ // CAPI3REF: Database Connection Handle // KEYWORDS: {database connection} {database connections} @@ -4054,7 +4054,7 @@ type sqlite3 = struct { FaDb uintptr FnDb int32 FmDbFlags U32 - _ [4]byte + F__ccgo_pad1 [4]byte Fflags U64 FlastRowid I64 FszMmap I64 @@ -4077,7 +4077,7 @@ type sqlite3 = struct { FmTrace U8 FnoSharedCache U8 FnSqlExec U8 - _ [3]byte + F__ccgo_pad2 [3]byte FnextPagesize int32 Fmagic U32 FnChange int32 @@ -4088,9 +4088,9 @@ type sqlite3 = struct { FnewTnum Pgno FiDb U8 Fbusy U8 - _ [2]byte + F__ccgo_pad1 [2]byte ForphanTrigger uint8 /* unsigned orphanTrigger: 1, unsigned imposterTable: 1, unsigned reopenMemdb: 1 */ - _ [3]byte + F__ccgo_pad2 [3]byte FazInit uintptr } FnVdbeActive int32 @@ -4121,9 +4121,9 @@ type sqlite3 = struct { FpCollNeededArg uintptr FpErr uintptr Fu1 struct { - _ [0]uint64 + F__ccgo_pad1 [0]uint64 FisInterrupted int32 - _ [4]byte + F__ccgo_pad2 [4]byte } Flookaside Lookaside FxAuth Sqlite3_xauth @@ -4145,7 +4145,7 @@ type sqlite3 = struct { FbusyTimeout int32 FnSavepoint int32 FnStatement int32 - _ [4]byte + F__ccgo_pad3 [4]byte FnDeferredCons I64 FnDeferredImmCons I64 FpnBytesFreed uintptr @@ -5401,16 +5401,16 @@ type Sqlite3_value = sqlite3_value /* sqlite3.c:5368:30 */ // [sqlite3_context_db_handle()], [sqlite3_get_auxdata()], // and/or [sqlite3_set_auxdata()]. type sqlite3_context = struct { - FpOut uintptr - FpFunc uintptr - FpMem uintptr - FpVdbe uintptr - FiOp int32 - FisError int32 - FskipFlag U8 - Fargc U8 - _ [2]byte - Fargv [1]uintptr + FpOut uintptr + FpFunc uintptr + FpMem uintptr + FpVdbe uintptr + FiOp int32 + FisError int32 + FskipFlag U8 + Fargc U8 + F__ccgo_pad1 [2]byte + Fargv [1]uintptr } /* sqlite3.c:1331:9 */ // CAPI3REF: SQL Function Context Object @@ -5472,11 +5472,11 @@ type sqlite3_index_info = struct { FidxStr uintptr FneedToFreeIdxStr int32 ForderByConsumed int32 - _ [4]byte + F__ccgo_pad1 [4]byte FestimatedCost float64 FestimatedRows Sqlite3_int64 FidxFlags int32 - _ [4]byte + F__ccgo_pad2 [4]byte FcolUsed Sqlite3_uint64 } /* sqlite3.c:7867:9 */ @@ -5617,7 +5617,7 @@ type sqlite3_index_constraint = struct { FiColumn int32 Fop uint8 Fusable uint8 - _ [2]byte + F__ccgo_pad1 [2]byte FiTermOffset int32 } /* sqlite3.c:7867:9 */ @@ -5722,9 +5722,9 @@ type sqlite3_index_constraint = struct { // sqlite3_libversion_number() returns a value greater than or equal to // 3009000. type sqlite3_index_orderby = struct { - FiColumn int32 - Fdesc uint8 - _ [3]byte + FiColumn int32 + Fdesc uint8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:7867:9 */ // CAPI3REF: Virtual Table Indexing Information @@ -5828,9 +5828,9 @@ type sqlite3_index_orderby = struct { // sqlite3_libversion_number() returns a value greater than or equal to // 3009000. type sqlite3_index_constraint_usage = struct { - FargvIndex int32 - Fomit uint8 - _ [3]byte + FargvIndex int32 + Fomit uint8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:7867:9 */ // CAPI3REF: Mutex Methods Object @@ -5995,7 +5995,7 @@ type sqlite3_str = struct { FnChar U32 FaccError U8 FprintfFlags U8 - _ [2]byte + F__ccgo_pad1 [2]byte } /* sqlite3.c:8964:9 */ // CAPI3REF: Dynamic String Object @@ -6560,7 +6560,7 @@ type sqlite3_rtree_query_info = struct { FeWithin int32 FrScore Sqlite3_rtree_dbl FapSqlParam uintptr - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:11040:9 */ type Sqlite3_rtree_query_info = sqlite3_rtree_query_info /* sqlite3.c:11040:41 */ @@ -6590,7 +6590,7 @@ type sqlite3_session = struct { Frc int32 FpFilterCtx uintptr FxTableFilter uintptr - _ [4]byte + F__ccgo_pad1 [4]byte FnMalloc I64 FnMaxChangesetSize I64 FpZeroBlob uintptr @@ -8233,9 +8233,9 @@ type _IO_FILE = struct { F_old_offset X__off_t F_cur_column uint16 F_vtable_offset int8 - F_shortbuf [1]int8 + F_shortbuf [1]uint8 F_lock uintptr - _ [4]byte + F__ccgo_pad1 [4]byte F_offset X__off64_t F_codecvt uintptr F_wide_data uintptr @@ -8243,7 +8243,7 @@ type _IO_FILE = struct { F_freeres_buf uintptr F__pad5 Size_t F_mode int32 - F_unused2 [40]int8 + F_unused2 [40]uint8 } /* __FILE.h:4:1 */ type X__FILE = _IO_FILE /* __FILE.h:5:25 */ @@ -9269,15 +9269,15 @@ type Pthread_t = uint32 /* pthreadtypes.h:27:27 */ // Data structures for mutex handling. The structure of the attribute // type is not exposed on purpose. type Pthread_mutexattr_t = struct { - _ [0]uint32 - F__size [4]int8 + F__ccgo_pad1 [0]uint32 + F__size [4]uint8 } /* pthreadtypes.h:36:3 */ // Data structure for condition variable handling. The structure of // the attribute type is not exposed on purpose. type Pthread_condattr_t = struct { - _ [0]uint32 - F__size [4]int8 + F__ccgo_pad1 [0]uint32 + F__size [4]uint8 } /* pthreadtypes.h:45:3 */ // Keys for thread-specific data @@ -9287,8 +9287,8 @@ type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */ type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */ type pthread_attr_t = struct { - _ [0]uint32 - F__size [36]int8 + F__ccgo_pad1 [0]uint32 + F__size [36]uint8 } /* pthreadtypes.h:56:1 */ type Pthread_attr_t = pthread_attr_t /* pthreadtypes.h:62:30 */ @@ -9302,8 +9302,8 @@ type Pthread_cond_t = struct{ F__data __pthread_cond_s } /* pthreadtypes.h:80:3 type Pthread_rwlock_t = struct{ F__data __pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */ type Pthread_rwlockattr_t = struct { - _ [0]uint32 - F__size [8]int8 + F__ccgo_pad1 [0]uint32 + F__size [8]uint8 } /* pthreadtypes.h:97:3 */ // POSIX spinlock data type. @@ -9312,13 +9312,13 @@ type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */ // POSIX barriers data type. The structure of the type is // deliberately not exposed. type Pthread_barrier_t = struct { - _ [0]uint32 - F__size [20]int8 + F__ccgo_pad1 [0]uint32 + F__size [20]uint8 } /* pthreadtypes.h:112:3 */ type Pthread_barrierattr_t = struct { - _ [0]uint32 - F__size [4]int8 + F__ccgo_pad1 [0]uint32 + F__size [4]uint8 } /* pthreadtypes.h:118:3 */ // Reentrant versions of the `random' family of functions. @@ -9560,7 +9560,7 @@ type BusyHandler = BusyHandler1 /* sqlite3.c:14788:28 */ type AggInfo1 = struct { FdirectMode U8 FuseSortingIdx U8 - _ [2]byte + F__ccgo_pad1 [2]byte FsortingIdx int32 FsortingIdxPTab int32 FnSortingColumn int32 @@ -9642,54 +9642,54 @@ type Bitvec1 = struct { FnSet U32 FiDivisor U32 Fu struct { - _ [0]uint32 - FaBitmap [500]U8 + F__ccgo_pad1 [0]uint32 + FaBitmap [500]U8 } } /* sqlite3.c:1331:9 */ type Bitvec = Bitvec1 /* sqlite3.c:14887:23 */ type CollSeq1 = struct { - FzName uintptr - Fenc U8 - _ [3]byte - FpUser uintptr - FxCmp uintptr - FxDel uintptr + FzName uintptr + Fenc U8 + F__ccgo_pad1 [3]byte + FpUser uintptr + FxCmp uintptr + FxDel uintptr } /* sqlite3.c:1331:9 */ type CollSeq = CollSeq1 /* sqlite3.c:14888:24 */ type Column1 = struct { - FzName uintptr - FpDflt uintptr - FzColl uintptr - FnotNull U8 - Faffinity int8 - FszEst U8 - FhName U8 - FcolFlags U16 - _ [2]byte + FzName uintptr + FpDflt uintptr + FzColl uintptr + FnotNull U8 + Faffinity uint8 + FszEst U8 + FhName U8 + FcolFlags U16 + F__ccgo_pad1 [2]byte } /* sqlite3.c:1331:9 */ type Column = Column1 /* sqlite3.c:14889:23 */ type Cte1 = struct { - FzName uintptr - FpCols uintptr - FpSelect uintptr - FzCteErr uintptr - FpUse uintptr - FeM10d U8 - _ [3]byte + FzName uintptr + FpCols uintptr + FpSelect uintptr + FzCteErr uintptr + FpUse uintptr + FeM10d U8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:1331:9 */ type Cte = Cte1 /* sqlite3.c:14890:20 */ type CteUse1 = struct { - FnUse int32 - FaddrM9e int32 - FregRtn int32 - FiCur int32 - FnRowEst LogEst - FeM10d U8 - _ [1]byte + FnUse int32 + FaddrM9e int32 + FregRtn int32 + FiCur int32 + FnRowEst LogEst + FeM10d U8 + F__ccgo_pad1 [1]byte } /* sqlite3.c:1331:9 */ type CteUse = CteUse1 /* sqlite3.c:14891:23 */ @@ -9698,20 +9698,20 @@ type Db1 = struct { FpBt uintptr Fsafety_level U8 FbSyncSet U8 - _ [2]byte + F__ccgo_pad1 [2]byte FpSchema uintptr } /* sqlite3.c:1331:9 */ type Db = Db1 /* sqlite3.c:14892:19 */ type DbFixer1 = struct { - FpParse uintptr - Fw Walker - FpSchema uintptr - FbTemp U8 - _ [3]byte - FzDb uintptr - FzType uintptr - FpName uintptr + FpParse uintptr + Fw Walker + FpSchema uintptr + FbTemp U8 + F__ccgo_pad1 [3]byte + FzDb uintptr + FzType uintptr + FpName uintptr } /* sqlite3.c:14893:9 */ type DbFixer = DbFixer1 /* sqlite3.c:14893:24 */ @@ -9732,9 +9732,9 @@ type Schema1 = struct { type Schema = Schema1 /* sqlite3.c:14894:23 */ type Expr1 = struct { Fop U8 - FaffExpr int8 + FaffExpr uint8 Fop2 U8 - _ [1]byte + F__ccgo_pad1 [1]byte Fflags U32 Fu struct{ FzToken uintptr } FpLeft uintptr @@ -9747,8 +9747,8 @@ type Expr1 = struct { FiRightJoinTable int32 FpAggInfo uintptr Fy struct { - FpTab uintptr - _ [4]byte + FpTab uintptr + F__ccgo_pad1 [4]byte } } /* sqlite3.c:1331:9 */ @@ -9757,15 +9757,15 @@ type ExprList1 = struct { FnExpr int32 FnAlloc int32 Fa [1]struct { - FpExpr uintptr - FzEName uintptr - FsortFlags U8 - _ [3]byte - FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ - _ [3]byte - Fu struct { - _ [0]uint32 - Fx struct { + FpExpr uintptr + FzEName uintptr + FsortFlags U8 + F__ccgo_pad1 [3]byte + FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ + F__ccgo_pad2 [3]byte + Fu struct { + F__ccgo_pad1 [0]uint32 + Fx struct { FiOrderByCol U16 FiAlias U16 } @@ -9775,17 +9775,17 @@ type ExprList1 = struct { type ExprList = ExprList1 /* sqlite3.c:14896:25 */ type FKey1 = struct { - FpFrom uintptr - FpNextFrom uintptr - FzTo uintptr - FpNextTo uintptr - FpPrevTo uintptr - FnCol int32 - FisDeferred U8 - FaAction [2]U8 - _ [1]byte - FapTrigger [2]uintptr - FaCol [1]struct { + FpFrom uintptr + FpNextFrom uintptr + FzTo uintptr + FpNextTo uintptr + FpPrevTo uintptr + FnCol int32 + FisDeferred U8 + FaAction [2]U8 + F__ccgo_pad1 [1]byte + FapTrigger [2]uintptr + FaCol [1]struct { FiFrom int32 FzCol uintptr } @@ -9800,17 +9800,17 @@ type FuncDestructor1 = struct { type FuncDestructor = FuncDestructor1 /* sqlite3.c:14898:31 */ type FuncDef1 = struct { - FnArg I8 - _ [3]byte - FfuncFlags U32 - FpUserData uintptr - FpNext uintptr - FxSFunc uintptr - FxFinalize uintptr - FxValue uintptr - FxInverse uintptr - FzName uintptr - Fu struct{ FpHash uintptr } + FnArg I8 + F__ccgo_pad1 [3]byte + FfuncFlags U32 + FpUserData uintptr + FpNext uintptr + FxSFunc uintptr + FxFinalize uintptr + FxValue uintptr + FxInverse uintptr + FzName uintptr + Fu struct{ FpHash uintptr } } /* sqlite3.c:1331:9 */ type FuncDef = FuncDef1 /* sqlite3.c:14899:24 */ @@ -9840,16 +9840,16 @@ type Index1 = struct { FnKeyCol U16 FnColumn U16 FonError U8 - _ [1]byte + F__ccgo_pad1 [1]byte FidxType uint16 /* unsigned idxType: 2, unsigned bUnordered: 1, unsigned uniqNotNull: 1, unsigned isResized: 1, unsigned isCovering: 1, unsigned noSkipScan: 1, unsigned hasStat1: 1, unsigned bNoQuery: 1, unsigned bAscKeyBug: 1, unsigned bHasVCol: 1 */ - _ [2]byte + F__ccgo_pad2 [2]byte FnSample int32 FnSampleCol int32 FaAvgEq uintptr FaSample uintptr FaiRowEst uintptr FnRowEst0 TRowcnt - _ [4]byte + F__ccgo_pad3 [4]byte FcolNotIdxed Bitmask } /* sqlite3.c:1331:9 */ @@ -9864,33 +9864,33 @@ type IndexSample1 = struct { type IndexSample = IndexSample1 /* sqlite3.c:14903:28 */ type KeyInfo1 = struct { - FnRef U32 - Fenc U8 - _ [1]byte - FnKeyField U16 - FnAllField U16 - _ [2]byte - Fdb uintptr - FaSortFlags uintptr - FaColl [1]uintptr + FnRef U32 + Fenc U8 + F__ccgo_pad1 [1]byte + FnKeyField U16 + FnAllField U16 + F__ccgo_pad2 [2]byte + Fdb uintptr + FaSortFlags uintptr + FaColl [1]uintptr } /* sqlite3.c:1331:9 */ type KeyInfo = KeyInfo1 /* sqlite3.c:14905:24 */ type Lookaside1 = struct { - FbDisable U32 - Fsz U16 - FszTrue U16 - FbMalloced U8 - _ [3]byte - FnSlot U32 - FanStat [3]U32 - FpInit uintptr - FpFree uintptr - FpSmallInit uintptr - FpSmallFree uintptr - FpMiddle uintptr - FpStart uintptr - FpEnd uintptr + FbDisable U32 + Fsz U16 + FszTrue U16 + FbMalloced U8 + F__ccgo_pad1 [3]byte + FnSlot U32 + FanStat [3]U32 + FpInit uintptr + FpFree uintptr + FpSmallInit uintptr + FpSmallFree uintptr + FpMiddle uintptr + FpStart uintptr + FpEnd uintptr } /* sqlite3.c:1331:9 */ type Lookaside = Lookaside1 /* sqlite3.c:14906:26 */ @@ -9934,7 +9934,7 @@ type Parse1 = struct { FokConstFactor U8 FdisableLookaside U8 FdisableVtab U8 - _ [2]byte + F__ccgo_pad1 [2]byte FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -9974,7 +9974,7 @@ type Parse1 = struct { FiPkSortOrder U8 Fexplain U8 FeParseMode U8 - _ [3]byte + F__ccgo_pad2 [3]byte FnVtabLock int32 FnHeight int32 FaddrExplain int32 @@ -10016,7 +10016,7 @@ type PreUpdate1 = struct { FaNew uintptr FpTab uintptr FpPk uintptr - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ type PreUpdate = PreUpdate1 /* sqlite3.c:14912:26 */ @@ -10060,17 +10060,17 @@ type RowSet1 = struct { type RowSet = RowSet1 /* sqlite3.c:14916:23 */ type Savepoint1 = struct { FzName uintptr - _ [4]byte + F__ccgo_pad1 [4]byte FnDeferredCons I64 FnDeferredImmCons I64 FpNext uintptr - _ [4]byte + F__ccgo_pad2 [4]byte } /* sqlite3.c:1331:9 */ type Savepoint = Savepoint1 /* sqlite3.c:14917:26 */ type Select1 = struct { Fop U8 - _ [1]byte + F__ccgo_pad1 [1]byte FnSelectRow LogEst FselFlags U32 FiLimit int32 @@ -10100,14 +10100,14 @@ type SQLiteThread1 = struct { type SQLiteThread = SQLiteThread1 /* sqlite3.c:14919:29 */ type SelectDest1 = struct { - FeDest U8 - _ [3]byte - FiSDParm int32 - FiSDParm2 int32 - FiSdst int32 - FnSdst int32 - FzAffSdst uintptr - FpOrderBy uintptr + FeDest U8 + F__ccgo_pad1 [3]byte + FiSDParm int32 + FiSDParm2 int32 + FiSdst int32 + FnSdst int32 + FzAffSdst uintptr + FpOrderBy uintptr } /* sqlite3.c:14920:9 */ type SelectDest = SelectDest1 /* sqlite3.c:14920:27 */ @@ -10122,11 +10122,11 @@ type SrcItem1 = struct { FregReturn int32 FregResult int32 Ffg struct { - _ [0]uint32 - Fjointype U8 - _ [3]byte - FnotIndexed uint16 /* unsigned notIndexed: 1, unsigned isIndexedBy: 1, unsigned isTabFunc: 1, unsigned isCorrelated: 1, unsigned viaCoroutine: 1, unsigned isRecursive: 1, unsigned fromDDL: 1, unsigned isCte: 1, unsigned notCte: 1 */ - _ [2]byte + F__ccgo_pad1 [0]uint32 + Fjointype U8 + F__ccgo_pad2 [3]byte + FnotIndexed uint16 /* unsigned notIndexed: 1, unsigned isIndexedBy: 1, unsigned isTabFunc: 1, unsigned isCorrelated: 1, unsigned viaCoroutine: 1, unsigned isRecursive: 1, unsigned fromDDL: 1, unsigned isCte: 1, unsigned notCte: 1 */ + F__ccgo_pad3 [2]byte } FiCursor int32 FpOn uintptr @@ -10162,7 +10162,7 @@ type Table1 = struct { FnRowLogEst LogEst FszTabRow LogEst FkeyConf U8 - _ [1]byte + F__ccgo_pad1 [1]byte FaddColOffset int32 FnModuleArg int32 FazModuleArg uintptr @@ -10177,7 +10177,7 @@ type TableLock1 = struct { FiDb int32 FiTab Pgno FisWriteLock U8 - _ [3]byte + F__ccgo_pad1 [3]byte FzLockName uintptr } /* sqlite3.c:1331:9 */ @@ -10189,18 +10189,18 @@ type Token1 = struct { type Token = Token1 /* sqlite3.c:14926:22 */ type Trigger1 = struct { - FzName uintptr - Ftable uintptr - Fop U8 - Ftr_tm U8 - FbReturning U8 - _ [1]byte - FpWhen uintptr - FpColumns uintptr - FpSchema uintptr - FpTabSchema uintptr - Fstep_list uintptr - FpNext uintptr + FzName uintptr + Ftable uintptr + Fop U8 + Ftr_tm U8 + FbReturning U8 + F__ccgo_pad1 [1]byte + FpWhen uintptr + FpColumns uintptr + FpSchema uintptr + FpTabSchema uintptr + Fstep_list uintptr + FpNext uintptr } /* sqlite3.c:1331:9 */ type Trigger = Trigger1 /* sqlite3.c:14928:24 */ @@ -10214,33 +10214,33 @@ type TriggerPrg1 = struct { type TriggerPrg = TriggerPrg1 /* sqlite3.c:14929:27 */ type TriggerStep1 = struct { - Fop U8 - Forconf U8 - _ [2]byte - FpTrig uintptr - FpSelect uintptr - FzTarget uintptr - FpFrom uintptr - FpWhere uintptr - FpExprList uintptr - FpIdList uintptr - FpUpsert uintptr - FzSpan uintptr - FpNext uintptr - FpLast uintptr + Fop U8 + Forconf U8 + F__ccgo_pad1 [2]byte + FpTrig uintptr + FpSelect uintptr + FzTarget uintptr + FpFrom uintptr + FpWhere uintptr + FpExprList uintptr + FpIdList uintptr + FpUpsert uintptr + FzSpan uintptr + FpNext uintptr + FpLast uintptr } /* sqlite3.c:1331:9 */ type TriggerStep = TriggerStep1 /* sqlite3.c:14930:28 */ type UnpackedRecord1 = struct { - FpKeyInfo uintptr - FaMem uintptr - FnField U16 - Fdefault_rc I8 - FerrCode U8 - Fr1 I8 - Fr2 I8 - FeqSeen U8 - _ [1]byte + FpKeyInfo uintptr + FaMem uintptr + FnField U16 + Fdefault_rc I8 + FerrCode U8 + Fr1 I8 + Fr2 I8 + FeqSeen U8 + F__ccgo_pad1 [1]byte } /* sqlite3.c:1331:9 */ type UnpackedRecord = UnpackedRecord1 /* sqlite3.c:14931:31 */ @@ -10251,7 +10251,7 @@ type Upsert1 = struct { FpUpsertWhere uintptr FpNextUpsert uintptr FisDoUpdate U8 - _ [3]byte + F__ccgo_pad1 [3]byte FpToFree uintptr FpUpsertIdx uintptr FpUpsertSrc uintptr @@ -10268,7 +10268,7 @@ type VTable1 = struct { FnRef int32 FbConstraint U8 FeVtabRisk U8 - _ [2]byte + F__ccgo_pad1 [2]byte FiSavepoint int32 FpNext uintptr } /* sqlite3.c:1331:9 */ @@ -10289,7 +10289,7 @@ type Walker1 = struct { FxSelectCallback2 uintptr FwalkerDepth int32 FeCode U16 - _ [2]byte + F__ccgo_pad1 [2]byte Fu struct{ FpNC uintptr } } /* sqlite3.c:14893:9 */ @@ -10311,13 +10311,13 @@ type WhereInfo1 = struct { FeOnePass U8 FeDistinct U8 FbDeferredSeek uint8 /* unsigned bDeferredSeek: 1, unsigned untestedTerms: 1, unsigned bOrderedInnerLoop: 1, unsigned sorted: 1 */ - _ [1]byte + F__ccgo_pad1 [1]byte FnRowOut LogEst FiTop int32 FiEndWhere int32 FpLoops uintptr FpExprMods uintptr - _ [4]byte + F__ccgo_pad2 [4]byte FrevMask Bitmask FsWC WhereClause FsMaskSet WhereMaskSet @@ -10335,7 +10335,7 @@ type Window1 = struct { FeEnd U8 FbImplicitFrame U8 FeExclude U8 - _ [3]byte + F__ccgo_pad1 [3]byte FpStart uintptr FpEnd uintptr FppThis uintptr @@ -10355,7 +10355,7 @@ type Window1 = struct { FregStartRowid int32 FregEndRowid int32 FbExprArgs U8 - _ [3]byte + F__ccgo_pad2 [3]byte } /* sqlite3.c:1331:9 */ type Window = Window1 /* sqlite3.c:14937:23 */ @@ -10454,9 +10454,9 @@ type Pager1 = struct { FaSavepoint uintptr FnSavepoint int32 FiDataVersion U32 - FdbFileVers [16]int8 + FdbFileVers [16]uint8 FnMmapOut int32 - _ [4]byte + F__ccgo_pad1 [4]byte FszMmap Sqlite3_int64 FpMmapFreelist uintptr FnExtra U16 @@ -10581,7 +10581,7 @@ type BtCursor1 = struct { FpKey uintptr FpBt uintptr FpNext uintptr - _ [4]byte + F__ccgo_pad1 [4]byte Finfo CellInfo FnKey I64 FpgnoRoot Pgno @@ -10589,11 +10589,11 @@ type BtCursor1 = struct { FcurIntKey U8 Fix U16 FaiIdx [19]U16 - _ [2]byte + F__ccgo_pad2 [2]byte FpKeyInfo uintptr FpPage uintptr FapPage [19]uintptr - _ [4]byte + F__ccgo_pad3 [4]byte } /* sqlite3.c:1331:9 */ type BtCursor = BtCursor1 /* sqlite3.c:15268:25 */ @@ -10609,13 +10609,13 @@ type BtShared1 = struct { FinTransaction U8 Fmax1bytePayload U8 FnReserveWanted U8 - _ [1]byte + F__ccgo_pad1 [1]byte FbtsFlags U16 FmaxLocal U16 FminLocal U16 FmaxLeaf U16 FminLeaf U16 - _ [2]byte + F__ccgo_pad2 [2]byte FpageSize U32 FusableSize U32 FnTransaction int32 @@ -10634,16 +10634,16 @@ type BtShared1 = struct { type BtShared = BtShared1 /* sqlite3.c:15269:25 */ type BtreePayload1 = struct { - FpKey uintptr - _ [4]byte - FnKey Sqlite3_int64 - FpData uintptr - FaMem uintptr - FnMem U16 - _ [2]byte - FnData int32 - FnZero int32 - _ [4]byte + FpKey uintptr + F__ccgo_pad1 [4]byte + FnKey Sqlite3_int64 + FpData uintptr + FaMem uintptr + FnMem U16 + F__ccgo_pad2 [2]byte + FnData int32 + FnZero int32 + F__ccgo_pad3 [4]byte } /* sqlite3.c:15270:9 */ type BtreePayload = BtreePayload1 /* sqlite3.c:15270:29 */ @@ -10678,7 +10678,7 @@ type Vdbe1 = struct { FpNext uintptr FpParse uintptr FnVar YnVar - _ [2]byte + F__ccgo_pad1 [2]byte FiVdbeMagic U32 FnMem int32 FnCursor int32 @@ -10687,7 +10687,7 @@ type Vdbe1 = struct { Frc int32 FnChange int32 FiStatement int32 - _ [4]byte + F__ccgo_pad2 [4]byte FiCurrentTime I64 FnFkConstraint I64 FnStmtDefCons I64 @@ -10703,16 +10703,16 @@ type Vdbe1 = struct { FpResultSet uintptr FzErrMsg uintptr FpVList uintptr - _ [4]byte + F__ccgo_pad3 [4]byte FstartTime I64 FnResColumn U16 FerrorAction U8 FminWriteFileFormat U8 FprepFlags U8 FdoingRerun U8 - _ [2]byte + F__ccgo_pad4 [2]byte Fexpired uint16 /* bft expired: 2, bft explain: 2, bft changeCntOn: 1, bft runOnlyOnce: 1, bft usesStmtJournal: 1, bft readOnly: 1, bft bIsReader: 1 */ - _ [2]byte + F__ccgo_pad5 [2]byte FbtreeMask YDbMask FlockMask YDbMask FaCounter [7]U32 @@ -10865,20 +10865,20 @@ type RecordCompare = uintptr /* sqlite3.c:16156:13 */ type PgHdr = PgHdr2 /* sqlite3.c:16289:22 */ type PCache2 = struct { - FpDirty uintptr - FpDirtyTail uintptr - FpSynced uintptr - FnRefSum int32 - FszCache int32 - FszSpill int32 - FszPage int32 - FszExtra int32 - FbPurgeable U8 - FeCreate U8 - _ [2]byte - FxStress uintptr - FpStress uintptr - FpCache uintptr + FpDirty uintptr + FpDirtyTail uintptr + FpSynced uintptr + FnRefSum int32 + FszCache int32 + FszSpill int32 + FszPage int32 + FszExtra int32 + FbPurgeable U8 + FeCreate U8 + F__ccgo_pad1 [2]byte + FxStress uintptr + FpStress uintptr + FpCache uintptr } /* sqlite3.c:1331:9 */ type PCache = PCache2 /* sqlite3.c:16290:23 */ @@ -10897,9 +10897,9 @@ type sqlite3InitInfo = struct { FnewTnum Pgno FiDb U8 Fbusy U8 - _ [2]byte + F__ccgo_pad1 [2]byte ForphanTrigger uint8 /* unsigned orphanTrigger: 1, unsigned imposterTable: 1, unsigned reopenMemdb: 1 */ - _ [3]byte + F__ccgo_pad2 [3]byte FazInit uintptr } /* sqlite3.c:1331:9 */ @@ -11059,15 +11059,15 @@ type YnVar = I16 /* sqlite3.c:18212:13 */ // ENAME_SPAN Text of the original result set // expression. type ExprList_item = struct { - FpExpr uintptr - FzEName uintptr - FsortFlags U8 - _ [3]byte - FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ - _ [3]byte - Fu struct { - _ [0]uint32 - Fx struct { + FpExpr uintptr + FzEName uintptr + FsortFlags U8 + F__ccgo_pad1 [3]byte + FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ + F__ccgo_pad2 [3]byte + Fu struct { + F__ccgo_pad1 [0]uint32 + Fx struct { FiOrderByCol U16 FiAlias U16 } @@ -11131,7 +11131,7 @@ type Sqlite3Config = struct { FbUseCis U8 FbSmallMalloc U8 FbExtraSchemaChecks U8 - _ [2]byte + F__ccgo_pad1 [2]byte FmxStrlen int32 FneverCorrupt int32 FszLookaside int32 @@ -11161,14 +11161,14 @@ type Sqlite3Config = struct { FpInitMutex uintptr FxLog uintptr FpLogArg uintptr - _ [4]byte + F__ccgo_pad2 [4]byte FmxMemdbSize Sqlite3_int64 FxTestCallback uintptr FbLocaltimeFault int32 FiOnceResetThreshold int32 FszSorterRef U32 FiPrngSeed uint32 - _ [4]byte + F__ccgo_pad3 [4]byte } /* sqlite3.c:19356:1 */ // This macro is used inside of assert() statements to indicate that @@ -11540,7 +11540,7 @@ var Xsqlite3WhereTrace U32 = U32(0) /* sqlite3.c:21129:20 */ var Xsqlite3OpcodeProperty = [180]uint8{ /* 0 */ uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00), uint8(0x10) /* 8 */, uint8(0x00), uint8(0x01), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x03) /* 16 */, uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x12), uint8(0x03), uint8(0x01), uint8(0x09), uint8(0x09) /* 24 */, uint8(0x09), uint8(0x09), uint8(0x01), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09) /* 32 */, uint8(0x09), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01) /* 40 */, uint8(0x01), uint8(0x01), uint8(0x23), uint8(0x26), uint8(0x26), uint8(0x0b), uint8(0x01), uint8(0x01) /* 48 */, uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x0b), uint8(0x0b), uint8(0x0b), uint8(0x0b) /* 56 */, uint8(0x0b), uint8(0x0b), uint8(0x01), uint8(0x03), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00) /* 64 */, uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x08), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x10) /* 72 */, uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 80 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x00), uint8(0x00) /* 88 */, uint8(0x12), uint8(0x1e), uint8(0x20), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 96 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x26), uint8(0x26) /* 104 */, uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26) /* 112 */, uint8(0x00), uint8(0x12), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00) /* 120 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 128 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x04), uint8(0x04) /* 136 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10) /* 144 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x06) /* 152 */, uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x04), uint8(0x1a), uint8(0x00), uint8(0x00), uint8(0x00) /* 160 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 168 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00) /* 176 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00)} /* sqlite3.c:21138:36 */ // Name of the default collating sequence -var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 318 /* "BINARY" */)) /* sqlite3.c:21143:27 */ +var Xsqlite3StrBINARY = *(*[7]uint8)(unsafe.Pointer(ts + 318 /* "BINARY" */)) /* sqlite3.c:21143:27 */ //************* End of global.c ********************************************* //************* Begin file status.c ***************************************** @@ -11609,7 +11609,7 @@ type VdbeSorter1 = struct { FiPrev U8 FnTask U8 FtypeMask U8 - _ [3]byte + F__ccgo_pad1 [3]byte FaTask [1]SortSubtask } /* sqlite3.c:21218:9 */ @@ -11644,9 +11644,9 @@ type VdbeCursor1 = struct { FnullRow U8 FdeferredMoveto U8 FisTable U8 - _ [3]byte + F__ccgo_pad1 [3]byte FisEphemeral uint8 /* Bool isEphemeral: 1, Bool useRandomRowid: 1, Bool isOrdered: 1, Bool hasBeenDuped: 1 */ - _ [1]byte + F__ccgo_pad2 [1]byte FseekHit U16 FpBtx uintptr FseqCount I64 @@ -11660,14 +11660,14 @@ type VdbeCursor1 = struct { FpgnoRoot Pgno FnField I16 FnHdrParsed U16 - _ [4]byte + F__ccgo_pad3 [4]byte FmovetoTarget I64 FaOffset uintptr FaRow uintptr FpayloadSize U32 FszRow U32 FaType [1]U32 - _ [4]byte + F__ccgo_pad4 [4]byte } /* sqlite3.c:1331:9 */ // Types of VDBE cursors @@ -11704,25 +11704,25 @@ type VdbeCursor = VdbeCursor1 /* sqlite3.c:21239:27 */ // The currently executing frame is stored in Vdbe.pFrame. Vdbe.pFrame is // set to NULL if the currently executing frame is the main program. type VdbeFrame1 = struct { - Fv uintptr - FpParent uintptr - FaOp uintptr - FanExec uintptr - FaMem uintptr - FapCsr uintptr - FaOnce uintptr - Ftoken uintptr - FlastRowid I64 - FpAuxData uintptr - FnCursor int32 - Fpc int32 - FnOp int32 - FnMem int32 - FnChildMem int32 - FnChildCsr int32 - FnChange int32 - FnDbChange int32 - _ [4]byte + Fv uintptr + FpParent uintptr + FaOp uintptr + FanExec uintptr + FaMem uintptr + FapCsr uintptr + FaOnce uintptr + Ftoken uintptr + FlastRowid I64 + FpAuxData uintptr + FnCursor int32 + Fpc int32 + FnOp int32 + FnMem int32 + FnChildMem int32 + FnChildCsr int32 + FnChange int32 + FnDbChange int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ // A value for VdbeCursor.cacheStatus that means the cache is always invalid. @@ -11770,7 +11770,7 @@ type ScanStatus1 = struct { FaddrVisit int32 FiSelectID int32 FnEst LogEst - _ [2]byte + F__ccgo_pad1 [2]byte FzName uintptr } /* sqlite3.c:21514:9 */ @@ -11788,7 +11788,7 @@ type ScanStatus = ScanStatus1 /* sqlite3.c:21514:27 */ // identifier should really be a string literal. type DblquoteStr1 = struct { FpNextStr uintptr - Fz [8]int8 + Fz [8]uint8 } /* sqlite3.c:21531:9 */ // The DblquoteStr object holds the text of a double-quoted @@ -11814,17 +11814,17 @@ var sqlite3Stat = sqlite3StatType{} /* sqlite3.c:21807:3 */ // Elements of sqlite3Stat[] are protected by either the memory allocator // mutex, or by the pcache1 mutex. The following array determines which. -var statMutex = [10]int8{ - int8(0), // SQLITE_STATUS_MEMORY_USED - int8(1), // SQLITE_STATUS_PAGECACHE_USED - int8(1), // SQLITE_STATUS_PAGECACHE_OVERFLOW - int8(0), // SQLITE_STATUS_SCRATCH_USED - int8(0), // SQLITE_STATUS_SCRATCH_OVERFLOW - int8(0), // SQLITE_STATUS_MALLOC_SIZE - int8(0), // SQLITE_STATUS_PARSER_STACK - int8(1), // SQLITE_STATUS_PAGECACHE_SIZE - int8(0), // SQLITE_STATUS_SCRATCH_SIZE - int8(0), // SQLITE_STATUS_MALLOC_COUNT +var statMutex = [10]uint8{ + uint8(0), // SQLITE_STATUS_MEMORY_USED + uint8(1), // SQLITE_STATUS_PAGECACHE_USED + uint8(1), // SQLITE_STATUS_PAGECACHE_OVERFLOW + uint8(0), // SQLITE_STATUS_SCRATCH_USED + uint8(0), // SQLITE_STATUS_SCRATCH_OVERFLOW + uint8(0), // SQLITE_STATUS_MALLOC_SIZE + uint8(0), // SQLITE_STATUS_PARSER_STACK + uint8(1), // SQLITE_STATUS_PAGECACHE_SIZE + uint8(0), // SQLITE_STATUS_SCRATCH_SIZE + uint8(0), // SQLITE_STATUS_MALLOC_COUNT } /* sqlite3.c:21813:19 */ // The "wsdStat" macro will resolve to the status information @@ -12029,7 +12029,7 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p if pSchema != uintptr(0) { var p uintptr - *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32((uint32((*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 16 /* &.xRoundup */))))(tls, int32(unsafe.Sizeof(HashElem{})))) * ((((*Schema)(unsafe.Pointer(pSchema)).FtblHash.Fcount + + *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32((uint32((*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRoundup})).f(tls, int32(unsafe.Sizeof(HashElem{})))) * ((((*Schema)(unsafe.Pointer(pSchema)).FtblHash.Fcount + (*Schema)(unsafe.Pointer(pSchema)).FtrigHash.Fcount) + (*Schema)(unsafe.Pointer(pSchema)).FidxHash.Fcount) + (*Schema)(unsafe.Pointer(pSchema)).FfkeyHash.Fcount))) @@ -12516,22 +12516,22 @@ type itimerspec = struct { // A structure for holding a single date and time. type DateTime1 = struct { - FiJD Sqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD int8 - FrawS int8 - FvalidYMD int8 - FvalidHMS int8 - FvalidTZ int8 - FtzSet int8 - FisError int8 - _ [1]byte + FiJD Sqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD uint8 + FrawS uint8 + FvalidYMD uint8 + FvalidHMS uint8 + FvalidTZ uint8 + FtzSet uint8 + FisError uint8 + F__ccgo_pad1 [1]byte } /* sqlite3.c:22238:9 */ // The MSVC CRT on Windows CE may not have a localtime() function. @@ -12570,37 +12570,37 @@ func getDigits(tls *libc.TLS, zDate uintptr, zFormat uintptr, va uintptr) int32 var ap Va_list _ = ap var cnt int32 - var nextC int8 - var N int8 - var min int8 + var nextC uint8 + var N uint8 + var min uint8 var val int32 var max U16 cnt = 0 ap = va __1: - N = (int8(int32(*(*int8)(unsafe.Pointer(zFormat))) - '0')) - min = (int8(int32(*(*int8)(unsafe.Pointer(zFormat + 1))) - '0')) + N = (uint8(int32(*(*uint8)(unsafe.Pointer(zFormat))) - '0')) + min = (uint8(int32(*(*uint8)(unsafe.Pointer(zFormat + 1))) - '0')) val = 0 - max = aMx[(int32(*(*int8)(unsafe.Pointer(zFormat + 2))) - 'a')] - nextC = *(*int8)(unsafe.Pointer(zFormat + 3)) + max = aMx[(int32(*(*uint8)(unsafe.Pointer(zFormat + 2))) - 'a')] + nextC = *(*uint8)(unsafe.Pointer(zFormat + 3)) val = 0 __4: - if !(libc.PostDecInt8(&N, 1) != 0) { + if !(libc.PostDecUint8(&N, 1) != 0) { goto __5 } - if !(!((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zDate)))]) & 0x04) != 0)) { + if !(!((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zDate)))]) & 0x04) != 0)) { goto __6 } goto end_getDigits __6: ; - val = (((val * 10) + int32(*(*int8)(unsafe.Pointer(zDate)))) - '0') + val = (((val * 10) + int32(*(*uint8)(unsafe.Pointer(zDate)))) - '0') zDate++ goto __4 __5: ; - if !(((val < int32(min)) || (val > int32(max))) || ((int32(nextC) != 0) && (int32(nextC) != int32(*(*int8)(unsafe.Pointer(zDate)))))) { + if !(((val < int32(min)) || (val > int32(max))) || ((int32(nextC) != 0) && (int32(nextC) != int32(*(*uint8)(unsafe.Pointer(zDate)))))) { goto __7 } goto end_getDigits @@ -12651,7 +12651,7 @@ func parseTimezone(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c var c int32 sgn = 0 __1: - if !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zDate)))]) & 0x01) != 0) { + if !((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zDate)))]) & 0x01) != 0) { goto __2 } zDate++ @@ -12659,7 +12659,7 @@ __1: __2: ; (*DateTime)(unsafe.Pointer(p)).Ftz = 0 - c = int32(*(*int8)(unsafe.Pointer(zDate))) + c = int32(*(*uint8)(unsafe.Pointer(zDate))) if !(c == '-') { goto __3 } @@ -12697,15 +12697,15 @@ __9: (*DateTime)(unsafe.Pointer(p)).Ftz = (sgn * (*(*int32)(unsafe.Pointer(bp + 20 /* nMn */)) + (*(*int32)(unsafe.Pointer(bp + 16 /* nHr */)) * 60))) zulu_time: __10: - if !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zDate)))]) & 0x01) != 0) { + if !((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zDate)))]) & 0x01) != 0) { goto __11 } zDate++ goto __10 __11: ; - (*DateTime)(unsafe.Pointer(p)).FtzSet = int8(1) - return (libc.Bool32(int32(*(*int8)(unsafe.Pointer(zDate))) != 0)) + (*DateTime)(unsafe.Pointer(p)).FtzSet = uint8(1) + return (libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zDate))) != 0)) } // Parse times of the form HH:MM or HH:MM:SS or HH:MM:SS.FFFF. @@ -12728,17 +12728,17 @@ func parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:2 return 1 } zDate += uintptr(5) - if int32(*(*int8)(unsafe.Pointer(zDate))) == ':' { + if int32(*(*uint8)(unsafe.Pointer(zDate))) == ':' { zDate++ if getDigits(tls, zDate, ts+341 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { return 1 } zDate += uintptr(2) - if (int32(*(*int8)(unsafe.Pointer(zDate))) == '.') && ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zDate + 1)))]) & 0x04) != 0) { + if (int32(*(*uint8)(unsafe.Pointer(zDate))) == '.') && ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zDate + 1)))]) & 0x04) != 0) { var rScale float64 = 1.0 zDate++ - for (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zDate)))]) & 0x04) != 0 { - ms = (((ms * 10.0) + float64(*(*int8)(unsafe.Pointer(zDate)))) - float64('0')) + for (int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zDate)))]) & 0x04) != 0 { + ms = (((ms * 10.0) + float64(*(*uint8)(unsafe.Pointer(zDate)))) - float64('0')) rScale = rScale * (10.0) zDate++ } @@ -12747,20 +12747,20 @@ func parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:2 } else { *(*int32)(unsafe.Pointer(bp + 32 /* s */)) = 0 } - (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(0) - (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) - (*DateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) + (*DateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) + (*DateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + (*DateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) (*DateTime)(unsafe.Pointer(p)).Fh = *(*int32)(unsafe.Pointer(bp + 24 /* h */)) (*DateTime)(unsafe.Pointer(p)).Fm = *(*int32)(unsafe.Pointer(bp + 28 /* m */)) (*DateTime)(unsafe.Pointer(p)).Fs = (float64(*(*int32)(unsafe.Pointer(bp + 32 /* s */))) + ms) if parseTimezone(tls, zDate, p) != 0 { return 1 } - (*DateTime)(unsafe.Pointer(p)).FvalidTZ = func() int8 { + (*DateTime)(unsafe.Pointer(p)).FvalidTZ = func() uint8 { if (*DateTime)(unsafe.Pointer(p)).Ftz != 0 { - return int8(1) + return uint8(1) } - return int8(0) + return uint8(0) }() return 0 } @@ -12768,7 +12768,7 @@ func parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:2 // Put the DateTime object into its error state. func datetimeError(tls *libc.TLS, p uintptr) { /* sqlite3.c:22412:13: */ libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(DateTime{}))) - (*DateTime)(unsafe.Pointer(p)).FisError = int8(1) + (*DateTime)(unsafe.Pointer(p)).FisError = uint8(1) } // Convert from YYYY-MM-DD HH:MM:SS to julian day. We always assume @@ -12808,15 +12808,15 @@ func computeJD(tls *libc.TLS, p uintptr) { /* sqlite3.c:22423:13: */ B = ((2 - A) + (A / 4)) X1 = ((36525 * (Y + 4716)) / 100) X2 = ((306001 * (M + 1)) / 10000) - (*DateTime)(unsafe.Pointer(p)).FiJD = (Sqlite3_int64(((float64(((X1 + X2) + D) + B)) - 1524.5) * float64(86400000))) - (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) + (*DateTime)(unsafe.Pointer(p)).FiJD = (libc.Int64FromFloat64(((float64(((X1 + X2) + D) + B)) - 1524.5) * float64(86400000))) + (*DateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) if (*DateTime)(unsafe.Pointer(p)).FvalidHMS != 0 { - *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += ((Sqlite3_int64(((*DateTime)(unsafe.Pointer(p)).Fh * 3600000) + ((*DateTime)(unsafe.Pointer(p)).Fm * 60000))) + (Sqlite3_int64((*DateTime)(unsafe.Pointer(p)).Fs * float64(1000)))) + *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += ((Sqlite3_int64(((*DateTime)(unsafe.Pointer(p)).Fh * 3600000) + ((*DateTime)(unsafe.Pointer(p)).Fm * 60000))) + (libc.Int64FromFloat64((*DateTime)(unsafe.Pointer(p)).Fs * float64(1000)))) if (*DateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) -= (Sqlite3_int64((*DateTime)(unsafe.Pointer(p)).Ftz * 60000)) - (*DateTime)(unsafe.Pointer(p)).FvalidYMD = int8(0) - (*DateTime)(unsafe.Pointer(p)).FvalidHMS = int8(0) - (*DateTime)(unsafe.Pointer(p)).FvalidTZ = int8(0) + (*DateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) + (*DateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) + (*DateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) } } } @@ -12843,7 +12843,7 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c var neg int32 - if int32(*(*int8)(unsafe.Pointer(zDate))) == '-' { + if int32(*(*uint8)(unsafe.Pointer(zDate))) == '-' { zDate++ neg = 1 } else { @@ -12853,18 +12853,18 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c return 1 } zDate += uintptr(10) - for ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zDate)))]) & 0x01) != 0) || ('T' == int32(*(*U8)(unsafe.Pointer(zDate)))) { + for ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zDate)))]) & 0x01) != 0) || ('T' == int32(*(*U8)(unsafe.Pointer(zDate)))) { zDate++ } if parseHhMmSs(tls, zDate, p) == 0 { // We got the time - } else if int32(*(*int8)(unsafe.Pointer(zDate))) == 0 { - (*DateTime)(unsafe.Pointer(p)).FvalidHMS = int8(0) + } else if int32(*(*uint8)(unsafe.Pointer(zDate))) == 0 { + (*DateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) } else { return 1 } - (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(0) - (*DateTime)(unsafe.Pointer(p)).FvalidYMD = int8(1) + (*DateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) + (*DateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(1) (*DateTime)(unsafe.Pointer(p)).FY = func() int32 { if neg != 0 { return -*(*int32)(unsafe.Pointer(bp + 24 /* Y */)) @@ -12885,7 +12885,7 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c func setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) int32 { /* sqlite3.c:22510:12: */ (*DateTime)(unsafe.Pointer(p)).FiJD = Xsqlite3StmtCurrentTime(tls, context) if (*DateTime)(unsafe.Pointer(p)).FiJD > int64(0) { - (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) + (*DateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) return 0 } else { return 1 @@ -12899,10 +12899,10 @@ func setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) int32 { /* // If the value is a valid unix timestamp, put it in p->s and set p->rawS. func setRawDateNumber(tls *libc.TLS, p uintptr, r float64) { /* sqlite3.c:22526:13: */ (*DateTime)(unsafe.Pointer(p)).Fs = r - (*DateTime)(unsafe.Pointer(p)).FrawS = int8(1) + (*DateTime)(unsafe.Pointer(p)).FrawS = uint8(1) if (r >= 0.0) && (r < 5373484.5) { - (*DateTime)(unsafe.Pointer(p)).FiJD = (Sqlite3_int64((r * 86400000.0) + 0.5)) - (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) + (*DateTime)(unsafe.Pointer(p)).FiJD = (libc.Int64FromFloat64((r * 86400000.0) + 0.5)) + (*DateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) } } @@ -12974,13 +12974,13 @@ func computeYMD(tls *libc.TLS, p uintptr) { /* sqlite3.c:22591:13: */ return } else { Z = (int32(((*DateTime)(unsafe.Pointer(p)).FiJD + int64(43200000)) / int64(86400000))) - A = (int32((float64(Z) - 1867216.25) / 36524.25)) + A = (libc.Int32FromFloat64((float64(Z) - 1867216.25) / 36524.25)) A = (((Z + 1) + A) - (A / 4)) B = (A + 1524) - C = (int32((float64(B) - 122.1) / 365.25)) + C = (libc.Int32FromFloat64((float64(B) - 122.1) / 365.25)) D = ((36525 * (C & 32767)) / 100) - E = (int32((float64(B - D)) / 30.6001)) - X1 = (int32(30.6001 * float64(E))) + E = (libc.Int32FromFloat64((float64(B - D)) / 30.6001)) + X1 = (libc.Int32FromFloat64(30.6001 * float64(E))) (*DateTime)(unsafe.Pointer(p)).FD = ((B - D) - X1) (*DateTime)(unsafe.Pointer(p)).FM = func() int32 { if E < 14 { @@ -12995,7 +12995,7 @@ func computeYMD(tls *libc.TLS, p uintptr) { /* sqlite3.c:22591:13: */ return (C - 4715) }() } - (*DateTime)(unsafe.Pointer(p)).FvalidYMD = int8(1) + (*DateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(1) } // Compute the Hour, Minute, and Seconds from the julian day number. @@ -13007,14 +13007,14 @@ func computeHMS(tls *libc.TLS, p uintptr) { /* sqlite3.c:22620:13: */ computeJD(tls, p) s = (int32(((*DateTime)(unsafe.Pointer(p)).FiJD + int64(43200000)) % int64(86400000))) (*DateTime)(unsafe.Pointer(p)).Fs = (float64(s) / 1000.0) - s = int32((*DateTime)(unsafe.Pointer(p)).Fs) + s = libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(p)).Fs) *(*float64)(unsafe.Pointer(p + 32 /* &.s */)) -= (float64(s)) (*DateTime)(unsafe.Pointer(p)).Fh = (s / 3600) s = s - ((*DateTime)(unsafe.Pointer(p)).Fh * 3600) (*DateTime)(unsafe.Pointer(p)).Fm = (s / 60) *(*float64)(unsafe.Pointer(p + 32 /* &.s */)) += (float64(s - ((*DateTime)(unsafe.Pointer(p)).Fm * 60))) - (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) - (*DateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) + (*DateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + (*DateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) } // Compute both YMD and HMS @@ -13025,9 +13025,9 @@ func computeYMD_HMS(tls *libc.TLS, p uintptr) { /* sqlite3.c:22639:13: */ // Clear the YMD and HMS and the TZ func clearYMD_HMS_TZ(tls *libc.TLS, p uintptr) { /* sqlite3.c:22647:13: */ - (*DateTime)(unsafe.Pointer(p)).FvalidYMD = int8(0) - (*DateTime)(unsafe.Pointer(p)).FvalidHMS = int8(0) - (*DateTime)(unsafe.Pointer(p)).FvalidTZ = int8(0) + (*DateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) + (*DateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) + (*DateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) } // On recent Windows platforms, the localtime_s() function is available @@ -13104,11 +13104,11 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite (*DateTime)(unsafe.Pointer(bp + 48 /* &x */)).Fm = 0 (*DateTime)(unsafe.Pointer(bp + 48 /* &x */)).Fs = 0.0 } else { - var s int32 = (int32((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs + 0.5)) + var s int32 = (libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs + 0.5)) (*DateTime)(unsafe.Pointer(bp + 48 /* &x */)).Fs = float64(s) } (*DateTime)(unsafe.Pointer(bp + 48 /* &x */)).Ftz = 0 - (*DateTime)(unsafe.Pointer(bp + 48 /* &x */)).FvalidJD = int8(0) + (*DateTime)(unsafe.Pointer(bp + 48 /* &x */)).FvalidJD = uint8(0) computeJD(tls, bp+48 /* &x */) *(*Time_t)(unsafe.Pointer(bp + 96 /* t */)) = (Time_t(((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FiJD / int64(1000)) - (int64(21086676) * int64(10000)))) if osLocaltime(tls, bp+96 /* &t */, bp /* &sLocal */) != 0 { @@ -13122,12 +13122,12 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite (*DateTime)(unsafe.Pointer(bp + 104 /* &y */)).Fh = (*tm)(unsafe.Pointer(bp /* &sLocal */)).Ftm_hour (*DateTime)(unsafe.Pointer(bp + 104 /* &y */)).Fm = (*tm)(unsafe.Pointer(bp /* &sLocal */)).Ftm_min (*DateTime)(unsafe.Pointer(bp + 104 /* &y */)).Fs = float64((*tm)(unsafe.Pointer(bp /* &sLocal */)).Ftm_sec) - (*DateTime)(unsafe.Pointer(bp + 104 /* &y */)).FvalidYMD = int8(1) - (*DateTime)(unsafe.Pointer(bp + 104 /* &y */)).FvalidHMS = int8(1) - (*DateTime)(unsafe.Pointer(bp + 104 /* &y */)).FvalidJD = int8(0) - (*DateTime)(unsafe.Pointer(bp + 104 /* &y */)).FrawS = int8(0) - (*DateTime)(unsafe.Pointer(bp + 104 /* &y */)).FvalidTZ = int8(0) - (*DateTime)(unsafe.Pointer(bp + 104 /* &y */)).FisError = int8(0) + (*DateTime)(unsafe.Pointer(bp + 104 /* &y */)).FvalidYMD = uint8(1) + (*DateTime)(unsafe.Pointer(bp + 104 /* &y */)).FvalidHMS = uint8(1) + (*DateTime)(unsafe.Pointer(bp + 104 /* &y */)).FvalidJD = uint8(0) + (*DateTime)(unsafe.Pointer(bp + 104 /* &y */)).FrawS = uint8(0) + (*DateTime)(unsafe.Pointer(bp + 104 /* &y */)).FvalidTZ = uint8(0) + (*DateTime)(unsafe.Pointer(bp + 104 /* &y */)).FisError = uint8(0) computeJD(tls, bp+104 /* &y */) *(*int32)(unsafe.Pointer(pRc)) = SQLITE_OK return ((*DateTime)(unsafe.Pointer(bp+104 /* &y */)).FiJD - (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FiJD) @@ -13140,12 +13140,12 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite // Where NNN is an arbitrary floating-point number and "days" can be one // of several units of time. var aXformType = [6]struct { - FeType U8 - FnName U8 - _ [2]byte - FzName uintptr - FrLimit float64 - FrXform float64 + FeType U8 + FnName U8 + F__ccgo_pad1 [2]byte + FzName uintptr + FrLimit float64 + FrXform float64 }{ {FnName: U8(6), FzName: ts + 384 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, {FnName: U8(6), FzName: ts + 391 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, @@ -13184,7 +13184,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i *(*int32)(unsafe.Pointer(bp /* rc */)) = 1 // var r float64 at bp+8, 8 - switch int32(Xsqlite3UpperToLower[U8(*(*int8)(unsafe.Pointer(z)))]) { + switch int32(Xsqlite3UpperToLower[U8(*(*uint8)(unsafe.Pointer(z)))]) { case 'l': { // localtime @@ -13209,9 +13209,9 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = (((*DateTime)(unsafe.Pointer(p)).Fs * 1000.0) + 210866760000000.0) if (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) >= 0.0) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < 464269060800000.0) { clearYMD_HMS_TZ(tls, p) - (*DateTime)(unsafe.Pointer(p)).FiJD = (Sqlite3_int64(*(*float64)(unsafe.Pointer(bp + 8 /* r */)) + 0.5)) - (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) + (*DateTime)(unsafe.Pointer(p)).FiJD = (libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 8 /* r */)) + 0.5)) + (*DateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) + (*DateTime)(unsafe.Pointer(p)).FrawS = uint8(0) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } } else if (Xsqlite3_stricmp(tls, z, ts+438 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { @@ -13224,7 +13224,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i clearYMD_HMS_TZ(tls, p) *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (c1 - localtimeOffset(tls, p, pCtx, bp /* &rc */)) } - (*DateTime)(unsafe.Pointer(p)).FtzSet = int8(1) + (*DateTime)(unsafe.Pointer(p)).FtzSet = uint8(1) } else { *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK } @@ -13244,8 +13244,8 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i ((float64(libc.AssignInt32(&n, int32(*(*float64)(unsafe.Pointer(bp + 8 /* r */)))))) == *(*float64)(unsafe.Pointer(bp + 8 /* r */)))) && (n >= 0)) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < float64(7)) { var Z Sqlite3_int64 computeYMD_HMS(tls, p) - (*DateTime)(unsafe.Pointer(p)).FvalidTZ = int8(0) - (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(0) + (*DateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + (*DateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) computeJD(tls, p) Z = ((((*DateTime)(unsafe.Pointer(p)).FiJD + int64(129600000)) / int64(86400000)) % int64(7)) if Z > Sqlite3_int64(n) { @@ -13272,12 +13272,12 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i } z += uintptr(9) computeYMD(tls, p) - (*DateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) + (*DateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) (*DateTime)(unsafe.Pointer(p)).Fh = libc.AssignPtrInt32(p+24 /* &.m */, 0) (*DateTime)(unsafe.Pointer(p)).Fs = 0.0 - (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) - (*DateTime)(unsafe.Pointer(p)).FvalidTZ = int8(0) - (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(0) + (*DateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + (*DateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + (*DateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) if Xsqlite3_stricmp(tls, z, ts+407 /* "month" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 @@ -13317,13 +13317,13 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i { var rRounder float64 var i int32 - for n = 1; ((*(*int8)(unsafe.Pointer(z + uintptr(n))) != 0) && (int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) != ':')) && !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(n))))]) & 0x01) != 0); n++ { + for n = 1; ((*(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0) && (int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) != ':')) && !((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z + uintptr(n))))]) & 0x01) != 0); n++ { } if Xsqlite3AtoF(tls, z, bp+8 /* &r */, n, uint8(SQLITE_UTF8)) <= 0 { *(*int32)(unsafe.Pointer(bp /* rc */)) = 1 break } - if int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == ':' { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) == ':' { // A modifier of the form (+|-)HH:MM:SS.FFF adds (or subtracts) the // specified number of hours, minutes, seconds, and fractional seconds // to the time. The ".FFF" may be omitted. The ":SS.FFF" may be @@ -13332,7 +13332,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // var tx DateTime at bp+16, 48 var day Sqlite3_int64 - if !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z2)))]) & 0x04) != 0) { + if !((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z2)))]) & 0x04) != 0) { z2++ } libc.Xmemset(tls, bp+16 /* &tx */, 0, uint32(unsafe.Sizeof(DateTime{}))) @@ -13343,7 +13343,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* &tx */ /* &.iJD */)) -= (int64(43200000)) day = ((*DateTime)(unsafe.Pointer(bp+16 /* &tx */)).FiJD / int64(86400000)) *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* &tx */ /* &.iJD */)) -= (day * int64(86400000)) - if int32(*(*int8)(unsafe.Pointer(z))) == '-' { + if int32(*(*uint8)(unsafe.Pointer(z))) == '-' { (*DateTime)(unsafe.Pointer(bp + 16 /* &tx */)).FiJD = -(*DateTime)(unsafe.Pointer(bp + 16 /* &tx */)).FiJD } computeJD(tls, p) @@ -13356,14 +13356,14 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // If control reaches this point, it means the transformation is // one of the forms like "+NNN days". z += uintptr(n) - for (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z)))]) & 0x01) != 0 { + for (int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z)))]) & 0x01) != 0 { z++ } n = Xsqlite3Strlen30(tls, z) if (n > 10) || (n < 3) { break } - if int32(Xsqlite3UpperToLower[U8(*(*int8)(unsafe.Pointer(z + uintptr((n - 1)))))]) == 's' { + if int32(Xsqlite3UpperToLower[U8(*(*uint8)(unsafe.Pointer(z + uintptr((n - 1)))))]) == 's' { n-- } computeJD(tls, p) @@ -13374,12 +13374,12 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i rRounder = +0.5 } for i = 0; i < (int32(uint32(unsafe.Sizeof(aXformType)) / uint32(unsafe.Sizeof(struct { - FeType U8 - FnName U8 - _ [2]byte - FzName uintptr - FrLimit float64 - FrXform float64 + FeType U8 + FnName U8 + F__ccgo_pad1 [2]byte + FzName uintptr + FrLimit float64 + FrXform float64 }{})))); i++ { if (((int32(aXformType[i].FnName) == n) && (Xsqlite3_strnicmp(tls, aXformType[i].FzName, z, n) == 0)) && @@ -13397,7 +13397,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i } *(*int32)(unsafe.Pointer(p + 8 /* &.Y */)) += (x) *(*int32)(unsafe.Pointer(p + 12 /* &.M */)) -= (x * 12) - (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(0) + (*DateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) *(*float64)(unsafe.Pointer(bp + 8 /* r */)) -= float64(int32(*(*float64)(unsafe.Pointer(bp + 8 /* r */)))) break @@ -13408,14 +13408,14 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i var y int32 = int32(*(*float64)(unsafe.Pointer(bp + 8 /* r */))) computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 8 /* &.Y */)) += (y) - (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(0) + (*DateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) *(*float64)(unsafe.Pointer(bp + 8 /* r */)) -= float64(int32(*(*float64)(unsafe.Pointer(bp + 8 /* r */)))) break } } computeJD(tls, p) - *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (Sqlite3_int64((*(*float64)(unsafe.Pointer(bp + 8 /* r */)) * aXformType[i].FrXform) + rRounder)) + *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (libc.Int64FromFloat64((*(*float64)(unsafe.Pointer(bp + 8 /* r */)) * aXformType[i].FrXform) + rRounder)) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 break } @@ -13503,11 +13503,11 @@ func datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // var x DateTime at bp+48, 48 if isDate(tls, context, argc, argv, bp+48 /* &x */) == 0 { - // var zBuf [100]int8 at bp+96, 100 + // var zBuf [100]uint8 at bp+96, 100 computeYMD_HMS(tls, bp+48 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+461, /* "%04d-%02d-%02d %..." */ - libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]uint8{})), bp+96 /* &zBuf[0] */, ts+461, /* "%04d-%02d-%02d %..." */ + libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fm, libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+96 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -13522,10 +13522,10 @@ func timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var x DateTime at bp+24, 48 if isDate(tls, context, argc, argv, bp+24 /* &x */) == 0 { - // var zBuf [100]int8 at bp+72, 100 + // var zBuf [100]uint8 at bp+72, 100 computeHMS(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+491 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]uint8{})), bp+72 /* &zBuf[0] */, ts+491 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -13540,10 +13540,10 @@ func dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var x DateTime at bp+24, 48 if isDate(tls, context, argc, argv, bp+24 /* &x */) == 0 { - // var zBuf [100]int8 at bp+72, 100 + // var zBuf [100]uint8 at bp+72, 100 computeYMD(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+506 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]uint8{})), bp+72 /* &zBuf[0] */, ts+506 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -13577,7 +13577,7 @@ func strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* var z uintptr var db uintptr var zFmt uintptr - // var zBuf [100]int8 at bp+128, 100 + // var zBuf [100]uint8 at bp+128, 100 if argc == 0 { return @@ -13590,12 +13590,12 @@ func strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* i = Size_t(0) n = uint64(1) __1: - if !(*(*int8)(unsafe.Pointer(zFmt + uintptr(i))) != 0) { + if !(*(*uint8)(unsafe.Pointer(zFmt + uintptr(i))) != 0) { goto __3 } { - if int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) == '%' { - switch int32(*(*int8)(unsafe.Pointer(zFmt + uintptr((i + Size_t(1)))))) { + if int32(*(*uint8)(unsafe.Pointer(zFmt + uintptr(i)))) == '%' { + switch int32(*(*uint8)(unsafe.Pointer(zFmt + uintptr((i + Size_t(1)))))) { case 'd': fallthrough case 'H': @@ -13649,7 +13649,7 @@ __2: __3: ; - if n < U64(unsafe.Sizeof([100]int8{})) { + if n < U64(unsafe.Sizeof([100]uint8{})) { z = bp + 128 /* &zBuf[0] */ } else if n > U64(*(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */)))) { Xsqlite3_result_error_toobig(tls, context) @@ -13663,12 +13663,12 @@ __3: } computeJD(tls, bp+80 /* &x */) computeYMD_HMS(tls, bp+80 /* &x */) - for i = libc.AssignUint32(&j, Size_t(0)); *(*int8)(unsafe.Pointer(zFmt + uintptr(i))) != 0; i++ { - if int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) != '%' { - *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncUint32(&j, 1)))) = *(*int8)(unsafe.Pointer(zFmt + uintptr(i))) + for i = libc.AssignUint32(&j, Size_t(0)); *(*uint8)(unsafe.Pointer(zFmt + uintptr(i))) != 0; i++ { + if int32(*(*uint8)(unsafe.Pointer(zFmt + uintptr(i)))) != '%' { + *(*uint8)(unsafe.Pointer(z + uintptr(libc.PostIncUint32(&j, 1)))) = *(*uint8)(unsafe.Pointer(zFmt + uintptr(i))) } else { i++ - switch int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) { + switch int32(*(*uint8)(unsafe.Pointer(zFmt + uintptr(i)))) { case 'd': Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) j = j + (Size_t(2)) @@ -13697,12 +13697,12 @@ __3: { var nDay int32 // Number of days since 1st day of year *(*DateTime)(unsafe.Pointer(bp + 232 /* y */)) = *(*DateTime)(unsafe.Pointer(bp + 80 /* x */)) - (*DateTime)(unsafe.Pointer(bp + 232 /* &y */)).FvalidJD = int8(0) + (*DateTime)(unsafe.Pointer(bp + 232 /* &y */)).FvalidJD = uint8(0) (*DateTime)(unsafe.Pointer(bp + 232 /* &y */)).FM = 1 (*DateTime)(unsafe.Pointer(bp + 232 /* &y */)).FD = 1 computeJD(tls, bp+232 /* &y */) nDay = (int32((((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD - (*DateTime)(unsafe.Pointer(bp+232 /* &y */)).FiJD) + int64(43200000)) / int64(86400000))) - if int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) == 'W' { + if int32(*(*uint8)(unsafe.Pointer(zFmt + uintptr(i)))) == 'W' { var wd int32 // 0=Monday, 1=Tuesday, ... 6=Sunday wd = (int32((((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD + int64(43200000)) / int64(86400000)) % int64(7))) Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) @@ -13743,13 +13743,13 @@ __3: } fallthrough case 'S': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+64, libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) j = j + (Size_t(2)) break fallthrough case 'w': { - *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncUint32(&j, 1)))) = (int8(int32((int8((((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD + int64(129600000)) / int64(86400000)) % int64(7)))) + '0')) + *(*uint8)(unsafe.Pointer(z + uintptr(libc.PostIncUint32(&j, 1)))) = (uint8(int32((uint8((((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD + int64(129600000)) / int64(86400000)) % int64(7)))) + '0')) break } @@ -13763,12 +13763,12 @@ __3: } fallthrough default: - *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncUint32(&j, 1)))) = int8('%') + *(*uint8)(unsafe.Pointer(z + uintptr(libc.PostIncUint32(&j, 1)))) = uint8('%') break } } } - *(*int8)(unsafe.Pointer(z + uintptr(j))) = int8(0) + *(*uint8)(unsafe.Pointer(z + uintptr(j))) = uint8(0) Xsqlite3_result_text(tls, context, z, -1, func() uintptr { if z == bp+128 /* zBuf */ { @@ -13874,50 +13874,68 @@ var aDateTimeFuncs = [8]FuncDef{ // C++ instead of plain old C. func Xsqlite3OsClose(tls *libc.TLS, pId uintptr) { /* sqlite3.c:23507:21: */ if (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods + 4 /* &.xClose */))))(tls, pId) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods)).FxClose})).f(tls, pId) (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = uintptr(0) } } func Xsqlite3OsRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset I64) int32 { /* sqlite3.c:23513:20: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 8 /* &.xRead */))))(tls, id, pBuf, amt, offset) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxRead})).f(tls, id, pBuf, amt, offset) } func Xsqlite3OsWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset I64) int32 { /* sqlite3.c:23517:20: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 12 /* &.xWrite */))))(tls, id, pBuf, amt, offset) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxWrite})).f(tls, id, pBuf, amt, offset) } func Xsqlite3OsTruncate(tls *libc.TLS, id uintptr, size I64) int32 { /* sqlite3.c:23521:20: */ - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 16 /* &.xTruncate */))))(tls, id, size) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxTruncate})).f(tls, id, size) } func Xsqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:23524:20: */ if flags != 0 { - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 20 /* &.xSync */))))(tls, id, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSync})).f(tls, id, flags) } return SQLITE_OK } func Xsqlite3OsFileSize(tls *libc.TLS, id uintptr, pSize uintptr) int32 { /* sqlite3.c:23528:20: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 24 /* &.xFileSize */))))(tls, id, pSize) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileSize})).f(tls, id, pSize) } func Xsqlite3OsLock(tls *libc.TLS, id uintptr, lockType int32) int32 { /* sqlite3.c:23532:20: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 28 /* &.xLock */))))(tls, id, lockType) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxLock})).f(tls, id, lockType) } func Xsqlite3OsUnlock(tls *libc.TLS, id uintptr, lockType int32) int32 { /* sqlite3.c:23536:20: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 32 /* &.xUnlock */))))(tls, id, lockType) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnlock})).f(tls, id, lockType) } func Xsqlite3OsCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* sqlite3.c:23539:20: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 36 /* &.xCheckReservedLock */))))(tls, id, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxCheckReservedLock})).f(tls, id, pResOut) } // Use sqlite3OsFileControl() when we are doing something that might fail @@ -13930,12 +13948,16 @@ func Xsqlite3OsFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) in if (*Sqlite3_file)(unsafe.Pointer(id)).FpMethods == uintptr(0) { return SQLITE_NOTFOUND } - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 40 /* &.xFileControl */))))(tls, id, op, pArg) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})).f(tls, id, op, pArg) } func Xsqlite3OsFileControlHint(tls *libc.TLS, id uintptr, op int32, pArg uintptr) { /* sqlite3.c:23580:21: */ if (*Sqlite3_file)(unsafe.Pointer(id)).FpMethods != 0 { - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 40 /* &.xFileControl */))))(tls, id, op, pArg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})).f(tls, id, op, pArg) } } @@ -13943,41 +13965,55 @@ func Xsqlite3OsSectorSize(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:23584: var xSectorSize uintptr = (*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSectorSize return func() int32 { if xSectorSize != 0 { - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&xSectorSize)))(tls, id) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xSectorSize})).f(tls, id) } return SQLITE_DEFAULT_SECTOR_SIZE }() } func Xsqlite3OsDeviceCharacteristics(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:23588:20: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 48 /* &.xDeviceCharacteristics */))))(tls, id) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxDeviceCharacteristics})).f(tls, id) } func Xsqlite3OsShmLock(tls *libc.TLS, id uintptr, offset int32, n int32, flags int32) int32 { /* sqlite3.c:23592:20: */ - return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 56 /* &.xShmLock */))))(tls, id, offset, n, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmLock})).f(tls, id, offset, n, flags) } func Xsqlite3OsShmBarrier(tls *libc.TLS, id uintptr) { /* sqlite3.c:23595:21: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 60 /* &.xShmBarrier */))))(tls, id) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmBarrier})).f(tls, id) } func Xsqlite3OsShmUnmap(tls *libc.TLS, id uintptr, deleteFlag int32) int32 { /* sqlite3.c:23598:20: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 64 /* &.xShmUnmap */))))(tls, id, deleteFlag) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmUnmap})).f(tls, id, deleteFlag) } func Xsqlite3OsShmMap(tls *libc.TLS, id uintptr, iPage int32, pgsz int32, bExtend int32, pp uintptr) int32 { /* sqlite3.c:23601:20: */ - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 52 /* &.xShmMap */))))(tls, id, iPage, pgsz, bExtend, libc.AtomicLoadUintptr(&pp)) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmMap})).f(tls, id, iPage, pgsz, bExtend, pp) } // The real implementation of xFetch and xUnfetch func Xsqlite3OsFetch(tls *libc.TLS, id uintptr, iOff I64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:23615:20: */ - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 68 /* &.xFetch */))))(tls, id, iOff, iAmt, pp) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFetch})).f(tls, id, iOff, iAmt, pp) } func Xsqlite3OsUnfetch(tls *libc.TLS, id uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:23619:20: */ - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 72 /* &.xUnfetch */))))(tls, id, iOff, p) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnfetch})).f(tls, id, iOff, p) } // The next group of routines are convenience wrappers around the @@ -13989,7 +14025,9 @@ func Xsqlite3OsOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, f // down into the VFS layer. Some SQLITE_OPEN_ flags (for example, // SQLITE_OPEN_FULLMUTEX or SQLITE_OPEN_SHAREDCACHE) are blocked before // reaching the VFS. - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 24 /* &.xOpen */))))(tls, pVfs, zPath, pFile, (flags & 0x1087f7f), pFlagsOut) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen})).f(tls, pVfs, zPath, pFile, (flags & 0x1087f7f), pFlagsOut) return rc } @@ -13997,38 +14035,52 @@ func Xsqlite3OsOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, f func Xsqlite3OsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:23654:20: */ if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDelete != uintptr(0) { - return (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pVfs + 28 /* &.xDelete */))))(tls, pVfs, zPath, dirSync) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDelete})).f(tls, pVfs, zPath, dirSync) } return SQLITE_OK } func Xsqlite3OsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:23659:20: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 32 /* &.xAccess */))))(tls, pVfs, zPath, flags, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxAccess})).f(tls, pVfs, zPath, flags, pResOut) } func Xsqlite3OsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nPathOut int32, zPathOut uintptr) int32 { /* sqlite3.c:23668:20: */ - *(*int8)(unsafe.Pointer(zPathOut)) = int8(0) - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 36 /* &.xFullPathname */))))(tls, pVfs, zPath, nPathOut, zPathOut) + *(*uint8)(unsafe.Pointer(zPathOut)) = uint8(0) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxFullPathname})).f(tls, pVfs, zPath, nPathOut, zPathOut) } func Xsqlite3OsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:23679:21: */ // tag-20210611-1 - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 40 /* &.xDlOpen */))))(tls, pVfs, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlOpen})).f(tls, pVfs, zPath) } func Xsqlite3OsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) { /* sqlite3.c:23684:21: */ - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pVfs + 44 /* &.xDlError */))))(tls, pVfs, nByte, zBufOut) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlError})).f(tls, pVfs, nByte, zBufOut) } func Xsqlite3OsDlSym(tls *libc.TLS, pVfs uintptr, pHdle uintptr, zSym uintptr) uintptr { /* sqlite3.c:23687:21: */ - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 48 /* &.xDlSym */))))(tls, pVfs, pHdle, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlSym})).f(tls, pVfs, pHdle, zSym) } func Xsqlite3OsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:23690:21: */ - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pVfs + 52 /* &.xDlClose */))))(tls, pVfs, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlClose})).f(tls, pVfs, pHandle) } func Xsqlite3OsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:23694:20: */ @@ -14040,19 +14092,25 @@ func Xsqlite3OsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uint libc.Xmemcpy(tls, zBufOut, (uintptr(unsafe.Pointer(&Xsqlite3Config)) + 272 /* &.iPrngSeed */), uint32(nByte)) return SQLITE_OK } else { - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 56 /* &.xRandomness */))))(tls, pVfs, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxRandomness})).f(tls, pVfs, nByte, zBufOut) } return int32(0) } func Xsqlite3OsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:23705:20: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pVfs + 60 /* &.xSleep */))))(tls, pVfs, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSleep})).f(tls, pVfs, nMicro) } func Xsqlite3OsGetLastError(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:23708:20: */ if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxGetLastError != 0 { - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 68 /* &.xGetLastError */))))(tls, pVfs, 0, uintptr(0)) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxGetLastError})).f(tls, pVfs, 0, uintptr(0)) } return 0 } @@ -14068,12 +14126,16 @@ func Xsqlite3OsCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) i // will fall back to xCurrentTime() if xCurrentTimeInt64() is // unavailable. if ((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FiVersion >= 2) && ((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTimeInt64 != 0) { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pVfs + 72 /* &.xCurrentTimeInt64 */))))(tls, pVfs, pTimeOut) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTimeInt64})).f(tls, pVfs, pTimeOut) } else { // var r float64 at bp, 8 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pVfs + 64 /* &.xCurrentTime */))))(tls, pVfs, bp /* &r */) - *(*Sqlite3_int64)(unsafe.Pointer(pTimeOut)) = (Sqlite3_int64(*(*float64)(unsafe.Pointer(bp /* r */)) * 86400000.0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTime})).f(tls, pVfs, bp /* &r */) + *(*Sqlite3_int64)(unsafe.Pointer(pTimeOut)) = (libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp /* r */)) * 86400000.0)) } return rc } @@ -14283,14 +14345,14 @@ func Xsqlite3BenignMallocHooks(tls *libc.TLS, xBenignBegin uintptr, xBenignEnd u func Xsqlite3BeginBenignMalloc(tls *libc.TLS) { /* sqlite3.c:23942:21: */ if sqlite3Hooks.FxBenignBegin != 0 { - (*(*func(*libc.TLS))(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Hooks)) /* &.xBenignBegin */))))(tls) + (*struct{ f func(*libc.TLS) })(unsafe.Pointer(&struct{ uintptr }{sqlite3Hooks.FxBenignBegin})).f(tls) } } func Xsqlite3EndBenignMalloc(tls *libc.TLS) { /* sqlite3.c:23948:21: */ if sqlite3Hooks.FxBenignEnd != 0 { - (*(*func(*libc.TLS))(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Hooks)) + 4 /* &.xBenignEnd */))))(tls) + (*struct{ f func(*libc.TLS) })(unsafe.Pointer(&struct{ uintptr }{sqlite3Hooks.FxBenignEnd})).f(tls) } } @@ -14651,7 +14713,7 @@ func Xsqlite3MutexInit(tls *libc.TLS) int32 { /* sqlite3.c:26333:20: */ (*Sqlite3_mutex_methods)(unsafe.Pointer(pTo)).FxMutexAlloc = (*Sqlite3_mutex_methods)(unsafe.Pointer(pFrom)).FxMutexAlloc } - rc = (*(*func(*libc.TLS) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 64 /* &.mutex */ /* &.xMutexInit */))))(tls) + rc = (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexInit})).f(tls) return rc } @@ -14661,7 +14723,7 @@ func Xsqlite3MutexInit(tls *libc.TLS) int32 { /* sqlite3.c:26333:20: */ func Xsqlite3MutexEnd(tls *libc.TLS) int32 { /* sqlite3.c:26379:20: */ var rc int32 = SQLITE_OK if Xsqlite3Config.Fmutex.FxMutexEnd != 0 { - rc = (*(*func(*libc.TLS) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 64 /* &.mutex */ + 4 /* &.xMutexEnd */))))(tls) + rc = (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexEnd})).f(tls) } return rc @@ -14676,7 +14738,9 @@ func Xsqlite3_mutex_alloc(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:26395: return uintptr(0) } - return (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 64 /* &.mutex */ + 8 /* &.xMutexAlloc */))))(tls, id) + return (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexAlloc})).f(tls, id) } func Xsqlite3MutexAlloc(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:26404:30: */ @@ -14684,14 +14748,16 @@ func Xsqlite3MutexAlloc(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:26404:30 return uintptr(0) } - return (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 64 /* &.mutex */ + 8 /* &.xMutexAlloc */))))(tls, id) + return (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexAlloc})).f(tls, id) } // Free a dynamic mutex. func Xsqlite3_mutex_free(tls *libc.TLS, p uintptr) { /* sqlite3.c:26416:17: */ if p != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 64 /* &.mutex */ + 12 /* &.xMutexFree */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexFree})).f(tls, p) } } @@ -14700,7 +14766,7 @@ func Xsqlite3_mutex_free(tls *libc.TLS, p uintptr) { /* sqlite3.c:26416:17: */ func Xsqlite3_mutex_enter(tls *libc.TLS, p uintptr) { /* sqlite3.c:26427:17: */ if p != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 64 /* &.mutex */ + 16 /* &.xMutexEnter */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexEnter})).f(tls, p) } } @@ -14710,7 +14776,9 @@ func Xsqlite3_mutex_try(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:26438:16: var rc int32 = SQLITE_OK if p != 0 { - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 64 /* &.mutex */ + 20 /* &.xMutexTry */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexTry})).f(tls, p) } return rc } @@ -14722,7 +14790,7 @@ func Xsqlite3_mutex_try(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:26438:16: func Xsqlite3_mutex_leave(tls *libc.TLS, p uintptr) { /* sqlite3.c:26453:17: */ if p != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 64 /* &.mutex */ + 24 /* &.xMutexLeave */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexLeave})).f(tls, p) } } @@ -14880,11 +14948,11 @@ func Xsqlite3_release_memory(tls *libc.TLS, n int32) int32 { /* sqlite3.c:27808: // State information local to the memory allocation subsystem. type Mem0Global = struct { Fmutex uintptr - _ [4]byte + F__ccgo_pad1 [4]byte FalarmThreshold Sqlite3_int64 FhardLimit Sqlite3_int64 FnearlyFull int32 - _ [4]byte + F__ccgo_pad2 [4]byte } /* sqlite3.c:27830:19 */ // Default value of the hard heap limit. 0 means "no limit". @@ -14991,7 +15059,9 @@ func Xsqlite3MallocInit(tls *libc.TLS) int32 { /* sqlite3.c:27944:20: */ Xsqlite3Config.FpPage = uintptr(0) Xsqlite3Config.FszPage = 0 } - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 20 /* &.xInit */))))(tls, Xsqlite3Config.Fm.FpAppData) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxInit})).f(tls, Xsqlite3Config.Fm.FpAppData) if rc != SQLITE_OK { libc.Xmemset(tls, uintptr(unsafe.Pointer(&mem0)), 0, uint32(unsafe.Sizeof(mem0))) } @@ -15008,7 +15078,7 @@ func Xsqlite3HeapNearlyFull(tls *libc.TLS) int32 { /* sqlite3.c:27965:20: */ // Deinitialize the memory allocation subsystem. func Xsqlite3MallocEnd(tls *libc.TLS) { /* sqlite3.c:27972:21: */ if Xsqlite3Config.Fm.FxShutdown != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 24 /* &.xShutdown */))))(tls, Xsqlite3Config.Fm.FpAppData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxShutdown})).f(tls, Xsqlite3Config.Fm.FpAppData) } libc.Xmemset(tls, uintptr(unsafe.Pointer(&mem0)), 0, uint32(unsafe.Sizeof(mem0))) } @@ -15062,7 +15132,7 @@ func mallocWithAlarm(tls *libc.TLS, n int32, pp uintptr) { /* sqlite3.c:28013:13 // mode and specifically when the DMD "Dark Matter Detector" is enabled // or else a crash results. Hence, do not attempt to optimize out the // following xRoundup() call. - nFull = (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 16 /* &.xRoundup */))))(tls, n) + nFull = (*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRoundup})).f(tls, n) Xsqlite3StatusHighwater(tls, SQLITE_STATUS_MALLOC_SIZE, n) if mem0.FalarmThreshold > int64(0) { @@ -15081,10 +15151,14 @@ func mallocWithAlarm(tls *libc.TLS, n int32, pp uintptr) { /* sqlite3.c:28013:13 libc.AtomicStoreNInt32((uintptr(unsafe.Pointer(&mem0)) + 24 /* &.nearlyFull */), int32(0), 0) } } - p = (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ /* &.xMalloc */))))(tls, nFull) + p = (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxMalloc})).f(tls, nFull) if (p == uintptr(0)) && (mem0.FalarmThreshold > int64(0)) { sqlite3MallocAlarm(tls, nFull) - p = (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ /* &.xMalloc */))))(tls, nFull) + p = (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxMalloc})).f(tls, nFull) } if p != 0 { nFull = Xsqlite3MallocSize(tls, p) @@ -15114,7 +15188,9 @@ func Xsqlite3Malloc(tls *libc.TLS, n U64) uintptr { /* sqlite3.c:28062:21: */ mallocWithAlarm(tls, int32(n), bp /* &p */) Xsqlite3_mutex_leave(tls, mem0.Fmutex) } else { - *(*uintptr)(unsafe.Pointer(bp /* p */)) = (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ /* &.xMalloc */))))(tls, int32(n)) + *(*uintptr)(unsafe.Pointer(bp /* p */)) = (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxMalloc})).f(tls, int32(n)) } // IMP: R-11148-40995 return *(*uintptr)(unsafe.Pointer(bp /* p */)) @@ -15149,7 +15225,9 @@ func isLookaside(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:2810 // sqlite3Malloc() or sqlite3_malloc(). func Xsqlite3MallocSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:28115:20: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 12 /* &.xSize */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxSize})).f(tls, p) } func lookasideMallocSize(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:28119:12: */ @@ -15173,13 +15251,17 @@ func Xsqlite3DbMallocSize(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlit } } } - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 12 /* &.xSize */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxSize})).f(tls, p) } func Xsqlite3_msize(tls *libc.TLS, p uintptr) Sqlite3_uint64 { /* sqlite3.c:28155:27: */ if p != 0 { - return uint64((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 12 /* &.xSize */))))(tls, p)) + return uint64((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxSize})).f(tls, p)) } return uint64(0) } @@ -15194,10 +15276,10 @@ func Xsqlite3_free(tls *libc.TLS, p uintptr) { /* sqlite3.c:28164:17: */ Xsqlite3_mutex_enter(tls, mem0.Fmutex) Xsqlite3StatusDown(tls, SQLITE_STATUS_MEMORY_USED, Xsqlite3MallocSize(tls, p)) Xsqlite3StatusDown(tls, SQLITE_STATUS_MALLOC_COUNT, 1) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 4 /* &.xFree */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxFree})).f(tls, p) Xsqlite3_mutex_leave(tls, mem0.Fmutex) } else { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 4 /* &.xFree */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxFree})).f(tls, p) } } @@ -15265,7 +15347,7 @@ func Xsqlite3Realloc(tls *libc.TLS, pOld uintptr, nBytes U64) uintptr { /* sqlit // IMPLEMENTATION-OF: R-46199-30249 SQLite guarantees that the second // argument to xRealloc is always a value returned by a prior call to // xRoundup. - nNew = (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 16 /* &.xRoundup */))))(tls, int32(nBytes)) + nNew = (*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRoundup})).f(tls, int32(nBytes)) if nOld == nNew { pNew = pOld } else if Xsqlite3Config.FbMemstat != 0 { @@ -15280,10 +15362,14 @@ func Xsqlite3Realloc(tls *libc.TLS, pOld uintptr, nBytes U64) uintptr { /* sqlit return uintptr(0) } } - pNew = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 8 /* &.xRealloc */))))(tls, pOld, nNew) + pNew = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRealloc})).f(tls, pOld, nNew) if (pNew == uintptr(0)) && (mem0.FalarmThreshold > int64(0)) { sqlite3MallocAlarm(tls, int32(nBytes)) - pNew = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 8 /* &.xRealloc */))))(tls, pOld, nNew) + pNew = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRealloc})).f(tls, pOld, nNew) } if pNew != 0 { nNew = Xsqlite3MallocSize(tls, pNew) @@ -15291,7 +15377,9 @@ func Xsqlite3Realloc(tls *libc.TLS, pOld uintptr, nBytes U64) uintptr { /* sqlit } Xsqlite3_mutex_leave(tls, mem0.Fmutex) } else { - pNew = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 8 /* &.xRealloc */))))(tls, pOld, nNew) + pNew = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRealloc})).f(tls, pOld, nNew) } // IMP: R-11148-40995 return pNew @@ -15500,7 +15588,7 @@ func Xsqlite3DbStrNDup(tls *libc.TLS, db uintptr, z uintptr, n U64) uintptr { /* } if zNew != 0 { libc.Xmemcpy(tls, zNew, z, Size_t(n)) - *(*int8)(unsafe.Pointer(zNew + uintptr(n))) = int8(0) + *(*uint8)(unsafe.Pointer(zNew + uintptr(n))) = uint8(0) } return zNew } @@ -15510,11 +15598,11 @@ func Xsqlite3DbStrNDup(tls *libc.TLS, db uintptr, z uintptr, n U64) uintptr { /* // sqlite3DbMalloc(). Omit leading and trailing whitespace. func Xsqlite3DbSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uintptr { /* sqlite3.c:28526:21: */ var n int32 - for (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zStart)))]) & 0x01) != 0 { + for (int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zStart)))]) & 0x01) != 0 { zStart++ } n = ((int32(zEnd) - int32(zStart)) / 1) - for (n > 0) && ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zStart + uintptr((n - 1)))))]) & 0x01) != 0) { + for (n > 0) && ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zStart + uintptr((n - 1)))))]) & 0x01) != 0) { n-- } return Xsqlite3DbStrNDup(tls, db, zStart, uint64(n)) @@ -15618,7 +15706,7 @@ type EtByte = uint8 /* sqlite3.c:28659:23 */ // Each builtin conversion character (ex: the 'd' in "%d") is described // by an instance of the following structure type et_info = struct { - Ffmttype int8 + Ffmttype uint8 Fbase EtByte Fflags EtByte Ftype EtByte @@ -15634,34 +15722,34 @@ type Et_info = et_info /* sqlite3.c:28672:3 */ // The following table is searched linearly, so it is good to put the // most frequently used conversion types first. -var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 705 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ -var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 738 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ +var aDigits = *(*[33]uint8)(unsafe.Pointer(ts + 705 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ +var aPrefix = *(*[7]uint8)(unsafe.Pointer(ts + 738 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ var fmtinfo = [23]Et_info{ - {Ffmttype: int8('d'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(EtDECIMAL)}, - {Ffmttype: int8('s'), Fflags: EtByte(4), Ftype: EtByte(EtSTRING)}, - {Ffmttype: int8('g'), Fflags: EtByte(1), Ftype: EtByte(EtGENERIC), Fcharset: EtByte(30)}, - {Ffmttype: int8('z'), Fflags: EtByte(4), Ftype: EtByte(EtDYNSTRING)}, - {Ffmttype: int8('q'), Fflags: EtByte(4), Ftype: EtByte(EtSQLESCAPE)}, - {Ffmttype: int8('Q'), Fflags: EtByte(4), Ftype: EtByte(EtSQLESCAPE2)}, - {Ffmttype: int8('w'), Fflags: EtByte(4), Ftype: EtByte(EtSQLESCAPE3)}, - {Ffmttype: int8('c'), Ftype: EtByte(EtCHARX)}, - {Ffmttype: int8('o'), Fbase: EtByte(8), Fprefix: EtByte(2)}, - {Ffmttype: int8('u'), Fbase: EtByte(10), Ftype: EtByte(EtDECIMAL)}, - {Ffmttype: int8('x'), Fbase: EtByte(16), Fcharset: EtByte(16), Fprefix: EtByte(1)}, - {Ffmttype: int8('X'), Fbase: EtByte(16), Fprefix: EtByte(4)}, - {Ffmttype: int8('f'), Fflags: EtByte(1), Ftype: EtByte(EtFLOAT)}, - {Ffmttype: int8('e'), Fflags: EtByte(1), Ftype: EtByte(EtEXP), Fcharset: EtByte(30)}, - {Ffmttype: int8('E'), Fflags: EtByte(1), Ftype: EtByte(EtEXP), Fcharset: EtByte(14)}, - {Ffmttype: int8('G'), Fflags: EtByte(1), Ftype: EtByte(EtGENERIC), Fcharset: EtByte(14)}, - {Ffmttype: int8('i'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(EtDECIMAL)}, - {Ffmttype: int8('n'), Ftype: EtByte(EtSIZE)}, - {Ffmttype: int8('%'), Ftype: EtByte(EtPERCENT)}, - {Ffmttype: int8('p'), Fbase: EtByte(16), Ftype: EtByte(EtPOINTER), Fprefix: EtByte(1)}, + {Ffmttype: uint8('d'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(EtDECIMAL)}, + {Ffmttype: uint8('s'), Fflags: EtByte(4), Ftype: EtByte(EtSTRING)}, + {Ffmttype: uint8('g'), Fflags: EtByte(1), Ftype: EtByte(EtGENERIC), Fcharset: EtByte(30)}, + {Ffmttype: uint8('z'), Fflags: EtByte(4), Ftype: EtByte(EtDYNSTRING)}, + {Ffmttype: uint8('q'), Fflags: EtByte(4), Ftype: EtByte(EtSQLESCAPE)}, + {Ffmttype: uint8('Q'), Fflags: EtByte(4), Ftype: EtByte(EtSQLESCAPE2)}, + {Ffmttype: uint8('w'), Fflags: EtByte(4), Ftype: EtByte(EtSQLESCAPE3)}, + {Ffmttype: uint8('c'), Ftype: EtByte(EtCHARX)}, + {Ffmttype: uint8('o'), Fbase: EtByte(8), Fprefix: EtByte(2)}, + {Ffmttype: uint8('u'), Fbase: EtByte(10), Ftype: EtByte(EtDECIMAL)}, + {Ffmttype: uint8('x'), Fbase: EtByte(16), Fcharset: EtByte(16), Fprefix: EtByte(1)}, + {Ffmttype: uint8('X'), Fbase: EtByte(16), Fprefix: EtByte(4)}, + {Ffmttype: uint8('f'), Fflags: EtByte(1), Ftype: EtByte(EtFLOAT)}, + {Ffmttype: uint8('e'), Fflags: EtByte(1), Ftype: EtByte(EtEXP), Fcharset: EtByte(30)}, + {Ffmttype: uint8('E'), Fflags: EtByte(1), Ftype: EtByte(EtEXP), Fcharset: EtByte(14)}, + {Ffmttype: uint8('G'), Fflags: EtByte(1), Ftype: EtByte(EtGENERIC), Fcharset: EtByte(14)}, + {Ffmttype: uint8('i'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(EtDECIMAL)}, + {Ffmttype: uint8('n'), Ftype: EtByte(EtSIZE)}, + {Ffmttype: uint8('%'), Ftype: EtByte(EtPERCENT)}, + {Ffmttype: uint8('p'), Fbase: EtByte(16), Ftype: EtByte(EtPOINTER), Fprefix: EtByte(1)}, // All the rest are undocumented and are for internal use only - {Ffmttype: int8('T'), Ftype: EtByte(EtTOKEN)}, - {Ffmttype: int8('S'), Ftype: EtByte(EtSRCITEM)}, - {Ffmttype: int8('r'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(EtORDINAL)}, + {Ffmttype: uint8('T'), Ftype: EtByte(EtTOKEN)}, + {Ffmttype: uint8('S'), Ftype: EtByte(EtSRCITEM)}, + {Ffmttype: uint8('r'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(EtORDINAL)}, } /* sqlite3.c:28687:22 */ // Notes: @@ -15688,18 +15776,18 @@ var arRound = [10]float64{ // The counter *cnt is incremented each time. After counter exceeds // 16 (the number of significant digits in a 64-bit float) '0' is // always returned. -func et_getdigit(tls *libc.TLS, val uintptr, cnt uintptr) int8 { /* sqlite3.c:28747:13: */ +func et_getdigit(tls *libc.TLS, val uintptr, cnt uintptr) uint8 { /* sqlite3.c:28747:13: */ var digit int32 var d float64 if (*(*int32)(unsafe.Pointer(cnt))) <= 0 { - return int8('0') + return uint8('0') } (*(*int32)(unsafe.Pointer(cnt)))-- digit = int32(*(*float64)(unsafe.Pointer(val))) d = float64(digit) digit = digit + ('0') *(*float64)(unsafe.Pointer(val)) = ((*(*float64)(unsafe.Pointer(val)) - d) * 10.0) - return int8(digit) + return uint8(digit) } // Set the StrAccum object to an error mode. @@ -15785,7 +15873,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Va_lis var cThousand EtByte // Thousands separator for %d and %u var xtype EtByte // Conversion paradigm var bArgList U8 // True for SQLITE_PRINTF_SQLFUNC - var prefix int8 // Prefix character. "+" or "-" or " " or '\0'. + var prefix uint8 // Prefix character. "+" or "-" or " " or '\0'. var longvalue Sqlite_uint64 // Value for integer types // var realvalue float64 at bp+96, 8 // Value for real types @@ -15801,7 +15889,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Va_lis var flag_dp EtByte // True if decimal point should be shown var flag_rtz EtByte // True if trailing zeros should be removed var pArgList uintptr // Arguments for SQLITE_PRINTF_SQLFUNC - // var buf [70]int8 at bp+8, 70 + // var buf [70]uint8 at bp+8, 70 var wx uint32 var px uint32 @@ -15813,7 +15901,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Va_lis var nn int32 // Number of "," to insert var ix int32 // Add "0" or "0x" var pre uintptr - var x1 int8 + var x1 uint8 // var rx float64 at bp+88, 8 // var u Sqlite3_uint64 at bp+80, 8 @@ -15835,8 +15923,8 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Va_lis var n1 int32 var isnull int32 var needQuote int32 - var ch1 int8 - var q int8 // Quote character + var ch1 uint8 + var q uint8 // Quote character var escarg uintptr var pToken uintptr var pItem uintptr @@ -15860,7 +15948,7 @@ __1: __2: ; __3: - if !((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(fmt))))) != 0) { + if !((libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(fmt))))) != 0) { goto __5 } if !(c != '%') { @@ -15871,14 +15959,14 @@ __7: fmt++ goto __8 __8: - if (*(*int8)(unsafe.Pointer(fmt)) != 0) && (int32(*(*int8)(unsafe.Pointer(fmt))) != '%') { + if (*(*uint8)(unsafe.Pointer(fmt)) != 0) && (int32(*(*uint8)(unsafe.Pointer(fmt))) != '%') { goto __7 } goto __9 __9: ; Xsqlite3_str_append(tls, pAccum, bufpt, ((int32(fmt) - int32(bufpt)) / 1)) - if !(int32(*(*int8)(unsafe.Pointer(fmt))) == 0) { + if !(int32(*(*uint8)(unsafe.Pointer(fmt))) == 0) { goto __10 } goto __5 @@ -15886,7 +15974,7 @@ __10: ; __6: ; - if !((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))))) == 0) { + if !((libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))))) == 0) { goto __11 } Xsqlite3_str_append(tls, pAccum, ts+745 /* "%" */, 1) @@ -15969,11 +16057,11 @@ __23: goto __15 __24: flag_long = EtByte(1) - c = int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))) + c = int32(*(*uint8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))) if !(c == 'l') { goto __36 } - c = int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))) + c = int32(*(*uint8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))) flag_long = EtByte(2) __36: ; @@ -15991,7 +16079,7 @@ __32: __33: wx = (uint32(c - '0')) __37: - if !(((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))))) >= '0') && (c <= '9')) { + if !(((libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))))) >= '0') && (c <= '9')) { goto __38 } wx = (((wx * uint32(10)) + uint32(c)) - uint32('0')) @@ -16032,17 +16120,17 @@ __42: } __43: ; - if !(((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(fmt + 1))))) != '.') && (c != 'l')) { + if !(((libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(fmt + 1))))) != '.') && (c != 'l')) { goto __44 } - c = int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))) + c = int32(*(*uint8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))) done = EtByte(1) __44: ; goto __15 __35: - c = int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))) + c = int32(*(*uint8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))) if !(c == '*') { goto __45 } @@ -16065,7 +16153,7 @@ __48: } __49: ; - c = int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))) + c = int32(*(*uint8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))) goto __46 __45: px = uint32(0) @@ -16074,7 +16162,7 @@ __50: goto __51 } px = (((px * uint32(10)) + uint32(c)) - uint32('0')) - c = int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))) + c = int32(*(*uint8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))) goto __50 __51: ; @@ -16097,7 +16185,7 @@ __15: ; goto __13 __13: - if !(done != 0) && ((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))))) != 0) { + if !(done != 0) && ((libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))))) != 0) { goto __12 } goto __14 @@ -16231,11 +16319,11 @@ __80: longvalue = Sqlite_uint64(^v) longvalue++ - prefix = int8('-') + prefix = uint8('-') goto __86 __85: longvalue = Sqlite_uint64(v) - prefix = int8(flag_prefix) + prefix = uint8(flag_prefix) __86: ; goto __78 @@ -16265,7 +16353,7 @@ __90: ; __88: ; - prefix = int8(0) + prefix = uint8(0) __78: ; if !(longvalue == uint64(0)) { @@ -16315,15 +16403,15 @@ __96: x = 0 __100: ; - *(*int8)(unsafe.Pointer(libc.PreDecUintptr(&bufpt, 1))) = zOrd[((x * 2) + 1)] - *(*int8)(unsafe.Pointer(libc.PreDecUintptr(&bufpt, 1))) = zOrd[(x * 2)] + *(*uint8)(unsafe.Pointer(libc.PreDecUintptr(&bufpt, 1))) = zOrd[((x * 2) + 1)] + *(*uint8)(unsafe.Pointer(libc.PreDecUintptr(&bufpt, 1))) = zOrd[(x * 2)] __99: ; cset = (uintptr(unsafe.Pointer(&aDigits)) + uintptr((*Et_info)(unsafe.Pointer(infop)).Fcharset)) base = (*Et_info)(unsafe.Pointer(infop)).Fbase __101: // Convert to ascii - *(*int8)(unsafe.Pointer(libc.PreDecUintptr(&bufpt, 1))) = *(*int8)(unsafe.Pointer(cset + uintptr((longvalue % Sqlite_uint64(base))))) + *(*uint8)(unsafe.Pointer(libc.PreDecUintptr(&bufpt, 1))) = *(*uint8)(unsafe.Pointer(cset + uintptr((longvalue % Sqlite_uint64(base))))) longvalue = (longvalue / Sqlite_uint64(base)) goto __102 __102: @@ -16339,7 +16427,7 @@ __104: if !(precision > length) { goto __105 } - *(*int8)(unsafe.Pointer(libc.PreDecUintptr(&bufpt, 1))) = int8('0') // Zero pad + *(*uint8)(unsafe.Pointer(libc.PreDecUintptr(&bufpt, 1))) = uint8('0') // Zero pad length++ goto __104 __105: @@ -16355,12 +16443,12 @@ __107: if !(nn > 0) { goto __109 } - *(*int8)(unsafe.Pointer(bufpt + uintptr(idx))) = *(*int8)(unsafe.Pointer(bufpt + uintptr((idx + nn)))) + *(*uint8)(unsafe.Pointer(bufpt + uintptr(idx))) = *(*uint8)(unsafe.Pointer(bufpt + uintptr((idx + nn)))) ix-- if !(ix == 0) { goto __110 } - *(*int8)(unsafe.Pointer(bufpt + uintptr(libc.PreIncInt32(&idx, 1)))) = int8(cThousand) + *(*uint8)(unsafe.Pointer(bufpt + uintptr(libc.PreIncInt32(&idx, 1)))) = uint8(cThousand) nn-- ix = 3 __110: @@ -16377,7 +16465,7 @@ __106: if !(prefix != 0) { goto __111 } - *(*int8)(unsafe.Pointer(libc.PreDecUintptr(&bufpt, 1))) = prefix + *(*uint8)(unsafe.Pointer(libc.PreDecUintptr(&bufpt, 1))) = prefix __111: ; // Add sign if !((flag_alternateform != 0) && ((*Et_info)(unsafe.Pointer(infop)).Fprefix != 0)) { @@ -16385,10 +16473,10 @@ __111: } pre = (uintptr(unsafe.Pointer(&aPrefix)) + uintptr((*Et_info)(unsafe.Pointer(infop)).Fprefix)) __113: - if !((int32(libc.AssignInt8(&x1, *(*int8)(unsafe.Pointer(pre))))) != 0) { + if !((int32(libc.AssignUint8(&x1, *(*uint8)(unsafe.Pointer(pre))))) != 0) { goto __115 } - *(*int8)(unsafe.Pointer(libc.PreDecUintptr(&bufpt, 1))) = x1 + *(*uint8)(unsafe.Pointer(libc.PreDecUintptr(&bufpt, 1))) = x1 goto __114 __114: pre++ @@ -16428,10 +16516,10 @@ __119: goto __120 } *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) = -*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) - prefix = int8('-') + prefix = uint8('-') goto __121 __120: - prefix = int8(flag_prefix) + prefix = uint8(flag_prefix) __121: ; if !((int32(xtype) == EtGENERIC) && (precision > 0)) { @@ -16531,7 +16619,7 @@ __138: goto __139 } bufpt = bp + 8 /* &buf[0] */ - *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = prefix + *(*uint8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = prefix libc.Xmemcpy(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+751 /* "Inf" */, uint32(4)) length = (3 + (libc.Bool32(int32(prefix) != 0))) goto __58 @@ -16615,14 +16703,14 @@ __148: if !(prefix != 0) { goto __150 } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = prefix + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = prefix __150: ; // Digits prior to the decimal point if !(e2 < 0) { goto __151 } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = int8('0') + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = uint8('0') goto __152 __151: ; @@ -16630,7 +16718,7 @@ __153: if !(e2 >= 0) { goto __155 } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = et_getdigit(tls, bp+96 /* &realvalue */, bp+104 /* &nsd */) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = et_getdigit(tls, bp+96 /* &realvalue */, bp+104 /* &nsd */) goto __154 __154: e2-- @@ -16644,7 +16732,7 @@ __152: if !(flag_dp != 0) { goto __156 } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = int8('.') + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = uint8('.') __156: ; // "0" digits after the decimal point but before the first @@ -16655,7 +16743,7 @@ __157: goto __159 } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = int8('0') + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = uint8('0') goto __158 __158: precision-- @@ -16669,7 +16757,7 @@ __160: if !((libc.PostDecInt32(&precision, 1)) > 0) { goto __161 } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = et_getdigit(tls, bp+96 /* &realvalue */, bp+104 /* &nsd */) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = et_getdigit(tls, bp+96 /* &realvalue */, bp+104 /* &nsd */) goto __160 __161: ; @@ -16678,24 +16766,24 @@ __161: goto __162 } __163: - if !(int32(*(*int8)(unsafe.Pointer(bufpt + libc.UintptrFromInt32(-1)))) == '0') { + if !(int32(*(*uint8)(unsafe.Pointer(bufpt + libc.UintptrFromInt32(-1)))) == '0') { goto __164 } - *(*int8)(unsafe.Pointer(libc.PreDecUintptr(&bufpt, 1))) = int8(0) + *(*uint8)(unsafe.Pointer(libc.PreDecUintptr(&bufpt, 1))) = uint8(0) goto __163 __164: ; - if !(int32(*(*int8)(unsafe.Pointer(bufpt + libc.UintptrFromInt32(-1)))) == '.') { + if !(int32(*(*uint8)(unsafe.Pointer(bufpt + libc.UintptrFromInt32(-1)))) == '.') { goto __165 } if !(flag_altform2 != 0) { goto __166 } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = int8('0') + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = uint8('0') goto __167 __166: - *(*int8)(unsafe.Pointer(libc.PreDecUintptr(&bufpt, 1))) = int8(0) + *(*uint8)(unsafe.Pointer(libc.PreDecUintptr(&bufpt, 1))) = uint8(0) __167: ; __165: @@ -16706,29 +16794,29 @@ __162: if !(int32(xtype) == EtEXP) { goto __168 } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = aDigits[(*Et_info)(unsafe.Pointer(infop)).Fcharset] + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = aDigits[(*Et_info)(unsafe.Pointer(infop)).Fcharset] if !(exp < 0) { goto __169 } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = int8('-') + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = uint8('-') exp = -exp goto __170 __169: - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = int8('+') + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = uint8('+') __170: ; if !(exp >= 100) { goto __171 } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = (int8((exp / 100) + '0')) // 100's digit + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = (uint8((exp / 100) + '0')) // 100's digit exp = exp % (100) __171: ; - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = (int8((exp / 10) + '0')) // 10's digit - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = (int8((exp % 10) + '0')) // 1's digit + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = (uint8((exp / 10) + '0')) // 10's digit + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = (uint8((exp % 10) + '0')) // 1's digit __168: ; - *(*int8)(unsafe.Pointer(bufpt)) = int8(0) + *(*uint8)(unsafe.Pointer(bufpt)) = uint8(0) // The converted number is in buf[] and zero terminated. Output it. // Note that the number is in the usual order, not reversed as with @@ -16747,7 +16835,7 @@ __173: if !(i >= nPad) { goto __175 } - *(*int8)(unsafe.Pointer(bufpt + uintptr(i))) = *(*int8)(unsafe.Pointer(bufpt + uintptr((i - nPad)))) + *(*uint8)(unsafe.Pointer(bufpt + uintptr(i))) = *(*uint8)(unsafe.Pointer(bufpt + uintptr((i - nPad)))) goto __174 __174: i-- @@ -16760,7 +16848,7 @@ __176: if !(libc.PostDecInt32(&nPad, 1) != 0) { goto __177 } - *(*int8)(unsafe.Pointer(bufpt + uintptr(libc.PostIncInt32(&i, 1)))) = int8('0') + *(*uint8)(unsafe.Pointer(bufpt + uintptr(libc.PostIncInt32(&i, 1)))) = uint8('0') goto __176 __177: ; @@ -16778,7 +16866,7 @@ __178: length = libc.AssignInt32(&width, 0) goto __58 __67: - *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = int8('%') + *(*uint8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = uint8('%') bufpt = bp + 8 /* &buf[0] */ length = 1 goto __58 @@ -16791,15 +16879,15 @@ __68: if !(bufpt != 0) { goto __181 } - *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = int8(libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1)))))) + *(*uint8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = uint8(libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1)))))) if !((c & 0xc0) == 0xc0) { goto __183 } __184: - if !((length < 4) && ((int32(*(*int8)(unsafe.Pointer(bufpt))) & 0xc0) == 0x80)) { + if !((length < 4) && ((int32(*(*uint8)(unsafe.Pointer(bufpt))) & 0xc0) == 0x80)) { goto __185 } - *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + uintptr(libc.PostIncInt32(&length, 1)))) = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) + *(*uint8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + uintptr(libc.PostIncInt32(&length, 1)))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) goto __184 __185: ; @@ -16807,7 +16895,7 @@ __183: ; goto __182 __181: - *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = int8(0) + *(*uint8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = uint8(0) __182: ; goto __180 @@ -16816,31 +16904,31 @@ __179: if !(ch < uint32(0x00080)) { goto __186 } - *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = (int8(ch & uint32(0xff))) + *(*uint8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = (uint8(ch & uint32(0xff))) length = 1 goto __187 __186: if !(ch < uint32(0x00800)) { goto __188 } - *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = (int8(0xc0 + int32((U8((ch >> 6) & uint32(0x1f)))))) - *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 1)) = (int8(0x80 + int32((U8(ch & uint32(0x3f)))))) + *(*uint8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = (uint8(0xc0 + int32((U8((ch >> 6) & uint32(0x1f)))))) + *(*uint8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 1)) = (uint8(0x80 + int32((U8(ch & uint32(0x3f)))))) length = 2 goto __189 __188: if !(ch < uint32(0x10000)) { goto __190 } - *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = (int8(0xe0 + int32((U8((ch >> 12) & uint32(0x0f)))))) - *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 1)) = (int8(0x80 + int32((U8((ch >> 6) & uint32(0x3f)))))) - *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 2)) = (int8(0x80 + int32((U8(ch & uint32(0x3f)))))) + *(*uint8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = (uint8(0xe0 + int32((U8((ch >> 12) & uint32(0x0f)))))) + *(*uint8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 1)) = (uint8(0x80 + int32((U8((ch >> 6) & uint32(0x3f)))))) + *(*uint8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 2)) = (uint8(0x80 + int32((U8(ch & uint32(0x3f)))))) length = 3 goto __191 __190: - *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = (int8(0xf0 + int32((U8((ch >> 18) & uint32(0x07)))))) - *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 1)) = (int8(0x80 + int32((U8((ch >> 12) & uint32(0x3f)))))) - *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 2)) = (int8(0x80 + int32((U8((ch >> 6) & uint32(0x3f)))))) - *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 3)) = (int8(0x80 + int32((U8(ch & uint32(0x3f)))))) + *(*uint8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = (uint8(0xf0 + int32((U8((ch >> 18) & uint32(0x07)))))) + *(*uint8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 1)) = (uint8(0x80 + int32((U8((ch >> 12) & uint32(0x3f)))))) + *(*uint8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 2)) = (uint8(0x80 + int32((U8((ch >> 6) & uint32(0x3f)))))) + *(*uint8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 3)) = (uint8(0x80 + int32((U8(ch & uint32(0x3f)))))) length = 4 __191: ; @@ -16857,7 +16945,7 @@ __180: if !((width > 1) && !(flag_leftjustify != 0)) { goto __193 } - Xsqlite3_str_appendchar(tls, pAccum, (width - 1), int8(' ')) + Xsqlite3_str_appendchar(tls, pAccum, (width - 1), uint8(' ')) width = 0 __193: ; @@ -16954,7 +17042,7 @@ __207: __204: length = 0 __211: - if !((length < precision) && (*(*int8)(unsafe.Pointer(bufpt + uintptr(length))) != 0)) { + if !((length < precision) && (*(*uint8)(unsafe.Pointer(bufpt + uintptr(length))) != 0)) { goto __213 } goto __212 @@ -16981,7 +17069,7 @@ __215: if !(ii >= 0) { goto __216 } - if !((int32(*(*int8)(unsafe.Pointer(bufpt + uintptr(libc.PostDecInt32(&ii, 1))))) & 0xc0) == 0x80) { + if !((int32(*(*uint8)(unsafe.Pointer(bufpt + uintptr(libc.PostDecInt32(&ii, 1))))) & 0xc0) == 0x80) { goto __217 } width++ @@ -16996,11 +17084,11 @@ __214: __71: // %q: Escape ' characters __72: // %Q: Escape ' and enclose in '...' __73: - q = func() int8 { + q = func() uint8 { if int32(xtype) == EtSQLESCAPE3 { - return int8('"') + return uint8('"') } - return int8('\'') + return uint8('\'') }() if !(bArgList != 0) { @@ -17031,7 +17119,7 @@ __220: k = precision i1 = libc.AssignInt32(&n1, 0) __221: - if !((k != 0) && ((int32(libc.AssignInt8(&ch1, *(*int8)(unsafe.Pointer(escarg + uintptr(i1)))))) != 0)) { + if !((k != 0) && ((int32(libc.AssignUint8(&ch1, *(*uint8)(unsafe.Pointer(escarg + uintptr(i1)))))) != 0)) { goto __223 } if !(int32(ch1) == int32(q)) { @@ -17044,7 +17132,7 @@ __224: goto __225 } __226: - if !((int32(*(*int8)(unsafe.Pointer(escarg + uintptr((i1 + 1))))) & 0xc0) == 0x80) { + if !((int32(*(*uint8)(unsafe.Pointer(escarg + uintptr((i1 + 1))))) & 0xc0) == 0x80) { goto __227 } i1++ @@ -17082,7 +17170,7 @@ __229: if !(needQuote != 0) { goto __231 } - *(*int8)(unsafe.Pointer(bufpt + uintptr(libc.PostIncInt32(&j, 1)))) = q + *(*uint8)(unsafe.Pointer(bufpt + uintptr(libc.PostIncInt32(&j, 1)))) = q __231: ; k = i1 @@ -17091,11 +17179,11 @@ __232: if !(i1 < k) { goto __234 } - *(*int8)(unsafe.Pointer(bufpt + uintptr(libc.PostIncInt32(&j, 1)))) = libc.AssignInt8(&ch1, *(*int8)(unsafe.Pointer(escarg + uintptr(i1)))) + *(*uint8)(unsafe.Pointer(bufpt + uintptr(libc.PostIncInt32(&j, 1)))) = libc.AssignUint8(&ch1, *(*uint8)(unsafe.Pointer(escarg + uintptr(i1)))) if !(int32(ch1) == int32(q)) { goto __235 } - *(*int8)(unsafe.Pointer(bufpt + uintptr(libc.PostIncInt32(&j, 1)))) = ch1 + *(*uint8)(unsafe.Pointer(bufpt + uintptr(libc.PostIncInt32(&j, 1)))) = ch1 __235: ; goto __233 @@ -17108,10 +17196,10 @@ __234: if !(needQuote != 0) { goto __236 } - *(*int8)(unsafe.Pointer(bufpt + uintptr(libc.PostIncInt32(&j, 1)))) = q + *(*uint8)(unsafe.Pointer(bufpt + uintptr(libc.PostIncInt32(&j, 1)))) = q __236: ; - *(*int8)(unsafe.Pointer(bufpt + uintptr(j))) = int8(0) + *(*uint8)(unsafe.Pointer(bufpt + uintptr(j))) = uint8(0) length = j goto adjust_width_for_utf8 @@ -17201,14 +17289,14 @@ __58: if !(!(flag_leftjustify != 0)) { goto __250 } - Xsqlite3_str_appendchar(tls, pAccum, width, int8(' ')) + Xsqlite3_str_appendchar(tls, pAccum, width, uint8(' ')) __250: ; Xsqlite3_str_append(tls, pAccum, bufpt, length) if !(flag_leftjustify != 0) { goto __251 } - Xsqlite3_str_appendchar(tls, pAccum, width, int8(' ')) + Xsqlite3_str_appendchar(tls, pAccum, width, uint8(' ')) __251: ; goto __249 @@ -17233,7 +17321,7 @@ __5: // End for loop over the format string } -var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 782 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ +var zOrd = *(*[9]uint8)(unsafe.Pointer(ts + 782 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ // End of function @@ -17296,13 +17384,13 @@ func sqlite3StrAccumEnlarge(tls *libc.TLS, p uintptr, N int32) int32 { /* sqlite } // Append N copies of character c to the given string buffer. -func Xsqlite3_str_appendchar(tls *libc.TLS, p uintptr, N int32, c int8) { /* sqlite3.c:29584:17: */ +func Xsqlite3_str_appendchar(tls *libc.TLS, p uintptr, N int32, c uint8) { /* sqlite3.c:29584:17: */ if ((I64((*Sqlite3_str)(unsafe.Pointer(p)).FnChar) + I64(N)) >= I64((*Sqlite3_str)(unsafe.Pointer(p)).FnAlloc)) && ((libc.AssignInt32(&N, sqlite3StrAccumEnlarge(tls, p, N))) <= 0) { return } for (libc.PostDecInt32(&N, 1)) > 0 { - *(*int8)(unsafe.Pointer((*Sqlite3_str)(unsafe.Pointer(p)).FzText + uintptr(libc.PostIncUint32(&(*Sqlite3_str)(unsafe.Pointer(p)).FnChar, 1)))) = c + *(*uint8)(unsafe.Pointer((*Sqlite3_str)(unsafe.Pointer(p)).FzText + uintptr(libc.PostIncUint32(&(*Sqlite3_str)(unsafe.Pointer(p)).FnChar, 1)))) = c } } @@ -17357,7 +17445,7 @@ func strAccumFinishRealloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:2963 func Xsqlite3StrAccumFinish(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:29652:21: */ if (*StrAccum)(unsafe.Pointer(p)).FzText != 0 { - *(*int8)(unsafe.Pointer((*StrAccum)(unsafe.Pointer(p)).FzText + uintptr((*StrAccum)(unsafe.Pointer(p)).FnChar))) = int8(0) + *(*uint8)(unsafe.Pointer((*StrAccum)(unsafe.Pointer(p)).FzText + uintptr((*StrAccum)(unsafe.Pointer(p)).FnChar))) = uint8(0) if ((*StrAccum)(unsafe.Pointer(p)).FmxAlloc > U32(0)) && !((int32((*StrAccum)(unsafe.Pointer((p))).FprintfFlags) & SQLITE_PRINTF_MALLOCED) != 0) { return strAccumFinishRealloc(tls, p) } @@ -17404,7 +17492,7 @@ func Xsqlite3_str_value(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:29696:1 if (p == uintptr(0)) || ((*Sqlite3_str)(unsafe.Pointer(p)).FnChar == U32(0)) { return uintptr(0) } - *(*int8)(unsafe.Pointer((*Sqlite3_str)(unsafe.Pointer(p)).FzText + uintptr((*Sqlite3_str)(unsafe.Pointer(p)).FnChar))) = int8(0) + *(*uint8)(unsafe.Pointer((*Sqlite3_str)(unsafe.Pointer(p)).FzText + uintptr((*Sqlite3_str)(unsafe.Pointer(p)).FnChar))) = uint8(0) return (*Sqlite3_str)(unsafe.Pointer(p)).FzText } @@ -17465,11 +17553,11 @@ func Xsqlite3VMPrintf(tls *libc.TLS, db uintptr, zFormat uintptr, ap Va_list) ui defer tls.Free(94) var z uintptr - // var zBase [70]int8 at bp+24, 70 + // var zBase [70]uint8 at bp+24, 70 // var acc StrAccum at bp, 24 - Xsqlite3StrAccumInit(tls, bp /* &acc */, db, bp+24 /* &zBase[0] */, int32(unsafe.Sizeof([70]int8{})), + Xsqlite3StrAccumInit(tls, bp /* &acc */, db, bp+24 /* &zBase[0] */, int32(unsafe.Sizeof([70]uint8{})), *(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */)))) (*StrAccum)(unsafe.Pointer(bp /* &acc */)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) Xsqlite3_str_vappendf(tls, bp /* &acc */, zFormat, ap) @@ -17499,14 +17587,14 @@ func Xsqlite3_vmprintf(tls *libc.TLS, zFormat uintptr, ap Va_list) uintptr { /* defer tls.Free(94) var z uintptr - // var zBase [70]int8 at bp+24, 70 + // var zBase [70]uint8 at bp+24, 70 // var acc StrAccum at bp, 24 if Xsqlite3_initialize(tls) != 0 { return uintptr(0) } - Xsqlite3StrAccumInit(tls, bp /* &acc */, uintptr(0), bp+24 /* &zBase[0] */, int32(unsafe.Sizeof([70]int8{})), SQLITE_MAX_LENGTH) + Xsqlite3StrAccumInit(tls, bp /* &acc */, uintptr(0), bp+24 /* &zBase[0] */, int32(unsafe.Sizeof([70]uint8{})), SQLITE_MAX_LENGTH) Xsqlite3_str_vappendf(tls, bp /* &acc */, zFormat, ap) z = Xsqlite3StrAccumFinish(tls, bp /* &acc */) return z @@ -17549,7 +17637,7 @@ func Xsqlite3_vsnprintf(tls *libc.TLS, n int32, zBuf uintptr, zFormat uintptr, a } Xsqlite3StrAccumInit(tls, bp /* &acc */, uintptr(0), zBuf, n, 0) Xsqlite3_str_vappendf(tls, bp /* &acc */, zFormat, ap) - *(*int8)(unsafe.Pointer(zBuf + uintptr((*StrAccum)(unsafe.Pointer(bp /* &acc */)).FnChar))) = int8(0) + *(*uint8)(unsafe.Pointer(zBuf + uintptr((*StrAccum)(unsafe.Pointer(bp /* &acc */)).FnChar))) = uint8(0) return zBuf } @@ -17581,12 +17669,14 @@ func renderLogMsg(tls *libc.TLS, iErrCode int32, zFormat uintptr, ap Va_list) { // var acc StrAccum at bp, 24 // String accumulator - // var zMsg [210]int8 at bp+24, 210 + // var zMsg [210]uint8 at bp+24, 210 // Complete log message - Xsqlite3StrAccumInit(tls, bp /* &acc */, uintptr(0), bp+24 /* &zMsg[0] */, int32(unsafe.Sizeof([210]int8{})), 0) + Xsqlite3StrAccumInit(tls, bp /* &acc */, uintptr(0), bp+24 /* &zMsg[0] */, int32(unsafe.Sizeof([210]uint8{})), 0) Xsqlite3_str_vappendf(tls, bp /* &acc */, zFormat, ap) - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 236 /* &.xLog */))))(tls, Xsqlite3Config.FpLogArg, iErrCode, + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.FxLog})).f(tls, Xsqlite3Config.FpLogArg, iErrCode, Xsqlite3StrAccumFinish(tls, bp /* &acc */)) } @@ -17744,12 +17834,12 @@ func Xsqlite3_randomness(tls *libc.TLS, N int32, pBuf uintptr) { /* sqlite3.c:30 if !(int32(sqlite3Prng.FisInit) != 0) { var pVfs uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) var i int32 - // var k [256]int8 at bp, 256 + // var k [256]uint8 at bp, 256 sqlite3Prng.Fj = uint8(0) sqlite3Prng.Fi = uint8(0) if pVfs == uintptr(0) { - libc.Xmemset(tls, bp /* &k[0] */, 0, uint32(unsafe.Sizeof([256]int8{}))) + libc.Xmemset(tls, bp /* &k[0] */, 0, uint32(unsafe.Sizeof([256]uint8{}))) } else { Xsqlite3OsRandomness(tls, pVfs, 256, bp /* &k[0] */) } @@ -17757,7 +17847,7 @@ func Xsqlite3_randomness(tls *libc.TLS, N int32, pBuf uintptr) { /* sqlite3.c:30 *(*uint8)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Prng)) + 3 /* &.s */) + uintptr(i))) = U8(i) } for i = 0; i < 256; i++ { - *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Prng)) + 2 /* &.j */)) += uint8((int32(*(*uint8)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Prng)) + 3 /* &.s */) + uintptr(i)))) + int32(*(*int8)(unsafe.Pointer(bp /* &k[0] */ + uintptr(i)))))) + *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Prng)) + 2 /* &.j */)) += uint8((int32(*(*uint8)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Prng)) + 3 /* &.s */) + uintptr(i)))) + int32(*(*uint8)(unsafe.Pointer(bp /* &k[0] */ + uintptr(i)))))) t = *(*uint8)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Prng)) + 3 /* &.s */) + uintptr(sqlite3Prng.Fj))) *(*uint8)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Prng)) + 3 /* &.s */) + uintptr(sqlite3Prng.Fj))) = *(*uint8)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Prng)) + 3 /* &.s */) + uintptr(i))) *(*uint8)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Prng)) + 3 /* &.s */) + uintptr(i))) = t @@ -17814,7 +17904,9 @@ func Xsqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, xTask uintptr, pIn ui (*SQLiteThread)(unsafe.Pointer(p)).FpIn = pIn } else { (*SQLiteThread)(unsafe.Pointer(p)).FxTask = uintptr(0) - (*SQLiteThread)(unsafe.Pointer(p)).FpResult = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(&xTask)))(tls, pIn) + (*SQLiteThread)(unsafe.Pointer(p)).FpResult = (*struct { + f func(*libc.TLS, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{xTask})).f(tls, pIn) } *(*uintptr)(unsafe.Pointer(ppThread)) = p return SQLITE_OK @@ -17827,7 +17919,9 @@ func Xsqlite3ThreadJoin(tls *libc.TLS, p uintptr, ppOut uintptr) int32 { /* sqli return SQLITE_NOMEM } if (*SQLiteThread)(unsafe.Pointer(p)).FxTask != 0 { - *(*uintptr)(unsafe.Pointer(ppOut)) = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer((p /* &.xTask */))))(tls, (*SQLiteThread)(unsafe.Pointer(p)).FpIn) + *(*uintptr)(unsafe.Pointer(ppOut)) = (*struct { + f func(*libc.TLS, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*SQLiteThread)(unsafe.Pointer(p)).FxTask})).f(tls, (*SQLiteThread)(unsafe.Pointer(p)).FpIn) } else { *(*uintptr)(unsafe.Pointer(ppOut)) = (*SQLiteThread)(unsafe.Pointer(p)).FpResult } @@ -18287,8 +18381,8 @@ func Xsqlite3VdbeMemHandleBom(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c: if rc == SQLITE_OK { *(*int32)(unsafe.Pointer(pMem + 12 /* &.n */)) -= (2) libc.Xmemmove(tls, (*Mem)(unsafe.Pointer(pMem)).Fz, ((*Mem)(unsafe.Pointer(pMem)).Fz + 2), uint32((*Mem)(unsafe.Pointer(pMem)).Fn)) - *(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fz + uintptr((*Mem)(unsafe.Pointer(pMem)).Fn))) = int8(0) - *(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fz + uintptr(((*Mem)(unsafe.Pointer(pMem)).Fn + 1)))) = int8(0) + *(*uint8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fz + uintptr((*Mem)(unsafe.Pointer(pMem)).Fn))) = uint8(0) + *(*uint8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fz + uintptr(((*Mem)(unsafe.Pointer(pMem)).Fn + 1)))) = uint8(0) *(*U16)(unsafe.Pointer(pMem + 8 /* &.flags */)) |= U16((MEM_Term)) (*Mem)(unsafe.Pointer(pMem)).Fenc = bom } @@ -18759,7 +18853,7 @@ type Double_t = float64 /* math.h:150:16 */ func Xsqlite3FaultSim(tls *libc.TLS, iTest int32) int32 { /* sqlite3.c:31735:20: */ var xCallback uintptr = Xsqlite3Config.FxTestCallback if xCallback != 0 { - return (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer(&xCallback)))(tls, iTest) + return (*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{xCallback})).f(tls, iTest) } return SQLITE_OK } @@ -18943,41 +19037,41 @@ func Xsqlite3ErrorToParser(tls *libc.TLS, db uintptr, errCode int32) int32 { /* // brackets from around identifiers. For example: "[a-b-c]" becomes // "a-b-c". func Xsqlite3Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:31922:21: */ - var quote int8 + var quote uint8 var i int32 var j int32 if z == uintptr(0) { return } - quote = *(*int8)(unsafe.Pointer(z)) + quote = *(*uint8)(unsafe.Pointer(z)) if !((int32(Xsqlite3CtypeMap[uint8(quote)]) & 0x80) != 0) { return } if int32(quote) == '[' { - quote = int8(']') + quote = uint8(']') } i = 1 j = 0 for ; ; i++ { - if int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == int32(quote) { - if int32(*(*int8)(unsafe.Pointer(z + uintptr((i + 1))))) == int32(quote) { - *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&j, 1)))) = quote + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32(quote) { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr((i + 1))))) == int32(quote) { + *(*uint8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&j, 1)))) = quote i++ } else { break } } else { - *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&j, 1)))) = *(*int8)(unsafe.Pointer(z + uintptr(i))) + *(*uint8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&j, 1)))) = *(*uint8)(unsafe.Pointer(z + uintptr(i))) } } - *(*int8)(unsafe.Pointer(z + uintptr(j))) = int8(0) + *(*uint8)(unsafe.Pointer(z + uintptr(j))) = uint8(0) } func Xsqlite3DequoteExpr(tls *libc.TLS, p uintptr) { /* sqlite3.c:31944:21: */ *(*U32)(unsafe.Pointer(p + 4 /* &.flags */)) |= (func() uint32 { - if int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(p + 8 /* &.u */))))) == '"' { + if int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(p + 8 /* &.u */))))) == '"' { return (uint32(EP_Quoted | EP_DblQuoted)) } return uint32(EP_Quoted) @@ -19068,8 +19162,8 @@ func Xsqlite3StrIHash(tls *libc.TLS, z uintptr) U8 { /* sqlite3.c:32014:19: */ if z == uintptr(0) { return U8(0) } - for *(*int8)(unsafe.Pointer(z)) != 0 { - h = U8(int32(h) + (int32(Xsqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(z)))]))) + for *(*uint8)(unsafe.Pointer(z)) != 0 { + h = U8(int32(h) + (int32(Xsqlite3UpperToLower[uint8(*(*uint8)(unsafe.Pointer(z)))]))) z++ } return h @@ -19167,7 +19261,7 @@ __2: i = (3 - int32(enc)) __4: - if !((i < length) && (int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == 0)) { + if !((i < length) && (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == 0)) { goto __6 } goto __5 @@ -19190,7 +19284,7 @@ __3: // skip leading spaces __8: - if !((z < zEnd) && ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z)))]) & 0x01) != 0)) { + if !((z < zEnd) && ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z)))]) & 0x01) != 0)) { goto __9 } z += uintptr(incr) @@ -19205,14 +19299,14 @@ __10: ; // get sign of significand - if !(int32(*(*int8)(unsafe.Pointer(z))) == '-') { + if !(int32(*(*uint8)(unsafe.Pointer(z))) == '-') { goto __11 } sign = -1 z += uintptr(incr) goto __12 __11: - if !(int32(*(*int8)(unsafe.Pointer(z))) == '+') { + if !(int32(*(*uint8)(unsafe.Pointer(z))) == '+') { goto __13 } z += uintptr(incr) @@ -19223,10 +19317,10 @@ __12: // copy max significant digits to significand __14: - if !((z < zEnd) && ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z)))]) & 0x04) != 0)) { + if !((z < zEnd) && ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z)))]) & 0x04) != 0)) { goto __15 } - s = ((s * int64(10)) + (I64(int32(*(*int8)(unsafe.Pointer(z))) - '0'))) + s = ((s * int64(10)) + (I64(int32(*(*uint8)(unsafe.Pointer(z))) - '0'))) z += uintptr(incr) nDigit++ if !(s >= (((int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32)) - int64(9)) / int64(10))) { @@ -19235,7 +19329,7 @@ __14: // skip non-significant significand digits // (increase exponent by d to shift decimal left) __17: - if !((z < zEnd) && ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z)))]) & 0x04) != 0)) { + if !((z < zEnd) && ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z)))]) & 0x04) != 0)) { goto __18 } z += uintptr(incr) @@ -19256,7 +19350,7 @@ __19: ; // if decimal point is present - if !(int32(*(*int8)(unsafe.Pointer(z))) == '.') { + if !(int32(*(*uint8)(unsafe.Pointer(z))) == '.') { goto __20 } z += uintptr(incr) @@ -19264,13 +19358,13 @@ __19: // copy digits from after decimal to significand // (decrease exponent by d to shift decimal right) __21: - if !((z < zEnd) && ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z)))]) & 0x04) != 0)) { + if !((z < zEnd) && ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z)))]) & 0x04) != 0)) { goto __22 } if !(s < (((int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32)) - int64(9)) / int64(10))) { goto __23 } - s = ((s * int64(10)) + (I64(int32(*(*int8)(unsafe.Pointer(z))) - '0'))) + s = ((s * int64(10)) + (I64(int32(*(*uint8)(unsafe.Pointer(z))) - '0'))) d-- nDigit++ __23: @@ -19289,7 +19383,7 @@ __24: ; // if exponent is present - if !((int32(*(*int8)(unsafe.Pointer(z))) == 'e') || (int32(*(*int8)(unsafe.Pointer(z))) == 'E')) { + if !((int32(*(*uint8)(unsafe.Pointer(z))) == 'e') || (int32(*(*uint8)(unsafe.Pointer(z))) == 'E')) { goto __25 } z += uintptr(incr) @@ -19307,14 +19401,14 @@ __26: ; //PREVENTS-HARMLESS-OVERREAD // get sign of exponent - if !(int32(*(*int8)(unsafe.Pointer(z))) == '-') { + if !(int32(*(*uint8)(unsafe.Pointer(z))) == '-') { goto __27 } esign = -1 z += uintptr(incr) goto __28 __27: - if !(int32(*(*int8)(unsafe.Pointer(z))) == '+') { + if !(int32(*(*uint8)(unsafe.Pointer(z))) == '+') { goto __29 } z += uintptr(incr) @@ -19324,11 +19418,11 @@ __28: ; // copy digits to exponent __30: - if !((z < zEnd) && ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z)))]) & 0x04) != 0)) { + if !((z < zEnd) && ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z)))]) & 0x04) != 0)) { goto __31 } if e < 10000 { - e = ((e * 10) + (int32(*(*int8)(unsafe.Pointer(z))) - '0')) + e = ((e * 10) + (int32(*(*uint8)(unsafe.Pointer(z))) - '0')) } else { e = 10000 } @@ -19342,7 +19436,7 @@ __25: // skip trailing spaces __32: - if !((z < zEnd) && ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z)))]) & 0x01) != 0)) { + if !((z < zEnd) && ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z)))]) & 0x01) != 0)) { goto __33 } z += uintptr(incr) @@ -19508,7 +19602,7 @@ func Xsqlite3Int64ToText(tls *libc.TLS, v I64, zOut uintptr) { /* sqlite3.c:3229 var i int32 var x U64 - // var zTemp [22]int8 at bp, 22 + // var zTemp [22]uint8 at bp, 22 if v < int64(0) { if v == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))) { @@ -19519,16 +19613,16 @@ func Xsqlite3Int64ToText(tls *libc.TLS, v I64, zOut uintptr) { /* sqlite3.c:3229 } else { x = U64(v) } - i = (int32(uint32(unsafe.Sizeof([22]int8{})) - uint32(2))) - *(*int8)(unsafe.Pointer(bp /* &zTemp[0] */ + 21)) = int8(0) + i = (int32(uint32(unsafe.Sizeof([22]uint8{})) - uint32(2))) + *(*uint8)(unsafe.Pointer(bp /* &zTemp[0] */ + 21)) = uint8(0) for ok := true; ok; ok = x != 0 { - *(*int8)(unsafe.Pointer(bp /* &zTemp[0] */ + uintptr(libc.PostDecInt32(&i, 1)))) = (int8((x % uint64(10)) + uint64('0'))) + *(*uint8)(unsafe.Pointer(bp /* &zTemp[0] */ + uintptr(libc.PostDecInt32(&i, 1)))) = (uint8((x % uint64(10)) + uint64('0'))) x = (x / uint64(10)) } if v < int64(0) { - *(*int8)(unsafe.Pointer(bp /* &zTemp[0] */ + uintptr(libc.PostDecInt32(&i, 1)))) = int8('-') + *(*uint8)(unsafe.Pointer(bp /* &zTemp[0] */ + uintptr(libc.PostDecInt32(&i, 1)))) = uint8('-') } - libc.Xmemcpy(tls, zOut, (bp /* &zTemp */ + uintptr((i + 1))), ((uint32(unsafe.Sizeof([22]int8{})) - uint32(1)) - uint32(i))) + libc.Xmemcpy(tls, zOut, (bp /* &zTemp */ + uintptr((i + 1))), ((uint32(unsafe.Sizeof([22]uint8{})) - uint32(1)) - uint32(i))) } // Compare the 19-character string zNum against the text representation @@ -19549,10 +19643,10 @@ func compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) int32 { /* sqlite3.c // 012345678901234567 var pow63 uintptr = ts + 791 /* "9223372036854775..." */ for i = 0; (c == 0) && (i < 18); i++ { - c = ((int32(*(*int8)(unsafe.Pointer(zNum + uintptr((i * incr))))) - int32(*(*int8)(unsafe.Pointer(pow63 + uintptr(i))))) * 10) + c = ((int32(*(*uint8)(unsafe.Pointer(zNum + uintptr((i * incr))))) - int32(*(*uint8)(unsafe.Pointer(pow63 + uintptr(i))))) * 10) } if c == 0 { - c = (int32(*(*int8)(unsafe.Pointer(zNum + uintptr((18 * incr))))) - '8') + c = (int32(*(*uint8)(unsafe.Pointer(zNum + uintptr((18 * incr))))) - '8') } return c @@ -19589,28 +19683,28 @@ func Xsqlite3Atoi64(tls *libc.TLS, zNum uintptr, pNum uintptr, length int32, enc incr = 2 length = length & (libc.CplInt32(1)) - for i = (3 - int32(enc)); (i < length) && (int32(*(*int8)(unsafe.Pointer(zNum + uintptr(i)))) == 0); i = i + (2) { + for i = (3 - int32(enc)); (i < length) && (int32(*(*uint8)(unsafe.Pointer(zNum + uintptr(i)))) == 0); i = i + (2) { } nonNum = (libc.Bool32(i < length)) zEnd = (zNum + uintptr((i ^ 1))) zNum += (uintptr(int32(enc) & 1)) } - for (zNum < zEnd) && ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zNum)))]) & 0x01) != 0) { + for (zNum < zEnd) && ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zNum)))]) & 0x01) != 0) { zNum += uintptr(incr) } if zNum < zEnd { - if int32(*(*int8)(unsafe.Pointer(zNum))) == '-' { + if int32(*(*uint8)(unsafe.Pointer(zNum))) == '-' { neg = 1 zNum += uintptr(incr) - } else if int32(*(*int8)(unsafe.Pointer(zNum))) == '+' { + } else if int32(*(*uint8)(unsafe.Pointer(zNum))) == '+' { zNum += uintptr(incr) } } zStart = zNum - for (zNum < zEnd) && (int32(*(*int8)(unsafe.Pointer(zNum))) == '0') { + for (zNum < zEnd) && (int32(*(*uint8)(unsafe.Pointer(zNum))) == '0') { zNum += uintptr(incr) } // Skip leading zeros. - for i = 0; (((zNum + uintptr(i)) < zEnd) && ((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(zNum + uintptr(i)))))) >= '0')) && (c <= '9'); i = i + (incr) { + for i = 0; (((zNum + uintptr(i)) < zEnd) && ((libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(zNum + uintptr(i)))))) >= '0')) && (c <= '9'); i = i + (incr) { u = (((u * uint64(10)) + U64(c)) - uint64('0')) } @@ -19638,7 +19732,7 @@ func Xsqlite3Atoi64(tls *libc.TLS, zNum uintptr, pNum uintptr, length int32, enc } else if (zNum + uintptr(i)) < zEnd { // Extra bytes at the end var jj int32 = i for ok := true; ok; ok = ((zNum + uintptr(jj)) < zEnd) { - if !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zNum + uintptr(jj))))]) & 0x01) != 0) { + if !((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zNum + uintptr(jj))))]) & 0x01) != 0) { rc = 1 // Extra non-space text after the integer break } @@ -19698,18 +19792,18 @@ func Xsqlite3DecOrHexToI64(tls *libc.TLS, z uintptr, pOut uintptr) int32 { /* sq bp := tls.Alloc(8) defer tls.Free(8) - if (int32(*(*int8)(unsafe.Pointer(z))) == '0') && - ((int32(*(*int8)(unsafe.Pointer(z + 1))) == 'x') || (int32(*(*int8)(unsafe.Pointer(z + 1))) == 'X')) { + if (int32(*(*uint8)(unsafe.Pointer(z))) == '0') && + ((int32(*(*uint8)(unsafe.Pointer(z + 1))) == 'x') || (int32(*(*uint8)(unsafe.Pointer(z + 1))) == 'X')) { *(*U64)(unsafe.Pointer(bp /* u */)) = uint64(0) var i int32 var k int32 - for i = 2; int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == '0'; i++ { + for i = 2; int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == '0'; i++ { } - for k = i; (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(k))))]) & 0x08) != 0; k++ { - *(*U64)(unsafe.Pointer(bp /* u */)) = ((*(*U64)(unsafe.Pointer(bp /* u */)) * uint64(16)) + U64(Xsqlite3HexToInt(tls, int32(*(*int8)(unsafe.Pointer(z + uintptr(k))))))) + for k = i; (int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z + uintptr(k))))]) & 0x08) != 0; k++ { + *(*U64)(unsafe.Pointer(bp /* u */)) = ((*(*U64)(unsafe.Pointer(bp /* u */)) * uint64(16)) + U64(Xsqlite3HexToInt(tls, int32(*(*uint8)(unsafe.Pointer(z + uintptr(k))))))) } libc.Xmemcpy(tls, pOut, bp /* &u */, uint32(8)) - if (int32(*(*int8)(unsafe.Pointer(z + uintptr(k)))) == 0) && ((k - i) <= 16) { + if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(k)))) == 0) && ((k - i) <= 16) { return 0 } return 2 @@ -19735,36 +19829,36 @@ func Xsqlite3GetInt32(tls *libc.TLS, zNum uintptr, pValue uintptr) int32 { /* sq var i int32 var c int32 var neg int32 = 0 - if int32(*(*int8)(unsafe.Pointer(zNum))) == '-' { + if int32(*(*uint8)(unsafe.Pointer(zNum))) == '-' { neg = 1 zNum++ - } else if int32(*(*int8)(unsafe.Pointer(zNum))) == '+' { + } else if int32(*(*uint8)(unsafe.Pointer(zNum))) == '+' { zNum++ - } else if ((int32(*(*int8)(unsafe.Pointer(zNum))) == '0') && - ((int32(*(*int8)(unsafe.Pointer(zNum + 1))) == 'x') || (int32(*(*int8)(unsafe.Pointer(zNum + 1))) == 'X'))) && - ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zNum + 2)))]) & 0x08) != 0) { + } else if ((int32(*(*uint8)(unsafe.Pointer(zNum))) == '0') && + ((int32(*(*uint8)(unsafe.Pointer(zNum + 1))) == 'x') || (int32(*(*uint8)(unsafe.Pointer(zNum + 1))) == 'X'))) && + ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zNum + 2)))]) & 0x08) != 0) { *(*U32)(unsafe.Pointer(bp /* u */)) = U32(0) zNum += uintptr(2) - for int32(*(*int8)(unsafe.Pointer(zNum))) == '0' { + for int32(*(*uint8)(unsafe.Pointer(zNum))) == '0' { zNum++ } - for i = 0; ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zNum + uintptr(i))))]) & 0x08) != 0) && (i < 8); i++ { - *(*U32)(unsafe.Pointer(bp /* u */)) = ((*(*U32)(unsafe.Pointer(bp /* u */)) * U32(16)) + U32(Xsqlite3HexToInt(tls, int32(*(*int8)(unsafe.Pointer(zNum + uintptr(i))))))) + for i = 0; ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zNum + uintptr(i))))]) & 0x08) != 0) && (i < 8); i++ { + *(*U32)(unsafe.Pointer(bp /* u */)) = ((*(*U32)(unsafe.Pointer(bp /* u */)) * U32(16)) + U32(Xsqlite3HexToInt(tls, int32(*(*uint8)(unsafe.Pointer(zNum + uintptr(i))))))) } - if ((*(*U32)(unsafe.Pointer(bp /* u */)) & 0x80000000) == U32(0)) && ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zNum + uintptr(i))))]) & 0x08) == 0) { + if ((*(*U32)(unsafe.Pointer(bp /* u */)) & 0x80000000) == U32(0)) && ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zNum + uintptr(i))))]) & 0x08) == 0) { libc.Xmemcpy(tls, pValue, bp /* &u */, uint32(4)) return 1 } else { return 0 } } - if !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zNum)))]) & 0x04) != 0) { + if !((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zNum)))]) & 0x04) != 0) { return 0 } - for int32(*(*int8)(unsafe.Pointer(zNum))) == '0' { + for int32(*(*uint8)(unsafe.Pointer(zNum))) == '0' { zNum++ } - for i = 0; ((i < 11) && ((libc.AssignInt32(&c, (int32(*(*int8)(unsafe.Pointer(zNum + uintptr(i)))) - '0'))) >= 0)) && (c <= 9); i++ { + for i = 0; ((i < 11) && ((libc.AssignInt32(&c, (int32(*(*uint8)(unsafe.Pointer(zNum + uintptr(i)))) - '0'))) >= 0)) && (c <= 9); i++ { v = ((v * int64(10)) + Sqlite_int64(c)) } @@ -19805,14 +19899,14 @@ func Xsqlite3Atoi(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:32552:20: */ func Xsqlite3GetUInt32(tls *libc.TLS, z uintptr, pI uintptr) int32 { /* sqlite3.c:32564:20: */ var v U64 = uint64(0) var i int32 - for i = 0; (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))]) & 0x04) != 0; i++ { - v = (((v * uint64(10)) + U64(*(*int8)(unsafe.Pointer(z + uintptr(i))))) - uint64('0')) + for i = 0; (int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z + uintptr(i))))]) & 0x04) != 0; i++ { + v = (((v * uint64(10)) + U64(*(*uint8)(unsafe.Pointer(z + uintptr(i))))) - uint64('0')) if v > uint64(4294967296) { *(*U32)(unsafe.Pointer(pI)) = U32(0) return 0 } } - if (i == 0) || (int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) != 0) { + if (i == 0) || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) != 0) { *(*U32)(unsafe.Pointer(pI)) = U32(0) return 0 } @@ -20182,9 +20276,9 @@ func Xsqlite3HexToBlob(tls *libc.TLS, db uintptr, z uintptr, n int32) uintptr { n-- if zBlob != 0 { for i = 0; i < n; i = i + (2) { - *(*int8)(unsafe.Pointer(zBlob + uintptr((i / 2)))) = (int8((int32(Xsqlite3HexToInt(tls, int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))))) << 4) | int32(Xsqlite3HexToInt(tls, int32(*(*int8)(unsafe.Pointer(z + uintptr((i + 1))))))))) + *(*uint8)(unsafe.Pointer(zBlob + uintptr((i / 2)))) = (uint8((int32(Xsqlite3HexToInt(tls, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))))) << 4) | int32(Xsqlite3HexToInt(tls, int32(*(*uint8)(unsafe.Pointer(z + uintptr((i + 1))))))))) } - *(*int8)(unsafe.Pointer(zBlob + uintptr((i / 2)))) = int8(0) + *(*uint8)(unsafe.Pointer(zBlob + uintptr((i / 2)))) = uint8(0) } return zBlob } @@ -20442,7 +20536,7 @@ func Xsqlite3VListAdd(tls *libc.TLS, db uintptr, pIn uintptr, zName uintptr, nNa *(*VList)(unsafe.Pointer(pIn + 1*4)) = (i + nInt) libc.Xmemcpy(tls, z, zName, uint32(nName)) - *(*int8)(unsafe.Pointer(z + uintptr(nName))) = int8(0) + *(*uint8)(unsafe.Pointer(z + uintptr(nName))) = uint8(0) return pIn } @@ -20478,7 +20572,7 @@ func Xsqlite3VListNameToNum(tls *libc.TLS, pIn uintptr, zName uintptr, nName int i = 2 for ok := true; ok; ok = (i < mx) { var z uintptr = (pIn + uintptr((i+2))*4) - if (libc.Xstrncmp(tls, z, zName, uint32(nName)) == 0) && (int32(*(*int8)(unsafe.Pointer(z + uintptr(nName)))) == 0) { + if (libc.Xstrncmp(tls, z, zName, uint32(nName)) == 0) && (int32(*(*uint8)(unsafe.Pointer(z + uintptr(nName)))) == 0) { return *(*VList)(unsafe.Pointer(pIn + uintptr(i)*4)) } i = i + (*(*VList)(unsafe.Pointer(pIn + uintptr((i+1))*4))) @@ -20538,7 +20632,7 @@ func Xsqlite3HashClear(tls *libc.TLS, pH uintptr) { /* sqlite3.c:33424:21: */ func strHash(tls *libc.TLS, z uintptr) uint32 { /* sqlite3.c:33444:21: */ var h uint32 = uint32(0) var c uint8 - for (int32(libc.AssignUint8(&c, uint8(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))))) != 0 { //OPTIMIZATION-IF-TRUE + for (int32(libc.AssignUint8(&c, uint8(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))))) != 0 { //OPTIMIZATION-IF-TRUE // Knuth multiplicative hashing. (Sorting & Searching, p. 510). // 0x9e3779b1 is 2654435761 which is the closest prime number to // (2**32)*golden_ratio, where golden_ratio = (sqrt(5) - 1)/2. @@ -21115,22 +21209,22 @@ var azName = [180]uintptr{ // Versions of the `xmknod' interface. type stat = struct { - Fst_dev X__dev_t - F__pad1 uint16 - _ [2]byte - F__st_ino X__ino_t - Fst_mode X__mode_t - Fst_nlink X__nlink_t - Fst_uid X__uid_t - Fst_gid X__gid_t - Fst_rdev X__dev_t - F__pad2 uint16 - _ [6]byte - Fst_size X__off64_t - Fst_blksize X__blksize_t - _ [4]byte - Fst_blocks X__blkcnt64_t - Fst_atim struct { + Fst_dev X__dev_t + F__pad1 uint16 + F__ccgo_pad1 [2]byte + F__st_ino X__ino_t + Fst_mode X__mode_t + Fst_nlink X__nlink_t + Fst_uid X__uid_t + Fst_gid X__gid_t + Fst_rdev X__dev_t + F__pad2 uint16 + F__ccgo_pad2 [6]byte + Fst_size X__off64_t + Fst_blksize X__blksize_t + F__ccgo_pad3 [4]byte + Fst_blocks X__blkcnt64_t + Fst_atim struct { Ftv_sec X__time_t Ftv_nsec X__syscall_slong_t } @@ -21146,21 +21240,21 @@ type stat = struct { } /* stat.h:38:1 */ type stat64 = struct { - Fst_dev X__dev_t - F__pad1 uint32 - F__st_ino X__ino_t - Fst_mode X__mode_t - Fst_nlink X__nlink_t - Fst_uid X__uid_t - Fst_gid X__gid_t - Fst_rdev X__dev_t - F__pad2 uint32 - _ [4]byte - Fst_size X__off64_t - Fst_blksize X__blksize_t - _ [4]byte - Fst_blocks X__blkcnt64_t - Fst_atim struct { + Fst_dev X__dev_t + F__pad1 uint32 + F__st_ino X__ino_t + Fst_mode X__mode_t + Fst_nlink X__nlink_t + Fst_uid X__uid_t + Fst_gid X__gid_t + Fst_rdev X__dev_t + F__pad2 uint32 + F__ccgo_pad1 [4]byte + Fst_size X__off64_t + Fst_blksize X__blksize_t + F__ccgo_pad2 [4]byte + Fst_blocks X__blkcnt64_t + Fst_atim struct { Ftv_sec X__time_t Ftv_nsec X__syscall_slong_t } @@ -21325,23 +21419,23 @@ type statx = struct { // <http://www.gnu.org/licenses/>. type flock = struct { - Fl_type int16 - Fl_whence int16 - _ [4]byte - Fl_start X__off64_t - Fl_len X__off64_t - Fl_pid X__pid_t - _ [4]byte + Fl_type int16 + Fl_whence int16 + F__ccgo_pad1 [4]byte + Fl_start X__off64_t + Fl_len X__off64_t + Fl_pid X__pid_t + F__ccgo_pad2 [4]byte } /* fcntl.h:28:1 */ type flock64 = struct { - Fl_type int16 - Fl_whence int16 - _ [4]byte - Fl_start X__off64_t - Fl_len X__off64_t - Fl_pid X__pid_t - _ [4]byte + Fl_type int16 + Fl_whence int16 + F__ccgo_pad1 [4]byte + Fl_start X__off64_t + Fl_len X__off64_t + Fl_pid X__pid_t + F__ccgo_pad2 [4]byte } /* fcntl.h:43:1 */ // Include generic Linux declarations. @@ -21569,7 +21663,7 @@ type f_owner_ex = struct { // File handle structure. type file_handle = struct { - _ [0]uint32 + F__ccgo_pad1 [0]uint32 Fhandle_bytes uint32 Fhandle_type int32 } /* fcntl-linux.h:350:1 */ @@ -21739,13 +21833,13 @@ type winsize = struct { } /* ioctl-types.h:27:1 */ type termio = struct { - Fc_iflag uint16 - Fc_oflag uint16 - Fc_cflag uint16 - Fc_lflag uint16 - Fc_line uint8 - Fc_cc [8]uint8 - _ [1]byte + Fc_iflag uint16 + Fc_oflag uint16 + Fc_cflag uint16 + Fc_lflag uint16 + Fc_line uint8 + Fc_cc [8]uint8 + F__ccgo_pad1 [1]byte } /* ioctl-types.h:36:1 */ // Copyright (C) 1991-2018 Free Software Foundation, Inc. @@ -22367,13 +22461,13 @@ type Error_t = int32 /* error_t.h:22:13 */ // Forward references type unixShm = struct { - FpShmNode uintptr - FpNext uintptr - FhasMutex U8 - Fid U8 - FsharedMask U16 - FexclMask U16 - _ [2]byte + FpShmNode uintptr + FpNext uintptr + FhasMutex U8 + Fid U8 + FsharedMask U16 + FexclMask U16 + F__ccgo_pad1 [2]byte } /* sqlite3.c:34057:9 */ // Try to determine if gethostuuid() is available based on standard @@ -22435,13 +22529,13 @@ type unixInodeInfo = struct { FnLock int32 FeFileLock uint8 FbProcessLock uint8 - _ [2]byte + F__ccgo_pad1 [2]byte FpUnused uintptr FnRef int32 FpShmNode uintptr FpNext uintptr FpPrev uintptr - _ [4]byte + F__ccgo_pad2 [4]byte } /* sqlite3.c:34057:9 */ // Shared memory instance @@ -22463,7 +22557,7 @@ type unixFile = struct { FpInode uintptr Fh int32 FeFileLock uint8 - _ [1]byte + F__ccgo_pad1 [1]byte FctrlFlags uint16 FlastErrno int32 FlockingContext uintptr @@ -22478,7 +22572,7 @@ type unixFile = struct { FpMapRegion uintptr FsectorSize int32 FdeviceCharacteristics int32 - _ [4]byte + F__ccgo_pad2 [4]byte } /* sqlite3.c:34078:9 */ // The unixFile structure is subclass of sqlite3_file specific to the unix @@ -24331,18 +24425,18 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql var ii int32 var fd int32 = -1 - // var zDirname [513]int8 at bp+8, 513 + // var zDirname [513]uint8 at bp+8, 513 Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+8 /* &zDirname[0] */, ts+2790 /* "%s" */, libc.VaList(bp, zFilename)) - for ii = int32(libc.Xstrlen(tls, bp+8 /* &zDirname[0] */)); (ii > 0) && (int32(*(*int8)(unsafe.Pointer(bp + 8 /* &zDirname[0] */ + uintptr(ii)))) != '/'); ii-- { + for ii = int32(libc.Xstrlen(tls, bp+8 /* &zDirname[0] */)); (ii > 0) && (int32(*(*uint8)(unsafe.Pointer(bp + 8 /* &zDirname[0] */ + uintptr(ii)))) != '/'); ii-- { } if ii > 0 { - *(*int8)(unsafe.Pointer(bp + 8 /* &zDirname[0] */ + uintptr(ii))) = int8(0) + *(*uint8)(unsafe.Pointer(bp + 8 /* &zDirname[0] */ + uintptr(ii))) = uint8(0) } else { - if int32(*(*int8)(unsafe.Pointer(bp + 8 /* &zDirname[0] */))) != '/' { - *(*int8)(unsafe.Pointer(bp + 8 /* &zDirname[0] */)) = int8('.') + if int32(*(*uint8)(unsafe.Pointer(bp + 8 /* &zDirname[0] */))) != '/' { + *(*uint8)(unsafe.Pointer(bp + 8 /* &zDirname[0] */)) = uint8('.') } - *(*int8)(unsafe.Pointer(bp + 8 /* &zDirname[0] */ + 1)) = int8(0) + *(*uint8)(unsafe.Pointer(bp + 8 /* &zDirname[0] */ + 1)) = uint8(0) } fd = robust_open(tls, bp+8 /* &zDirname[0] */, (O_RDONLY | O_BINARY), uint32(0)) if fd >= 0 { @@ -25281,10 +25375,10 @@ shmpage_out: if !(int32((*UnixShmNode)(unsafe.Pointer(pShmNode)).FnRegion) > iRegion) { goto __25 } - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = *(*uintptr)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(pShmNode)).FapRegion + uintptr(iRegion)*4)) + *(*uintptr)(unsafe.Pointer(pp)) = *(*uintptr)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(pShmNode)).FapRegion + uintptr(iRegion)*4)) goto __26 __25: - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) __26: ; if !(((*UnixShmNode)(unsafe.Pointer(pShmNode)).FisReadonly != 0) && (rc == SQLITE_OK)) { @@ -25761,7 +25855,9 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename if (ctrlFlags & UNIXFILE_NOLOCK) != 0 { pLockingStyle = uintptr(unsafe.Pointer(&nolockIoMethods)) } else { - pLockingStyle = (**(**func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 20 /* &.pAppData */))))(tls, zFilename, pNew) + pLockingStyle = (*(**struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData}))).f(tls, zFilename, pNew) } if pLockingStyle == uintptr(unsafe.Pointer(&posixIoMethods)) { @@ -25872,7 +25968,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 // It's odd to simulate an io-error here, but really this is just // using the io-error infrastructure to test that SQLite handles this // function failing. - *(*int8)(unsafe.Pointer(zBuf)) = int8(0) + *(*uint8)(unsafe.Pointer(zBuf)) = uint8(0) zDir = unixTempFileDir(tls) if zDir == uintptr(0) { @@ -25883,10 +25979,10 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U64(0))), bp+24 /* &r */) - *(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2)))) = int8(0) + *(*uint8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2)))) = uint8(0) Xsqlite3_snprintf(tls, nBuf, zBuf, ts+2891, /* "%s/etilqs_%llx%c" */ libc.VaList(bp, zDir, *(*U64)(unsafe.Pointer(bp + 24 /* r */)), 0)) - if (int32(*(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2))))) != 0) || ((libc.PostIncInt32(&iLimit, 1)) > 10) { + if (int32(*(*uint8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2))))) != 0) || ((libc.PostIncInt32(&iLimit, 1)) > 10) { return SQLITE_ERROR } } @@ -26003,7 +26099,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr *(*Uid_t)(unsafe.Pointer(pUid)) = Uid_t(0) *(*Gid_t)(unsafe.Pointer(pGid)) = Gid_t(0) if (flags & (SQLITE_OPEN_WAL | SQLITE_OPEN_MAIN_JOURNAL)) != 0 { - // var zDb [513]int8 at bp, 513 + // var zDb [513]uint8 at bp, 513 // Database file path var nDb int32 // Number of valid bytes in zDb @@ -26019,18 +26115,18 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // where NN is a decimal number. The NN naming schemes are // used by the test_multiplex.c module. nDb = (Xsqlite3Strlen30(tls, zPath) - 1) - for int32(*(*int8)(unsafe.Pointer(zPath + uintptr(nDb)))) != '-' { + for int32(*(*uint8)(unsafe.Pointer(zPath + uintptr(nDb)))) != '-' { // In normal operation, the journal file name will always contain // a '-' character. However in 8+3 filename mode, or if a corrupt // rollback journal specifies a super-journal with a goofy name, then // the '-' might be missing. - if (nDb == 0) || (int32(*(*int8)(unsafe.Pointer(zPath + uintptr(nDb)))) == '.') { + if (nDb == 0) || (int32(*(*uint8)(unsafe.Pointer(zPath + uintptr(nDb)))) == '.') { return SQLITE_OK } nDb-- } libc.Xmemcpy(tls, bp /* &zDb[0] */, zPath, uint32(nDb)) - *(*int8)(unsafe.Pointer(bp /* &zDb[0] */ + uintptr(nDb))) = int8(0) + *(*uint8)(unsafe.Pointer(bp /* &zDb[0] */ + uintptr(nDb))) = uint8(0) rc = getFileMode(tls, bp /* &zDb[0] */, pMode, pUid, pGid) } else if (flags & SQLITE_OPEN_DELETEONCLOSE) != 0 { @@ -26093,7 +26189,7 @@ func unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags i // If argument zPath is a NULL pointer, this function is required to open // a temporary file. Use this buffer to store the file name in. - // var zTmpname [514]int8 at bp, 514 + // var zTmpname [514]uint8 at bp, 514 var zName uintptr var pUnused uintptr @@ -26434,12 +26530,12 @@ func unixBackupDir(tls *libc.TLS, z uintptr, pJ uintptr) int32 { /* sqlite3.c:40 if j <= 0 { return 0 } - for i = (j - 1); (i > 0) && (int32(*(*int8)(unsafe.Pointer(z + uintptr((i - 1))))) != '/'); i-- { + for i = (j - 1); (i > 0) && (int32(*(*uint8)(unsafe.Pointer(z + uintptr((i - 1))))) != '/'); i-- { } if i == 0 { return 0 } - if ((int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == '.') && (i == (j - 2))) && (int32(*(*int8)(unsafe.Pointer(z + uintptr((i + 1))))) == '.') { + if ((int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == '.') && (i == (j - 2))) && (int32(*(*uint8)(unsafe.Pointer(z + uintptr((i + 1))))) == '.') { return 0 } *(*int32)(unsafe.Pointer(pJ)) = (i - 1) @@ -26460,58 +26556,58 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 var i int32 // var j int32 at bp+8, 4 - if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' { + if int32(*(*uint8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 3*12 + 4 /* &.pCurrent */))))(tls, zOut, (uint32(nOut-2))) == uintptr(0) { return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+2406 /* "getcwd" */, zPath, 40485) } iOff = Xsqlite3Strlen30(tls, zOut) - *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = int8('/') + *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = uint8('/') } if ((iOff + nPath) + 1) > nOut { // SQLite assumes that xFullPathname() nul-terminates the output buffer // even if it returns an error. - *(*int8)(unsafe.Pointer(zOut + uintptr(iOff))) = int8(0) + *(*uint8)(unsafe.Pointer(zOut + uintptr(iOff))) = uint8(0) return Xsqlite3CantopenError(tls, 40494) } Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+2790 /* "%s" */, libc.VaList(bp, zPath)) // Remove duplicate '/' characters. Except, two // at the beginning // of a pathname is allowed since this is important on windows. - for i = libc.AssignPtrInt32(bp+8 /* j */, 1); *(*int8)(unsafe.Pointer(zOut + uintptr(i))) != 0; i++ { - *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 8 /* j */)), 1)))) = *(*int8)(unsafe.Pointer(zOut + uintptr(i))) - for (int32(*(*int8)(unsafe.Pointer(zOut + uintptr(i)))) == '/') && (int32(*(*int8)(unsafe.Pointer(zOut + uintptr((i + 1))))) == '/') { + for i = libc.AssignPtrInt32(bp+8 /* j */, 1); *(*uint8)(unsafe.Pointer(zOut + uintptr(i))) != 0; i++ { + *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 8 /* j */)), 1)))) = *(*uint8)(unsafe.Pointer(zOut + uintptr(i))) + for (int32(*(*uint8)(unsafe.Pointer(zOut + uintptr(i)))) == '/') && (int32(*(*uint8)(unsafe.Pointer(zOut + uintptr((i + 1))))) == '/') { i++ } } - *(*int8)(unsafe.Pointer(zOut + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* j */))))) = int8(0) + *(*uint8)(unsafe.Pointer(zOut + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* j */))))) = uint8(0) - for i = libc.AssignPtrInt32(bp+8 /* j */, 0); *(*int8)(unsafe.Pointer(zOut + uintptr(i))) != 0; i++ { - if int32(*(*int8)(unsafe.Pointer(zOut + uintptr(i)))) == '/' { + for i = libc.AssignPtrInt32(bp+8 /* j */, 0); *(*uint8)(unsafe.Pointer(zOut + uintptr(i))) != 0; i++ { + if int32(*(*uint8)(unsafe.Pointer(zOut + uintptr(i)))) == '/' { // Skip over internal "/." directory components - if (int32(*(*int8)(unsafe.Pointer(zOut + uintptr((i + 1))))) == '.') && (int32(*(*int8)(unsafe.Pointer(zOut + uintptr((i + 2))))) == '/') { + if (int32(*(*uint8)(unsafe.Pointer(zOut + uintptr((i + 1))))) == '.') && (int32(*(*uint8)(unsafe.Pointer(zOut + uintptr((i + 2))))) == '/') { i = i + (1) continue } // If this is a "/.." directory component then back out the // previous term of the directory if it is something other than "..". - if (((int32(*(*int8)(unsafe.Pointer(zOut + uintptr((i + 1))))) == '.') && - (int32(*(*int8)(unsafe.Pointer(zOut + uintptr((i + 2))))) == '.')) && - (int32(*(*int8)(unsafe.Pointer(zOut + uintptr((i + 3))))) == '/')) && + if (((int32(*(*uint8)(unsafe.Pointer(zOut + uintptr((i + 1))))) == '.') && + (int32(*(*uint8)(unsafe.Pointer(zOut + uintptr((i + 2))))) == '.')) && + (int32(*(*uint8)(unsafe.Pointer(zOut + uintptr((i + 3))))) == '/')) && (unixBackupDir(tls, zOut, bp+8 /* &j */) != 0) { i = i + (2) continue } } if *(*int32)(unsafe.Pointer(bp + 8 /* j */)) >= 0 { - *(*int8)(unsafe.Pointer(zOut + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* j */))))) = *(*int8)(unsafe.Pointer(zOut + uintptr(i))) + *(*uint8)(unsafe.Pointer(zOut + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* j */))))) = *(*uint8)(unsafe.Pointer(zOut + uintptr(i))) } *(*int32)(unsafe.Pointer(bp + 8 /* j */))++ } if *(*int32)(unsafe.Pointer(bp + 8 /* j */)) == 0 { - *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 8 /* j */)), 1)))) = int8('/') + *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 8 /* j */)), 1)))) = uint8('/') } - *(*int8)(unsafe.Pointer(zOut + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* j */))))) = int8(0) + *(*uint8)(unsafe.Pointer(zOut + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* j */))))) = uint8(0) return SQLITE_OK } @@ -26570,9 +26666,9 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if nByte < 0 { rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+2577 /* "readlink" */, zIn, 40595) } else { - if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { + if int32(*(*uint8)(unsafe.Pointer(zDel))) != '/' { var n int32 - for n = Xsqlite3Strlen30(tls, zIn); (n > 0) && (int32(*(*int8)(unsafe.Pointer(zIn + uintptr((n - 1))))) != '/'); n-- { + for n = Xsqlite3Strlen30(tls, zIn); (n > 0) && (int32(*(*uint8)(unsafe.Pointer(zIn + uintptr((n - 1))))) != '/'); n-- { } if ((nByte + n) + 1) > nOut { rc = Xsqlite3CantopenError(tls, 40601) @@ -26582,7 +26678,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO nByte = nByte + (n) } } - *(*int8)(unsafe.Pointer(zDel + uintptr(nByte))) = int8(0) + *(*uint8)(unsafe.Pointer(zDel + uintptr(nByte))) = uint8(0) } } @@ -26686,7 +26782,9 @@ func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr x = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) uintptr }{libc.Xdlsym})) - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(&x)))(tls, p, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p, zSym) } func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:40681:13: */ @@ -27398,11 +27496,13 @@ func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags in var p uintptr = uintptr(0) var szName int32 if (flags & SQLITE_OPEN_MAIN_DB) == 0 { - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 24 /* &.xOpen */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName, pFd, flags, pOutFlags) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName, pFd, flags, pOutFlags) } libc.Xmemset(tls, pFile, 0, uint32(unsafe.Sizeof(MemStore{}))) szName = Xsqlite3Strlen30(tls, zName) - if (szName > 1) && (int32(*(*int8)(unsafe.Pointer(zName))) == '/') { + if (szName > 1) && (int32(*(*uint8)(unsafe.Pointer(zName))) == '/') { var i int32 var pVfsMutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_VFS1) Xsqlite3_mutex_enter(tls, pVfsMutex) @@ -27490,44 +27590,60 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z // Open the dynamic library located at zPath and return a handle. func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49147:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 40 /* &.xDlOpen */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) } // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49156:13: */ - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 44 /* &.xDlError */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49163:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 48 /* &.xDlSym */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlSym})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } // Close the dynamic library handle pHandle. func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49170:13: */ - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 52 /* &.xDlClose */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlClose})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) } // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49178:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 56 /* &.xRandomness */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxRandomness})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) } // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49186:12: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 60 /* &.xSleep */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxSleep})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49199:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 68 /* &.xGetLastError */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxGetLastError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49202:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 72 /* &.xCurrentTimeInt64 */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxCurrentTimeInt64})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) } // Translate a database connection pointer and schema name into a @@ -28274,7 +28390,9 @@ func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqli func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50041:13: */ if (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FbPurgeable != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 100 /* &.pcache2 */ + 32 /* &.xUnpin */))))(tls, (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, 0) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxUnpin})).f(tls, (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, 0) } } @@ -28309,13 +28427,15 @@ func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50072:20: */ Xsqlite3PCacheSetDefault(tls) } - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 100 /* &.pcache2 */ + 8 /* &.xInit */))))(tls, Xsqlite3Config.Fpcache2.FpArg) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxInit})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50082:21: */ if Xsqlite3Config.Fpcache2.FxShutdown != 0 { // IMPLEMENTATION-OF: R-26000-56589 The xShutdown() method may be NULL. - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 100 /* &.pcache2 */ + 12 /* &.xShutdown */))))(tls, Xsqlite3Config.Fpcache2.FpArg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShutdown})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } } @@ -28355,15 +28475,19 @@ func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int3 if (*PCache)(unsafe.Pointer(pCache)).FszPage != 0 { var pNew uintptr - pNew = (*(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 100 /* &.pcache2 */ + 16 /* &.xCreate */))))(tls, + pNew = (*struct { + f func(*libc.TLS, int32, int32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxCreate})).f(tls, szPage, (int32(uint32((*PCache)(unsafe.Pointer(pCache)).FszExtra) + (((uint32(unsafe.Sizeof(PgHdr{}))) + uint32(7)) & libc.Uint32FromInt32(libc.CplInt32(7))))), int32((*PCache)(unsafe.Pointer(pCache)).FbPurgeable)) if pNew == uintptr(0) { return SQLITE_NOMEM } - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 100 /* &.pcache2 */ + 20 /* &.xCachesize */))))(tls, pNew, numberOfCachePages(tls, pCache)) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxCachesize})).f(tls, pNew, numberOfCachePages(tls, pCache)) if (*PCache)(unsafe.Pointer(pCache)).FpCache != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 100 /* &.pcache2 */ + 44 /* &.xDestroy */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } (*PCache)(unsafe.Pointer(pCache)).FpCache = pNew (*PCache)(unsafe.Pointer(pCache)).FszPage = szPage @@ -28406,7 +28530,9 @@ func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag in // (createFlag==1 AND !(bPurgeable AND pDirty) eCreate = (createFlag & int32((*PCache)(unsafe.Pointer(pCache)).FeCreate)) - pRes = (*(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 100 /* &.pcache2 */ + 28 /* &.xFetch */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, pgno, eCreate) + pRes = (*struct { + f func(*libc.TLS, uintptr, uint32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxFetch})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, pgno, eCreate) return pRes } @@ -28446,14 +28572,18 @@ func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage if pPg != 0 { var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pCache + 36 /* &.xStress */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpStress, pPg) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PCache)(unsafe.Pointer(pCache)).FxStress})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpStress, pPg) if (rc != SQLITE_OK) && (rc != SQLITE_BUSY) { return rc } } } - *(*uintptr)(unsafe.Pointer(ppPage)) = (*(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 100 /* &.pcache2 */ + 28 /* &.xFetch */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, pgno, 2) + *(*uintptr)(unsafe.Pointer(ppPage)) = (*struct { + f func(*libc.TLS, uintptr, uint32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxFetch})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, pgno, 2) if *(*uintptr)(unsafe.Pointer(ppPage)) == uintptr(0) { return SQLITE_NOMEM } @@ -28531,7 +28661,9 @@ func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50349:21: */ pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) } (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum-- - (*(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 100 /* &.pcache2 */ + 32 /* &.xUnpin */))))(tls, (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, 1) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxUnpin})).f(tls, (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, 1) } // Make sure the page is marked as dirty. If it isn't dirty already, @@ -28594,7 +28726,9 @@ func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c: func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50433:21: */ var pCache uintptr = (*PgHdr)(unsafe.Pointer(p)).FpCache - (*(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 100 /* &.pcache2 */ + 36 /* &.xRekey */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, (*PgHdr)(unsafe.Pointer(p)).Fpgno, newPgno) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uint32, uint32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxRekey})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, (*PgHdr)(unsafe.Pointer(p)).Fpgno, newPgno) (*PgHdr)(unsafe.Pointer(p)).Fpgno = newPgno if ((int32((*PgHdr)(unsafe.Pointer(p)).Fflags) & PGHDR_DIRTY) != 0) && ((int32((*PgHdr)(unsafe.Pointer(p)).Fflags) & PGHDR_NEED_SYNC) != 0) { pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_FRONT)) @@ -28626,21 +28760,25 @@ func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlit } if (pgno == Pgno(0)) && ((*PCache)(unsafe.Pointer(pCache)).FnRefSum != 0) { var pPage1 uintptr - pPage1 = (*(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 100 /* &.pcache2 */ + 28 /* &.xFetch */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, uint32(1), 0) + pPage1 = (*struct { + f func(*libc.TLS, uintptr, uint32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxFetch})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, uint32(1), 0) if pPage1 != 0 { // Page 1 is always available in cache, because // pCache->nRefSum>0 libc.Xmemset(tls, (*Sqlite3_pcache_page)(unsafe.Pointer(pPage1)).FpBuf, 0, uint32((*PCache)(unsafe.Pointer(pCache)).FszPage)) pgno = Pgno(1) } } - (*(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 100 /* &.pcache2 */ + 40 /* &.xTruncate */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, (pgno + Pgno(1))) + (*struct { + f func(*libc.TLS, uintptr, uint32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxTruncate})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, (pgno + Pgno(1))) } } // Close a cache. func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50488:21: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 100 /* &.pcache2 */ + 44 /* &.xDestroy */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Discard the contents of the cache. @@ -28756,14 +28894,18 @@ func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:5 // Return the total number of pages in the cache. func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:50605:20: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 100 /* &.pcache2 */ + 24 /* &.xPagecount */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxPagecount})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Set the suggested cache-size value. func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:50622:21: */ (*PCache)(unsafe.Pointer(pCache)).FszCache = mxPage - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 100 /* &.pcache2 */ + 20 /* &.xCachesize */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxCachesize})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, numberOfCachePages(tls, pCache)) } @@ -28789,7 +28931,7 @@ func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { // Free up as much memory as possible from the page cache. func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50651:21: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 100 /* &.pcache2 */ + 48 /* &.xShrink */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShrink})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Return the size of the header added by this middleware layer @@ -30012,9 +30154,9 @@ type RowSetEntry = struct { // chunks are kept on a linked list so that they can be deallocated // when the RowSet is destroyed. type RowSetChunk = struct { - FpNextChunk uintptr - _ [4]byte - FaEntry [63]struct { + FpNextChunk uintptr + F__ccgo_pad1 [4]byte + FaEntry [63]struct { Fv I64 FpRight uintptr FpLeft uintptr @@ -30457,7 +30599,7 @@ type Wal1 = struct { FsyncHeader U8 FpadToSectorBoundary U8 FbShmUnreliable U8 - _ [1]byte + F__ccgo_pad1 [1]byte Fhdr WalIndexHdr FminFrame U32 FiReCksum U32 @@ -31381,7 +31523,7 @@ func write32bits(tls *libc.TLS, fd uintptr, offset I64, val U32) int32 { /* sqli bp := tls.Alloc(4) defer tls.Free(4) - // var ac [4]int8 at bp, 4 + // var ac [4]uint8 at bp, 4 Xsqlite3Put4byte(tls, bp /* ac */, val) return Xsqlite3OsWrite(tls, fd, bp /* &ac[0] */, 4, offset) @@ -31503,7 +31645,7 @@ func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) var u U32 // Unsigned loop counter // var aMagic [8]uint8 at bp+16, 8 // A buffer to hold the magic header - *(*int8)(unsafe.Pointer(zSuper)) = int8(0) + *(*uint8)(unsafe.Pointer(zSuper)) = uint8(0) if (((((((((SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3OsFileSize(tls, pJrnl, bp /* &szJ */)))) || (*(*I64)(unsafe.Pointer(bp /* szJ */)) < int64(16))) || @@ -31520,7 +31662,7 @@ func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) // See if the checksum matches the super-journal name for u = U32(0); u < *(*U32)(unsafe.Pointer(bp + 8 /* len */)); u++ { - *(*U32)(unsafe.Pointer(bp + 12 /* cksum */)) -= U32(*(*int8)(unsafe.Pointer(zSuper + uintptr(u)))) + *(*U32)(unsafe.Pointer(bp + 12 /* cksum */)) -= U32(*(*uint8)(unsafe.Pointer(zSuper + uintptr(u)))) } if *(*U32)(unsafe.Pointer(bp + 12 /* cksum */)) != 0 { // If the checksum doesn't add up, then one or more of the disk sectors @@ -31529,8 +31671,8 @@ func readSuperJournal(tls *libc.TLS, pJrnl uintptr, zSuper uintptr, nSuper U32) // super-journal filename. *(*U32)(unsafe.Pointer(bp + 8 /* len */)) = U32(0) } - *(*int8)(unsafe.Pointer(zSuper + uintptr(*(*U32)(unsafe.Pointer(bp + 8 /* len */))))) = int8(0) - *(*int8)(unsafe.Pointer(zSuper + uintptr((*(*U32)(unsafe.Pointer(bp + 8 /* len */)) + U32(1))))) = int8(0) + *(*uint8)(unsafe.Pointer(zSuper + uintptr(*(*U32)(unsafe.Pointer(bp + 8 /* len */))))) = uint8(0) + *(*uint8)(unsafe.Pointer(zSuper + uintptr((*(*U32)(unsafe.Pointer(bp + 8 /* len */)) + U32(1))))) = uint8(0) return SQLITE_OK } @@ -31612,7 +31754,7 @@ func zeroJournalHdr(tls *libc.TLS, pPager uintptr, doTruncate int32) int32 { /* return rc } -var zeroHdr = [28]int8{0: int8(0)} /* sqlite3.c:54042:25 */ +var zeroHdr = [28]uint8{0: uint8(0)} /* sqlite3.c:54042:25 */ // The journal file must be open when this routine is called. A journal // header (JOURNAL_HDR_SZ bytes) is written into the journal file at the @@ -31866,8 +32008,8 @@ func writeSuperJournal(tls *libc.TLS, pPager uintptr, zSuper uintptr) int32 { /* (*Pager)(unsafe.Pointer(pPager)).FsetSuper = U8(1) // Calculate the length in bytes and the checksum of zSuper - for nSuper = 0; *(*int8)(unsafe.Pointer(zSuper + uintptr(nSuper))) != 0; nSuper++ { - cksum = cksum + (U32(*(*int8)(unsafe.Pointer(zSuper + uintptr(nSuper))))) + for nSuper = 0; *(*uint8)(unsafe.Pointer(zSuper + uintptr(nSuper))) != 0; nSuper++ { + cksum = cksum + (U32(*(*uint8)(unsafe.Pointer(zSuper + uintptr(nSuper))))) } // If in full-sync mode, advance to the next disk sector before writing @@ -32529,7 +32671,7 @@ func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDo var pData uintptr pData = (*PgHdr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pPg */)))).FpData libc.Xmemcpy(tls, pData, aData, uint32((*Pager)(unsafe.Pointer(pPager)).FpageSize)) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pPager + 200 /* &.xReiniter */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pPg */))) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxReiniter})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pPg */))) // It used to be that sqlite3PcacheMakeClean(pPg) was called here. But // that call was dangerous and had no detectable benefit since the cache // is normally cleaned by sqlite3PcacheCleanAll() after rollback and so @@ -32538,7 +32680,7 @@ func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDo // If this was page 1, then restore the value of Pager.dbFileVers. // Do this before any decoding. if *(*Pgno)(unsafe.Pointer(bp /* pgno */)) == Pgno(1) { - libc.Xmemcpy(tls, (pPager + 104 /* &.dbFileVers */), ((pData) + 24), uint32(unsafe.Sizeof([16]int8{}))) + libc.Xmemcpy(tls, (pPager + 104 /* &.dbFileVers */), ((pData) + 24), uint32(unsafe.Sizeof([16]uint8{}))) } Xsqlite3PcacheRelease(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pPg */))) } @@ -32657,7 +32799,7 @@ __4: goto delsuper_out __5: ; - *(*int8)(unsafe.Pointer(zFree)) = libc.AssignPtrInt8(zFree+1, libc.AssignPtrInt8(zFree+2, libc.AssignPtrInt8(zFree+3, int8(0)))) + *(*uint8)(unsafe.Pointer(zFree)) = libc.AssignPtrUint8(zFree+1, libc.AssignPtrUint8(zFree+2, libc.AssignPtrUint8(zFree+3, uint8(0)))) zSuperJournal = (zFree + 4) zSuperPtr = (zSuperJournal + uintptr((*(*I64)(unsafe.Pointer(bp /* nSuperJournal */)) + int64(2)))) rc = Xsqlite3OsRead(tls, pSuper, zSuperJournal, int32(*(*I64)(unsafe.Pointer(bp /* nSuperJournal */))), int64(0)) @@ -32667,8 +32809,8 @@ __5: goto delsuper_out __6: ; - *(*int8)(unsafe.Pointer(zSuperJournal + uintptr(*(*I64)(unsafe.Pointer(bp /* nSuperJournal */))))) = int8(0) - *(*int8)(unsafe.Pointer(zSuperJournal + uintptr((*(*I64)(unsafe.Pointer(bp /* nSuperJournal */)) + int64(1))))) = int8(0) + *(*uint8)(unsafe.Pointer(zSuperJournal + uintptr(*(*I64)(unsafe.Pointer(bp /* nSuperJournal */))))) = uint8(0) + *(*uint8)(unsafe.Pointer(zSuperJournal + uintptr((*(*I64)(unsafe.Pointer(bp /* nSuperJournal */)) + int64(1))))) = uint8(0) zJournal = zSuperJournal __7: @@ -32703,7 +32845,7 @@ __11: __12: ; - c = (libc.Bool32((int32(*(*int8)(unsafe.Pointer(zSuperPtr))) != 0) && (libc.Xstrcmp(tls, zSuperPtr, zSuper) == 0))) + c = (libc.Bool32((int32(*(*uint8)(unsafe.Pointer(zSuperPtr))) != 0) && (libc.Xstrcmp(tls, zSuperPtr, zSuper) == 0))) if !(c != 0) { goto __13 } @@ -32936,7 +33078,7 @@ __1: // for pageSize. zSuper = (*Pager)(unsafe.Pointer(pPager)).FpTmpSpace rc = readSuperJournal(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd, zSuper, (uint32((*Sqlite3_vfs)(unsafe.Pointer((*Pager)(unsafe.Pointer(pPager)).FpVfs)).FmxPathname + 1))) - if !((rc == SQLITE_OK) && (*(*int8)(unsafe.Pointer(zSuper)) != 0)) { + if !((rc == SQLITE_OK) && (*(*uint8)(unsafe.Pointer(zSuper)) != 0)) { goto __2 } rc = Xsqlite3OsAccess(tls, pVfs, zSuper, SQLITE_ACCESS_EXISTS, bp+24 /* &res */) @@ -33132,11 +33274,11 @@ __24: if !(rc == SQLITE_OK) { goto __25 } - rc = pager_end_transaction(tls, pPager, (libc.Bool32(int32(*(*int8)(unsafe.Pointer(zSuper))) != 0)), 0) + rc = pager_end_transaction(tls, pPager, (libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zSuper))) != 0)), 0) __25: ; - if !(((rc == SQLITE_OK) && (*(*int8)(unsafe.Pointer(zSuper)) != 0)) && (*(*int32)(unsafe.Pointer(bp + 24 /* res */)) != 0)) { + if !(((rc == SQLITE_OK) && (*(*uint8)(unsafe.Pointer(zSuper)) != 0)) && (*(*int32)(unsafe.Pointer(bp + 24 /* res */)) != 0)) { goto __26 } // If there was a super-journal and this routine will return success, @@ -33210,10 +33352,10 @@ func readDbPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:55605:12: */ // 24..39 of the database are white noise. But the probability of // white noise equaling 16 bytes of 0xff is vanishingly small so // we should still be ok. - libc.Xmemset(tls, pPager+104 /* &.dbFileVers */, 0xff, uint32(unsafe.Sizeof([16]int8{}))) + libc.Xmemset(tls, pPager+104 /* &.dbFileVers */, 0xff, uint32(unsafe.Sizeof([16]uint8{}))) } else { var dbFileVers uintptr = (((*PgHdr)(unsafe.Pointer(pPg)).FpData) + 24) - libc.Xmemcpy(tls, (pPager + 104 /* &.dbFileVers */), dbFileVers, uint32(unsafe.Sizeof([16]int8{}))) + libc.Xmemcpy(tls, (pPager + 104 /* &.dbFileVers */), dbFileVers, uint32(unsafe.Sizeof([16]uint8{}))) } } @@ -33262,7 +33404,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3 } else { rc = readDbPage(tls, pPg) if rc == SQLITE_OK { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pPager + 200 /* &.xReiniter */))))(tls, pPg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxReiniter})).f(tls, pPg) } Xsqlite3PagerUnrefNotNull(tls, pPg) } @@ -33994,7 +34136,9 @@ func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { / // may be invoked during, according to the comment above // sqlite3PagerSetBusyhandler(). - for ok := true; ok; ok = ((rc == SQLITE_BUSY) && ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pPager + 176 /* &.xBusyHandler */))))(tls, (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg) != 0)) { + for ok := true; ok; ok = ((rc == SQLITE_BUSY) && ((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxBusyHandler})).f(tls, (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg) != 0)) { rc = pagerLockDb(tls, pPager, locktype) } return rc @@ -34453,7 +34597,7 @@ func pager_write_pagelist(tls *libc.TLS, pPager uintptr, pList uintptr) int32 { // the value now stored in the database file. If writing this // page caused the database file to grow, update dbFileSize. if pgno == Pgno(1) { - libc.Xmemcpy(tls, (pPager + 104 /* &.dbFileVers */), (pData + 24), uint32(unsafe.Sizeof([16]int8{}))) + libc.Xmemcpy(tls, (pPager + 104 /* &.dbFileVers */), (pData + 24), uint32(unsafe.Sizeof([16]uint8{}))) } if pgno > (*Pager)(unsafe.Pointer(pPager)).FdbFileSize { (*Pager)(unsafe.Pointer(pPager)).FdbFileSize = pgno @@ -34720,7 +34864,7 @@ func Xsqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename u goto __1 } memDb = 1 - if !((zFilename != 0) && (*(*int8)(unsafe.Pointer(zFilename)) != 0)) { + if !((zFilename != 0) && (*(*uint8)(unsafe.Pointer(zFilename)) != 0)) { goto __2 } zPathname = Xsqlite3DbStrDup(tls, uintptr(0), zFilename) @@ -34740,7 +34884,7 @@ __1: // Compute and store the full pathname in an allocated buffer pointed // to by zPathname, length nPathname. Or, if this is a temporary file, // leave both nPathname and zPathname set to 0. - if !((zFilename != 0) && (*(*int8)(unsafe.Pointer(zFilename)) != 0)) { + if !((zFilename != 0) && (*(*uint8)(unsafe.Pointer(zFilename)) != 0)) { goto __4 } nPathname = ((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FmxPathname + 1) @@ -34751,7 +34895,7 @@ __1: return SQLITE_NOMEM __5: ; - *(*int8)(unsafe.Pointer(zPathname)) = int8(0) // Make sure initialized even if FullPathname() fails + *(*uint8)(unsafe.Pointer(zPathname)) = uint8(0) // Make sure initialized even if FullPathname() fails rc = Xsqlite3OsFullPathname(tls, pVfs, zFilename, nPathname, zPathname) if !(rc != SQLITE_OK) { goto __6 @@ -34775,7 +34919,7 @@ __6: nPathname = Xsqlite3Strlen30(tls, zPathname) z = libc.AssignUintptr(&zUri, (zFilename + uintptr((Xsqlite3Strlen30(tls, zFilename) + 1)))) __10: - if !(*(*int8)(unsafe.Pointer(z)) != 0) { + if !(*(*uint8)(unsafe.Pointer(z)) != 0) { goto __11 } z += (uintptr(libc.Xstrlen(tls, z) + Size_t(1))) @@ -34935,7 +35079,7 @@ __22: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FvfsFlags = U32(vfsFlags) // Open the pager file. - if !((zFilename != 0) && (*(*int8)(unsafe.Pointer(zFilename)) != 0)) { + if !((zFilename != 0) && (*(*uint8)(unsafe.Pointer(zFilename)) != 0)) { goto __23 } *(*int32)(unsafe.Pointer(bp + 4 /* fout */)) = 0 // VFS flags returned by xOpen() @@ -35114,7 +35258,7 @@ __37: // xOpen. func Xsqlite3_database_file_object(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:57668:25: */ var pPager uintptr - for (((int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0) || (int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0)) || (int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0)) || (int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0) { + for (((int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0) || (int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0)) || (int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0)) || (int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0) { zName-- } pPager = *(*uintptr)(unsafe.Pointer(((zName - uintptr(4)) - uintptr(uint32(unsafe.Sizeof(uintptr(0))))))) @@ -35287,7 +35431,7 @@ func Xsqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) int32 { /* sqlite3.c // There is a vanishingly small chance that a change will not be // detected. The chance of an undetected change is so small that // it can be neglected. - // var dbFileVers [16]int8 at bp+12, 16 + // var dbFileVers [16]uint8 at bp+12, 16 // var bHotJournal int32 at bp, 4 rc = SQLITE_OK // Return code @@ -35456,7 +35600,7 @@ __5: goto __16 } - rc = Xsqlite3OsRead(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, bp+12 /* &dbFileVers */, int32(unsafe.Sizeof([16]int8{})), int64(24)) + rc = Xsqlite3OsRead(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, bp+12 /* &dbFileVers */, int32(unsafe.Sizeof([16]uint8{})), int64(24)) if !(rc != SQLITE_OK) { goto __17 } @@ -35466,11 +35610,11 @@ __5: goto failed __18: ; - libc.Xmemset(tls, bp+12 /* &dbFileVers[0] */, 0, uint32(unsafe.Sizeof([16]int8{}))) + libc.Xmemset(tls, bp+12 /* &dbFileVers[0] */, 0, uint32(unsafe.Sizeof([16]uint8{}))) __17: ; - if !(libc.Xmemcmp(tls, pPager+104 /* &.dbFileVers */, bp+12 /* &dbFileVers[0] */, uint32(unsafe.Sizeof([16]int8{}))) != 0) { + if !(libc.Xmemcmp(tls, pPager+104 /* &.dbFileVers */, bp+12 /* &dbFileVers[0] */, uint32(unsafe.Sizeof([16]uint8{}))) != 0) { goto __19 } pager_reset(tls, pPager) @@ -35797,7 +35941,9 @@ func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flag // Dispatch all page fetch requests to the appropriate getter method. func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58297:20: */ - return (*(*func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32)(unsafe.Pointer((pPager + 204 /* &.xGet */))))(tls, pPager, pgno, ppPage, flags) + return (*struct { + f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxGet})).f(tls, pPager, pgno, ppPage, flags) } // Acquire a page if it is already in the in-memory cache. Do @@ -36353,7 +36499,7 @@ func pager_incr_changecounter(tls *libc.TLS, pPager uintptr, isDirectMode int32) // next time a read transaction is opened the cache will be // flushed (as the change-counter values will not match). var pCopy uintptr = ((zBuf) + 24) - libc.Xmemcpy(tls, (pPager + 104 /* &.dbFileVers */), pCopy, uint32(unsafe.Sizeof([16]int8{}))) + libc.Xmemcpy(tls, (pPager + 104 /* &.dbFileVers */), pCopy, uint32(unsafe.Sizeof([16]uint8{}))) (*Pager)(unsafe.Pointer(pPager)).FchangeCountDone = U8(1) } } else { @@ -36918,7 +37064,7 @@ func Xsqlite3PagerFilename(tls *libc.TLS, pPager uintptr, nullIfMemDb int32) uin return (*Pager)(unsafe.Pointer(pPager)).FzFilename } -var zFake = [8]int8{int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:59636:21 */ +var zFake = [8]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* sqlite3.c:59636:21 */ // Return the VFS structure for the pager. func Xsqlite3PagerVfs(tls *libc.TLS, pPager uintptr) uintptr { /* sqlite3.c:59643:28: */ @@ -38135,13 +38281,13 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt var nByte Sqlite3_int64 = (Sqlite3_int64(uint32(unsafe.Sizeof(uintptr(0))) * (uint32(iPage + 1)))) var apNew uintptr libc.AtomicStoreUintptr(&apNew, uintptr(Xsqlite3Realloc(tls, (*Wal)(unsafe.Pointer(pWal)).FapWiData, uint64(nByte)))) - if !(libc.AtomicLoadUintptr(&apNew) != 0) { - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&ppPage))) = uintptr(0) + if !(apNew != 0) { + *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) return SQLITE_NOMEM } - libc.Xmemset(tls, (libc.AtomicLoadUintptr(&apNew) + uintptr((*Wal)(unsafe.Pointer(pWal)).FnWiData)*4), 0, + libc.Xmemset(tls, (apNew + uintptr((*Wal)(unsafe.Pointer(pWal)).FnWiData)*4), 0, (uint32(unsafe.Sizeof(uintptr(0))) * (uint32((iPage + 1) - (*Wal)(unsafe.Pointer(pWal)).FnWiData)))) - (*Wal)(unsafe.Pointer(pWal)).FapWiData = libc.AtomicLoadUintptr(&apNew) + (*Wal)(unsafe.Pointer(pWal)).FapWiData = apNew (*Wal)(unsafe.Pointer(pWal)).FnWiData = (iPage + 1) } @@ -38168,14 +38314,14 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt } } - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&ppPage))) = *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*4)) + *(*uintptr)(unsafe.Pointer(ppPage)) = *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*4)) return rc } func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:60962:12: */ - if ((*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage) || ((libc.AssignPtrUintptr(libc.AtomicLoadUintptr(&ppPage), *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*4)))) == uintptr(0)) { - return walIndexPageRealloc(tls, pWal, iPage, libc.AtomicLoadUintptr(&ppPage)) + if ((*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage) || ((libc.AssignPtrUintptr(ppPage, *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*4)))) == uintptr(0)) { + return walIndexPageRealloc(tls, pWal, iPage, ppPage) } return SQLITE_OK } @@ -38260,9 +38406,9 @@ func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61077:28: */ (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion = U32(WALINDEX_MAX_VERSION) walChecksumBytes(tls, 1, (pWal + 52 /* &.hdr */), nCksum, uintptr(0), pWal+52 /* &.hdr */ +40 /* &.aCksum */) // Possible TSAN false-positive. See tag-20200519-1 - libc.Xmemcpy(tls, (libc.AtomicLoadUintptr(&aHdr) + 1*48), (pWal + 52 /* &.hdr */), uint32(unsafe.Sizeof(WalIndexHdr{}))) + libc.Xmemcpy(tls, (aHdr + 1*48), (pWal + 52 /* &.hdr */), uint32(unsafe.Sizeof(WalIndexHdr{}))) walShmBarrier(tls, pWal) - libc.Xmemcpy(tls, (libc.AtomicLoadUintptr(&aHdr)), (pWal + 52 /* &.hdr */), uint32(unsafe.Sizeof(WalIndexHdr{}))) + libc.Xmemcpy(tls, (aHdr), (pWal + 52 /* &.hdr */), uint32(unsafe.Sizeof(WalIndexHdr{}))) } // This function encodes a single frame header and writes it to a buffer @@ -38824,9 +38970,9 @@ finished: // currently holding locks that exclude all other writers and // checkpointers. Then set the values of read-mark slots 1 through N. libc.AtomicStoreUintptr(&pInfo, uintptr(walCkptInfo(tls, pWal))) - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill = U32(0) - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */))) = U32(0) + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill = U32(0) + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */))) = U32(0) i = 1 __22: if !(i < (SQLITE_SHM_NLOCK - 3)) { @@ -38839,10 +38985,10 @@ __22: if !((i == 1) && ((*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0)) { goto __27 } - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame goto __28 __27: - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4)) = READMARK_NOT_USED + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4)) = READMARK_NOT_USED __28: ; walUnlockExclusive(tls, pWal, (3 + (i)), 1) @@ -39232,7 +39378,9 @@ func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int // lock is successfully obtained or the busy-handler returns 0. func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:62195:12: */ var rc int32 - for ok := true; ok; ok = (((xBusy != 0) && (rc == SQLITE_BUSY)) && ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&xBusy)))(tls, pBusyArg) != 0)) { + for ok := true; ok; ok = (((xBusy != 0) && (rc == SQLITE_BUSY)) && ((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xBusy})).f(tls, pBusyArg) != 0)) { rc = walLockExclusive(tls, pWal, lockIdx, n) } return rc @@ -39272,11 +39420,11 @@ func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62240: Xsqlite3Put4byte(tls, (aSalt), (U32(1) + Xsqlite3Get4byte(tls, (aSalt)))) libc.Xmemcpy(tls, ((pWal + 52 /* &.hdr */ + 32 /* &.aSalt */) + 1*4), bp /* &salt1 */, uint32(4)) walIndexWriteHdr(tls, pWal) - libc.AtomicStoreNInt32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), int32(0), 0) - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted = U32(0) - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + 1*4)) = U32(0) + libc.AtomicStoreNInt32((pInfo /* &.nBackfill */), int32(0), 0) + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted = U32(0) + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */) + 1*4)) = U32(0) for i = 2; i < (SQLITE_SHM_NLOCK - 3); i++ { - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4)) = READMARK_NOT_USED + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4)) = READMARK_NOT_USED } } @@ -39344,7 +39492,7 @@ func walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy u szPage = walPagesize(tls, pWal) libc.AtomicStoreUintptr(&pInfo, uintptr(walCkptInfo(tls, pWal))) - if !((*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill < (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame) { + if !((*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill < (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame) { goto __1 } @@ -39362,7 +39510,7 @@ __2: if !(i < (SQLITE_SHM_NLOCK - 3)) { goto __4 } - y = U32(libc.AtomicLoadNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), 0)) + y = U32(libc.AtomicLoadNUint32(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4), 0)) if !(mxSafeFrame > y) { goto __5 } @@ -39377,7 +39525,7 @@ __2: } return READMARK_NOT_USED }() - libc.AtomicStoreNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(iMark), 0) + libc.AtomicStoreNUint32(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(iMark), 0) walUnlockExclusive(tls, pWal, (3 + (i)), 1) goto __7 __6: @@ -39404,10 +39552,10 @@ __4: ; // Allocate the iterator - if !((*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill < mxSafeFrame) { + if !((*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill < mxSafeFrame) { goto __10 } - rc = walIteratorInit(tls, pWal, (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill, bp /* &pIter */) + rc = walIteratorInit(tls, pWal, (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill, bp /* &pIter */) __10: ; @@ -39416,9 +39564,9 @@ __10: ((libc.AssignInt32(&rc, walBusyLock(tls, pWal, xBusy, pBusyArg, (3+(0)), 1))) == SQLITE_OK)) { goto __11 } - nBackfill = (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill + nBackfill = (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted = mxSafeFrame + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted = mxSafeFrame // Sync the WAL to disk rc = Xsqlite3OsSync(tls, (*Wal)(unsafe.Pointer(pWal)).FpWalFd, (((sync_flags) >> 2) & 0x03)) @@ -39520,7 +39668,7 @@ __23: if !(rc == SQLITE_OK) { goto __25 } - libc.AtomicStoreNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), uint32(mxSafeFrame), 0) + libc.AtomicStoreNUint32((pInfo /* &.nBackfill */), uint32(mxSafeFrame), 0) __25: ; __22: @@ -39550,7 +39698,7 @@ __1: goto __27 } - if !((*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill < (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame) { + if !((*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill < (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame) { goto __28 } rc = SQLITE_BUSY @@ -39723,9 +39871,9 @@ func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sq // shared among multiple processes and not all mutex implementions work // reliably in that environment. libc.AtomicStoreUintptr(&aHdr, uintptr(walIndexHdr(tls, pWal))) - libc.Xmemcpy(tls, bp /* &h1 */, (libc.AtomicLoadUintptr(&aHdr)), uint32(unsafe.Sizeof(WalIndexHdr{}))) // Possible TSAN false-positive + libc.Xmemcpy(tls, bp /* &h1 */, (aHdr), uint32(unsafe.Sizeof(WalIndexHdr{}))) // Possible TSAN false-positive walShmBarrier(tls, pWal) - libc.Xmemcpy(tls, bp+48 /* &h2 */, (libc.AtomicLoadUintptr(&aHdr) + 1*48), uint32(unsafe.Sizeof(WalIndexHdr{}))) + libc.Xmemcpy(tls, bp+48 /* &h2 */, (aHdr + 1*48), uint32(unsafe.Sizeof(WalIndexHdr{}))) if (libc.Xmemcmp(tls, bp /* &h1 */, bp+48 /* &h2 */, uint32(unsafe.Sizeof(WalIndexHdr{}))) != 0) { return 1 // Dirty read @@ -39802,7 +39950,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // works, but may fail if the wal-index header is corrupt or currently // being modified by another thread or process. badHdr = func() int32 { - if libc.AtomicLoadPUintptr(bp /* page0 */) != 0 { + if *(*uintptr)(unsafe.Pointer(bp /* page0 */)) != 0 { return walIndexTryHdr(tls, pWal, pChanged) } return 1 @@ -40228,7 +40376,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 } libc.AtomicStoreUintptr(&pInfo, uintptr(walCkptInfo(tls, pWal))) - if (!(useWal != 0) && (U32(libc.AtomicLoadNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), 0)) == (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame)) && + if (!(useWal != 0) && (U32(libc.AtomicLoadNUint32((pInfo /* &.nBackfill */), 0)) == (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame)) && (((*Wal)(unsafe.Pointer(pWal)).FpSnapshot == uintptr(0)) || ((*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame == U32(0))) { // The WAL has been completely backfilled (or it is empty). // and can be safely ignored. @@ -40269,7 +40417,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 mxFrame = (*WalIndexHdr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FpSnapshot)).FmxFrame } for i = 1; i < (SQLITE_SHM_NLOCK - 3); i++ { - var thisMark U32 = U32(libc.AtomicLoadNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), 0)) + var thisMark U32 = U32(libc.AtomicLoadNUint32(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4), 0)) if (mxReadMark <= thisMark) && (thisMark <= mxFrame) { mxReadMark = thisMark @@ -40281,7 +40429,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 for i = 1; i < (SQLITE_SHM_NLOCK - 3); i++ { rc = walLockExclusive(tls, pWal, (3 + (i)), 1) if rc == SQLITE_OK { - libc.AtomicStoreNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(mxFrame), 0) + libc.AtomicStoreNUint32(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(mxFrame), 0) mxReadMark = mxFrame mxI = i walUnlockExclusive(tls, pWal, (3 + (i)), 1) @@ -40339,9 +40487,9 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 // that it can read version A from the database file. However, since // we can guarantee that the checkpointer that set nBackfill could not // see any pages past pWal->hdr.mxFrame, this problem does not come up. - (*Wal)(unsafe.Pointer(pWal)).FminFrame = (U32(libc.AtomicLoadNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), 0) + 1)) + (*Wal)(unsafe.Pointer(pWal)).FminFrame = (U32(libc.AtomicLoadNUint32((pInfo /* &.nBackfill */), 0) + 1)) walShmBarrier(tls, pWal) - if (U32(libc.AtomicLoadNUint32(((libc.AtomicLoadUintptr(&pInfo)+4 /* &.aReadMark */)+uintptr(mxI)*4), 0)) != mxReadMark) || + if (U32(libc.AtomicLoadNUint32(((pInfo+4 /* &.aReadMark */)+uintptr(mxI)*4), 0)) != mxReadMark) || (libc.Xmemcmp(tls, walIndexHdr(tls, pWal), (pWal+52 /* &.hdr */), uint32(unsafe.Sizeof(WalIndexHdr{}))) != 0) { walUnlockShared(tls, pWal, (3 + (mxI))) return -1 @@ -40389,8 +40537,8 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. if (pBuf1 == uintptr(0)) || (pBuf2 == uintptr(0)) { rc = SQLITE_NOMEM } else { - var i U32 = (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted - for i = (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted; i > U32(libc.AtomicLoadNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), 0)); i-- { + var i U32 = (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted + for i = (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted; i > U32(libc.AtomicLoadNUint32((pInfo /* &.nBackfill */), 0)); i-- { // var sLoc WalHashLoc at bp+8, 12 // Hash table location var pgno U32 // Page number in db file @@ -40417,7 +40565,7 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. } } - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted = (i - U32(1)) + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted = (i - U32(1)) } } @@ -40497,7 +40645,7 @@ func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintp // with *pSnapshot and set *pChanged as appropriate for opening the // snapshot. if !(libc.Xmemcmp(tls, pSnapshot+32 /* &.aSalt */, pWal+52 /* &.hdr */ +32 /* &.aSalt */, uint32(unsafe.Sizeof([2]U32{}))) != 0) && - ((*WalIndexHdr)(unsafe.Pointer(pSnapshot)).FmxFrame >= (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted) { + ((*WalIndexHdr)(unsafe.Pointer(pSnapshot)).FmxFrame >= (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted) { libc.Xmemcpy(tls, (pWal + 52 /* &.hdr */), pSnapshot, uint32(unsafe.Sizeof(WalIndexHdr{}))) *(*int32)(unsafe.Pointer(pChanged)) = bChanged @@ -40736,7 +40884,9 @@ func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt // page 1 is never written to the log until the transaction is // committed. As a result, the call to xUndo may not fail. - rc = (*(*func(*libc.TLS, uintptr, Pgno) int32)(unsafe.Pointer(&xUndo)))(tls, pUndoCtx, walFramePgno(tls, pWal, iFrame)) + rc = (*struct { + f func(*libc.TLS, uintptr, Pgno) int32 + })(unsafe.Pointer(&struct{ uintptr }{xUndo})).f(tls, pUndoCtx, walFramePgno(tls, pWal, iFrame)) } if iMax != (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame { walCleanupHash(tls, pWal) @@ -40802,7 +40952,7 @@ func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63690:12: * if int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) == 0 { var pInfo uintptr = walCkptInfo(tls, pWal) - if (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill > U32(0) { + if (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill > U32(0) { // var salt1 U32 at bp, 4 Xsqlite3_randomness(tls, 4, bp /* &salt1 */) @@ -41712,7 +41862,7 @@ type MemPage1 = struct { FchildPtrSize U8 Fmax1bytePayload U8 FnOverflow U8 - _ [1]byte + F__ccgo_pad1 [1]byte FmaxLocal U16 FminLocal U16 FcellOffset U16 @@ -41976,21 +42126,21 @@ type MemPage1 = struct { // Forward declarations type MemPage = MemPage1 /* sqlite3.c:64658:24 */ type BtLock1 = struct { - FpBtree uintptr - FiTable Pgno - FeLock U8 - _ [3]byte - FpNext uintptr + FpBtree uintptr + FiTable Pgno + FeLock U8 + F__ccgo_pad1 [3]byte + FpNext uintptr } /* sqlite3.c:1331:9 */ type BtLock = BtLock1 /* sqlite3.c:64659:23 */ type CellInfo1 = struct { - FnKey I64 - FpPayload uintptr - FnPayload U32 - FnLocal U16 - FnSize U16 - _ [4]byte + FnKey I64 + FpPayload uintptr + FnPayload U32 + FnLocal U16 + FnSize U16 + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ type CellInfo = CellInfo1 /* sqlite3.c:64660:25 */ @@ -42396,7 +42546,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:65443: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3142 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ +var zMagicHeader = *(*[16]uint8)(unsafe.Pointer(ts + 3142 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -43069,7 +43219,7 @@ __2: return __3: ; - if !(int32(*(*int8)(unsafe.Pointer((Xsqlite3PagerGetExtra(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))))))) != 0) { + if !(int32(*(*uint8)(unsafe.Pointer((Xsqlite3PagerGetExtra(tls, *(*uintptr)(unsafe.Pointer(bp /* pDbPage */))))))) != 0) { goto __4 } // The first byte of the extra data is the MemPage.isInit byte. @@ -43327,7 +43477,9 @@ func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo u } func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:66752:13: */ - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 80 /* &.xParseCell */))))(tls, pPage, ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCell))))))))))), pInfo) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCell))))))))))), pInfo) } // The following routines are implementations of the MemPage.xCellSize @@ -43408,7 +43560,9 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, return } - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 80 /* &.xParseCell */))))(tls, pPage, pCell, bp /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp /* &info */)).FnPayload { var ovfl Pgno if (Uptr(((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd)) >= Uptr((pCell))) && (Uptr(((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd)) < Uptr((pCell + uintptr((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnLocal)))) { @@ -43591,7 +43745,9 @@ __18: __21: ; - size = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pPage + 76 /* &.xCellSize */))))(tls, pPage, (src + uintptr(pc)))) + size = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, (src + uintptr(pc)))) cbrk = cbrk - (size) if !((cbrk < iCellStart) || ((pc + size) > usableSize)) { goto __22 @@ -44081,7 +44237,9 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:67431 if (pc < iCellFirst) || (pc > iCellLast) { return Xsqlite3CorruptError(tls, 67452) } - sz = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pPage + 76 /* &.xCellSize */))))(tls, pPage, (data + uintptr(pc)))) + sz = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, (data + uintptr(pc)))) if (pc + sz) > usableSize { return Xsqlite3CorruptError(tls, 67457) @@ -44147,7 +44305,7 @@ func zeroPage(tls *libc.TLS, pPage uintptr, flags int32) { /* sqlite3.c:67525:13 if (int32((*BtShared)(unsafe.Pointer(pBt)).FbtsFlags) & BTS_FAST_SECURE) != 0 { libc.Xmemset(tls, (data + uintptr(hdr)), 0, ((*BtShared)(unsafe.Pointer(pBt)).FusableSize - U32(hdr))) } - *(*uint8)(unsafe.Pointer(data + uintptr(hdr))) = uint8(int8(flags)) + *(*uint8)(unsafe.Pointer(data + uintptr(hdr))) = uint8(uint8(flags)) first = (U16(int32(hdr) + (func() int32 { if (flags & PTF_LEAF) == 0 { return 12 @@ -44435,7 +44593,7 @@ func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt pBt = uintptr(0) mutexOpen = uintptr(0) rc = SQLITE_OK - isTempDb = (libc.Bool32((zFilename == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zFilename))) == 0))) + isTempDb = (libc.Bool32((zFilename == uintptr(0)) || (int32(*(*uint8)(unsafe.Pointer(zFilename))) == 0))) isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+3158 /* ":memory:" */) == 0)) || ((isTempDb != 0) && (Xsqlite3TempInMemory(tls, db) != 0))) || ((vfsFlags & SQLITE_OPEN_MEMORY) != 0))) @@ -44919,7 +45077,7 @@ func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68190:20: Xsqlite3PagerClose(tls, (*BtShared)(unsafe.Pointer(pBt)).FpPager, (*Btree)(unsafe.Pointer(p)).Fdb) if ((*BtShared)(unsafe.Pointer(pBt)).FxFreeSchema != 0) && ((*BtShared)(unsafe.Pointer(pBt)).FpSchema != 0) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pBt + 56 /* &.xFreeSchema */))))(tls, (*BtShared)(unsafe.Pointer(pBt)).FpSchema) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*BtShared)(unsafe.Pointer(pBt)).FxFreeSchema})).f(tls, (*BtShared)(unsafe.Pointer(pBt)).FpSchema) } Xsqlite3DbFree(tls, uintptr(0), (*BtShared)(unsafe.Pointer(pBt)).FpSchema) freeTempSpace(tls, pBt) @@ -45873,7 +46031,9 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType if int32(eType) == PTRMAP_OVERFLOW1 { // var info CellInfo at bp, 24 - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 80 /* &.xParseCell */))))(tls, pPage, pCell, bp /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp /* &info */)).FnPayload { if (pCell + uintptr((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnSize)) > ((*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize)) { return Xsqlite3CorruptError(tls, 69109) @@ -47679,7 +47839,9 @@ __35: // Size of the pCell cell in bytes // single byte varint and the record fits entirely on the main // b-tree page. - c = (*(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(&xRecordCompare)))(tls, nCell, (pCell + 1), pIdxKey) + c = (*struct { + f func(*libc.TLS, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xRecordCompare})).f(tls, nCell, (pCell + 1), pIdxKey) goto __39 __38: if !(!((int32(*(*U8)(unsafe.Pointer(pCell + 1))) & 0x80) != 0) && @@ -47689,12 +47851,16 @@ __38: // The record-size field is a 2 byte varint and the record // fits entirely on the main b-tree page. - c = (*(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(&xRecordCompare)))(tls, nCell, (pCell + 2), pIdxKey) + c = (*struct { + f func(*libc.TLS, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xRecordCompare})).f(tls, nCell, (pCell + 2), pIdxKey) goto __41 __40: pCellBody = (pCell - uintptr((*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize)) nOverrun = 18 // Size of the overrun padding - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 80 /* &.xParseCell */))))(tls, pPage, pCellBody, (pCur + 32 /* &.info */)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCellBody, (pCur + 32 /* &.info */)) nCell = int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey) // True if key size is 2^32 or more // Invalid key size: 0x80 0x80 0x00 @@ -49358,7 +49524,9 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite for N > 0 { if int32(*(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(idx)*2))) == 0 { - *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(idx)*2)) = (*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer(((*CellArray)(unsafe.Pointer(p)).FpRef + 76 /* &.xCellSize */))))(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(idx)*4))) + *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(idx)*2)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FpRef)).FxCellSize})).f(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(idx)*4))) } else { } @@ -49370,7 +49538,9 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite // Return the size of the Nth element of the cell array func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:72424:28: */ - *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer(((*CellArray)(unsafe.Pointer(p)).FpRef + 76 /* &.xCellSize */))))(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(N)*4))) + *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FpRef)).FxCellSize})).f(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(N)*4))) return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) } @@ -49797,7 +49967,9 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr var pOut uintptr = (pSpace + 4) *(*uintptr)(unsafe.Pointer(bp + 8 /* pCell */)) = *(*uintptr)(unsafe.Pointer((pPage + 36 /* &.apOvfl */))) - *(*U16)(unsafe.Pointer(bp + 12 /* szCell */)) = (*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pPage + 76 /* &.xCellSize */))))(tls, pPage, *(*uintptr)(unsafe.Pointer(bp + 8 /* pCell */))) + *(*U16)(unsafe.Pointer(bp + 12 /* szCell */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, *(*uintptr)(unsafe.Pointer(bp + 8 /* pCell */))) var pStop uintptr // var b CellArray at bp+16, 64 @@ -50163,13 +50335,17 @@ __16: } *(*uintptr)(unsafe.Pointer(bp + 20 /* &apDiv[0] */ + uintptr(i)*4)) = *(*uintptr)(unsafe.Pointer((pParent + 36 /* &.apOvfl */))) *(*Pgno)(unsafe.Pointer(bp + 180 /* pgno */)) = Xsqlite3Get4byte(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* &apDiv[0] */ + uintptr(i)*4))) - *(*int32)(unsafe.Pointer(bp + 28 /* &szNew[0] */ + uintptr(i)*4)) = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pParent + 76 /* &.xCellSize */))))(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 20 /* &apDiv[0] */ + uintptr(i)*4)))) + *(*int32)(unsafe.Pointer(bp + 28 /* &szNew[0] */ + uintptr(i)*4)) = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pParent)).FxCellSize})).f(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 20 /* &apDiv[0] */ + uintptr(i)*4)))) (*MemPage)(unsafe.Pointer(pParent)).FnOverflow = U8(0) goto __18 __17: *(*uintptr)(unsafe.Pointer(bp + 20 /* &apDiv[0] */ + uintptr(i)*4)) = ((*MemPage)(unsafe.Pointer((pParent))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pParent))).FmaskPage) & int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pParent))).FaCellIdx + uintptr((2 * ((i + nxDiv) - int32((*MemPage)(unsafe.Pointer(pParent)).FnOverflow)))))))))))) *(*Pgno)(unsafe.Pointer(bp + 180 /* pgno */)) = Xsqlite3Get4byte(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* &apDiv[0] */ + uintptr(i)*4))) - *(*int32)(unsafe.Pointer(bp + 28 /* &szNew[0] */ + uintptr(i)*4)) = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pParent + 76 /* &.xCellSize */))))(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 20 /* &apDiv[0] */ + uintptr(i)*4)))) + *(*int32)(unsafe.Pointer(bp + 28 /* &szNew[0] */ + uintptr(i)*4)) = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pParent)).FxCellSize})).f(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 20 /* &apDiv[0] */ + uintptr(i)*4)))) // Drop the cell from the parent page. apDiv[i] still points to // the cell within the parent, even though it has been dropped. @@ -50431,7 +50607,9 @@ __46: if !(j < int32((*MemPage)(unsafe.Pointer(p)).FnOverflow)) { goto __48 } - *(*int32)(unsafe.Pointer(bp + 28 /* &szNew */ + uintptr(i)*4)) += (2 + int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((p + 76 /* &.xCellSize */))))(tls, p, *(*uintptr)(unsafe.Pointer((p + 36 /* &.apOvfl */) + uintptr(j)*4))))) + *(*int32)(unsafe.Pointer(bp + 28 /* &szNew */ + uintptr(i)*4)) += (2 + int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(p)).FxCellSize})).f(tls, p, *(*uintptr)(unsafe.Pointer((p + 36 /* &.apOvfl */) + uintptr(j)*4))))) goto __47 __47: j++ @@ -50935,7 +51113,9 @@ __118: goto __120 } j-- - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pNew2 + 80 /* &.xParseCell */))))(tls, pNew2, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(bp+72 /* &b */)).FapCell + uintptr(j)*4)), bp+240 /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pNew2)).FxParseCell})).f(tls, pNew2, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(bp+72 /* &b */)).FapCell + uintptr(j)*4)), bp+240 /* &info */) pCell1 = pTemp1 sz2 = (4 + Xsqlite3PutVarint(tls, (pCell1+4), uint64((*CellInfo)(unsafe.Pointer(bp+240 /* &info */)).FnKey))) pTemp1 = uintptr(0) @@ -50956,7 +51136,9 @@ __120: goto __122 } - sz2 = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pParent + 76 /* &.xCellSize */))))(tls, pParent, pCell1)) + sz2 = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pParent)).FxCellSize})).f(tls, pParent, pCell1)) __122: ; __121: @@ -51752,7 +51934,9 @@ __25: if !(((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) && (*(*int32)(unsafe.Pointer(bp + 92 /* szNew */)) > int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal))) { goto __26 } - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 80 /* &.xParseCell */))))(tls, pPage, newCell, bp+64 /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, newCell, bp+64 /* &info */) if !((*CellInfo)(unsafe.Pointer(bp+64 /* &info */)).FnPayload != U32((*CellInfo)(unsafe.Pointer(bp+64 /* &info */)).FnLocal)) { goto __27 } @@ -51793,7 +51977,9 @@ __31: libc.Xmemcpy(tls, newCell, oldCell, uint32(4)) __32: ; - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 80 /* &.xParseCell */))))(tls, pPage, oldCell, bp+96 /* &info1 */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, oldCell, bp+96 /* &info1 */) if !(U32((*CellInfo)(unsafe.Pointer(bp+96 /* &info1 */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+96 /* &info1 */)).FnPayload) { goto __33 } @@ -52162,7 +52348,9 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != 0 { return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) } - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 80 /* &.xParseCell */))))(tls, pPage, pCell, bp /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp /* &info */)).FnPayload { *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = clearCellOverflow(tls, pPage, pCell, bp /* &info */) } else { @@ -52200,7 +52388,9 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit if pCell < ((*MemPage)(unsafe.Pointer(pLeaf)).FaData + 4) { return Xsqlite3CorruptError(tls, 74681) } - nCell = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pLeaf + 76 /* &.xCellSize */))))(tls, pLeaf, pCell)) + nCell = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pLeaf)).FxCellSize})).f(tls, pLeaf, pCell)) pTmp = (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace @@ -52472,7 +52662,9 @@ __8: ; __7: ; - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp /* pPage */)) + 80 /* &.xParseCell */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), pCell, bp+8 /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPage */)))).FxParseCell})).f(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), pCell, bp+8 /* &info */) if !(U32((*CellInfo)(unsafe.Pointer(bp+8 /* &info */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+8 /* &info */)).FnPayload) { goto __9 } @@ -53203,7 +53395,9 @@ __9: __12: ; pCell = (data + uintptr(pc)) - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)) + 80 /* &.xParseCell */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), pCell, bp+112 /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FxParseCell})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), pCell, bp+112 /* &info */) if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnSize)) > usableSize) { goto __13 } @@ -53304,7 +53498,9 @@ __24: goto __26 } pc = U32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((data + uintptr((cellStart + (i * 2)))))))) - size = U32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)) + 76 /* &.xCellSize */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), (data + uintptr(pc)))) + size = U32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FxCellSize})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), (data + uintptr(pc)))) btreeHeapInsert(tls, heap, ((pc << 16) | ((pc + size) - U32(1)))) goto __25 __25: @@ -53434,7 +53630,7 @@ func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin var pBt uintptr var savedDbFlags U64 - // var zErr [100]int8 at bp+104, 100 + // var zErr [100]uint8 at bp+104, 100 var bPartial int32 // True if not checking all btrees var bCkFreelist int32 @@ -53475,7 +53671,7 @@ __1: (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).Fv2 = 0 (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FaPgRef = uintptr(0) (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).Fheap = uintptr(0) - Xsqlite3StrAccumInit(tls, (bp + 32 /* &sCheck */ + 40 /* &.errMsg */), uintptr(0), bp+104 /* &zErr[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) + Xsqlite3StrAccumInit(tls, (bp + 32 /* &sCheck */ + 40 /* &.errMsg */), uintptr(0), bp+104 /* &zErr[0] */, int32(unsafe.Sizeof([100]uint8{})), SQLITE_MAX_LENGTH) (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FerrMsg.FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) if !((*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FnPage == Pgno(0)) { goto __3 @@ -54617,7 +54813,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql return *(*float64)(unsafe.Pointer(p /* &.u */)) }())) - *(*int8)(unsafe.Pointer(zBuf + uintptr((*StrAccum)(unsafe.Pointer(bp+16 /* &acc */)).FnChar))) = int8(0) // Fast version of sqlite3StrAccumFinish(&acc) + *(*uint8)(unsafe.Pointer(zBuf + uintptr((*StrAccum)(unsafe.Pointer(bp+16 /* &acc */)).FnChar))) = uint8(0) // Fast version of sqlite3StrAccumFinish(&acc) } } @@ -54689,7 +54885,7 @@ func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) } if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Dyn) != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pMem + 36 /* &.xDel */))))(tls, (*Mem)(unsafe.Pointer(pMem)).Fz) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Mem)(unsafe.Pointer(pMem)).FxDel})).f(tls, (*Mem)(unsafe.Pointer(pMem)).Fz) } (*Mem)(unsafe.Pointer(pMem)).Fz = (*Mem)(unsafe.Pointer(pMem)).FzMalloc @@ -54730,9 +54926,9 @@ func vdbeMemAddTerminator(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7731 if Xsqlite3VdbeMemGrow(tls, pMem, ((*Mem)(unsafe.Pointer(pMem)).Fn+3), 1) != 0 { return SQLITE_NOMEM } - *(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fz + uintptr((*Mem)(unsafe.Pointer(pMem)).Fn))) = int8(0) - *(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fz + uintptr(((*Mem)(unsafe.Pointer(pMem)).Fn + 1)))) = int8(0) - *(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fz + uintptr(((*Mem)(unsafe.Pointer(pMem)).Fn + 2)))) = int8(0) + *(*uint8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fz + uintptr((*Mem)(unsafe.Pointer(pMem)).Fn))) = uint8(0) + *(*uint8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fz + uintptr(((*Mem)(unsafe.Pointer(pMem)).Fn + 1)))) = uint8(0) + *(*uint8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fz + uintptr(((*Mem)(unsafe.Pointer(pMem)).Fn + 2)))) = uint8(0) *(*U16)(unsafe.Pointer(pMem + 8 /* &.flags */)) |= U16((MEM_Term)) return SQLITE_OK } @@ -54851,7 +55047,7 @@ func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpOut = bp + 32 /* &t */ (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpMem = pMem (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpFunc = pFunc - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pFunc + 20 /* &.xFinalize */))))(tls, bp /* &ctx */) // IMP: R-24505-23230 + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer(pFunc)).FxFinalize})).f(tls, bp /* &ctx */) // IMP: R-24505-23230 if (*Mem)(unsafe.Pointer(pMem)).FszMalloc > 0 { Xsqlite3DbFreeNN(tls, (*Mem)(unsafe.Pointer(pMem)).Fdb, (*Mem)(unsafe.Pointer(pMem)).FzMalloc) @@ -54877,7 +55073,7 @@ func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpOut = pOut (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpMem = pAccum (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpFunc = pFunc - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pFunc + 24 /* &.xValue */))))(tls, bp /* &ctx */) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer(pFunc)).FxValue})).f(tls, bp /* &ctx */) return (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FisError } @@ -54896,7 +55092,7 @@ func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:77496 } if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_Dyn) != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p + 36 /* &.xDel */))))(tls, (*Mem)(unsafe.Pointer(p)).Fz) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Mem)(unsafe.Pointer(p)).FxDel})).f(tls, (*Mem)(unsafe.Pointer(p)).Fz) } (*Mem)(unsafe.Pointer(p)).Fflags = U16(MEM_Null) } @@ -55103,7 +55299,7 @@ func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7 rc = Xsqlite3AtoF(tls, (*Mem)(unsafe.Pointer(pMem)).Fz, (pMem /* &.u */ /* &.r */), (*Mem)(unsafe.Pointer(pMem)).Fn, (*Mem)(unsafe.Pointer(pMem)).Fenc) if (((rc == 0) || (rc == 1)) && (Xsqlite3Atoi64(tls, (*Mem)(unsafe.Pointer(pMem)).Fz, bp /* &ix */, (*Mem)(unsafe.Pointer(pMem)).Fn, (*Mem)(unsafe.Pointer(pMem)).Fenc) <= 1)) || - (Xsqlite3RealSameAsInt(tls, *(*float64)(unsafe.Pointer(pMem /* &.u */)), libc.AssignPtrInt64(bp /* ix */, I64(*(*float64)(unsafe.Pointer(pMem /* &.u */))))) != 0) { + (Xsqlite3RealSameAsInt(tls, *(*float64)(unsafe.Pointer(pMem /* &.u */)), libc.AssignPtrInt64(bp /* ix */, libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(pMem /* &.u */))))) != 0) { *(*I64)(unsafe.Pointer(pMem /* &.u */)) = *(*Sqlite3_int64)(unsafe.Pointer(bp /* ix */)) (*Mem)(unsafe.Pointer(pMem)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pMem))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Int)) } else { @@ -55403,7 +55599,7 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 if int32(enc) == SQLITE_UTF8 { nByte = I64(libc.Xstrlen(tls, z)) } else { - for nByte = int64(0); (nByte <= I64(iLimit)) && ((int32(*(*int8)(unsafe.Pointer(z + uintptr(nByte)))) | int32(*(*int8)(unsafe.Pointer(z + uintptr((nByte + int64(1))))))) != 0); nByte = nByte + (int64(2)) { + for nByte = int64(0); (nByte <= I64(iLimit)) && ((int32(*(*uint8)(unsafe.Pointer(z + uintptr(nByte)))) | int32(*(*uint8)(unsafe.Pointer(z + uintptr((nByte + int64(1))))))) != 0); nByte = nByte + (int64(2)) { } } flags = U16(int32(flags) | (MEM_Term)) @@ -55496,7 +55692,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, if SQLITE_OK == (libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, (int32(amt+U32(1)))))) { rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz) if rc == SQLITE_OK { - *(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fz + uintptr(amt))) = int8(0) // Overrun area used when reading malformed records + *(*uint8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fz + uintptr(amt))) = uint8(0) // Overrun area used when reading malformed records (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Blob) (*Mem)(unsafe.Pointer(pMem)).Fn = int32(amt) } else { @@ -55757,7 +55953,9 @@ __9: libc.Xmemset(tls, bp+8 /* &ctx */, 0, uint32(unsafe.Sizeof(Sqlite3_context{}))) (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FpOut = pVal (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FpFunc = pFunc - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pFunc + 16 /* &.xSFunc */))))(tls, bp+8 /* &ctx */, nVal, apVal) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer(pFunc)).FxSFunc})).f(tls, bp+8 /* &ctx */, nVal, apVal) if !((*Sqlite3_context)(unsafe.Pointer(bp+8 /* &ctx */)).FisError != 0) { goto __10 } @@ -56015,7 +56213,7 @@ __30: goto __33 } (*Sqlite3_value)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)))).Fflags = U16(MEM_Int) - *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) /* &.u */)) = (I64(libc.Bool32(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) + 4))) == 0))) + *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) /* &.u */)) = (I64(libc.Bool32(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) + 4))) == 0))) __33: ; __32: @@ -56530,12 +56728,12 @@ func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr var ap Va_list _ = ap var i int32 - var c int8 + var c uint8 var z uintptr ap = va i = 0 __1: - if !((int32(libc.AssignInt8(&c, *(*int8)(unsafe.Pointer(zTypes + uintptr(i)))))) != 0) { + if !((int32(libc.AssignUint8(&c, *(*uint8)(unsafe.Pointer(zTypes + uintptr(i)))))) != 0) { goto __3 } if !(int32(c) == 's') { @@ -57853,10 +58051,10 @@ func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81009:20: * // by subcomponents of a prepared statement. Space is allocated out // of a ReusableSpace object by the allocSpace() routine below. type ReusableSpace = struct { - FpSpace uintptr - _ [4]byte - FnFree Sqlite3_int64 - FnNeeded Sqlite3_int64 + FpSpace uintptr + F__ccgo_pad1 [4]byte + FnFree Sqlite3_int64 + FnNeeded Sqlite3_int64 } /* sqlite3.c:81154:1 */ // Try to allocate nByte bytes of 8-byte aligned bulk memory for pBuf @@ -58060,7 +58258,9 @@ func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3. var pModule uintptr = (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pVCur)).FpVtab)).FpModule (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pVCur)).FpVtab)).FnRef-- - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule + 28 /* &.xClose */))))(tls, pVCur) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxClose})).f(tls, pVCur) break } @@ -58229,7 +58429,9 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 // If there are any write-transactions at all, invoke the commit hook if (needXcommit != 0) && ((*Sqlite3)(unsafe.Pointer(db)).FxCommitCallback != 0) { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((db + 228 /* &.xCommitCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCommitArg) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxCommitCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCommitArg) if rc != 0 { return (SQLITE_CONSTRAINT | (int32(2) << 8)) } @@ -58826,7 +59028,7 @@ func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, (((*AuxData)(unsafe.Pointer(pAux)).FiAuxArg > 31) || !((uint32(mask) & (uint32((uint32(1))) << ((*AuxData)(unsafe.Pointer(pAux)).FiAuxArg))) != 0))) { if (*AuxData)(unsafe.Pointer(pAux)).FxDeleteAux != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pAux + 12 /* &.xDeleteAux */))))(tls, (*AuxData)(unsafe.Pointer(pAux)).FpAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*AuxData)(unsafe.Pointer(pAux)).FxDeleteAux})).f(tls, (*AuxData)(unsafe.Pointer(pAux)).FpAux) } *(*uintptr)(unsafe.Pointer(pp)) = (*AuxData)(unsafe.Pointer(pAux)).FpNextAux Xsqlite3DbFree(tls, db, pAux) @@ -59368,7 +59570,9 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin if int32((*Mem)(unsafe.Pointer(pMem1)).Fenc) == int32((*CollSeq)(unsafe.Pointer(pColl)).Fenc) { // The strings are already in the correct encoding. Call the // comparison function directly - return (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((pColl + 12 /* &.xCmp */))))(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(pMem1)).Fn, (*Mem)(unsafe.Pointer(pMem1)).Fz, (*Mem)(unsafe.Pointer(pMem2)).Fn, (*Mem)(unsafe.Pointer(pMem2)).Fz) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(pColl)).FxCmp})).f(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(pMem1)).Fn, (*Mem)(unsafe.Pointer(pMem1)).Fz, (*Mem)(unsafe.Pointer(pMem2)).Fn, (*Mem)(unsafe.Pointer(pMem2)).Fz) } else { var rc int32 var v1 uintptr @@ -59389,7 +59593,9 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin } rc = 0 } else { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((pColl + 12 /* &.xCmp */))))(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(bp /* &c1 */)).Fn, v1, (*Mem)(unsafe.Pointer(bp+40 /* &c2 */)).Fn, v2) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(pColl)).FxCmp})).f(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(bp /* &c1 */)).Fn, v1, (*Mem)(unsafe.Pointer(bp+40 /* &c2 */)).Fn, v2) } Xsqlite3VdbeMemRelease(tls, bp /* &c1 */) Xsqlite3VdbeMemRelease(tls, bp+40 /* &c2 */) @@ -59403,7 +59609,7 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin func isAllZero(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:83151:12: */ var i int32 for i = 0; i < n; i++ { - if *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0 { + if *(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0 { return 0 } } @@ -60411,7 +60617,9 @@ func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, (*PreUpdate)(unsafe.Pointer(bp /* &preupdate */)).FiBlobWrite = iBlobWrite (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate = bp /* &preupdate */ - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64))(unsafe.Pointer((db + 256 /* &.xPreUpdateCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg, db, op, zDb, zTbl, iKey1, iKey2) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg, db, op, zDb, zTbl, iKey1, iKey2) (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate = uintptr(0) Xsqlite3DbFree(tls, db, (*PreUpdate)(unsafe.Pointer(bp /* &preupdate */)).FaRecord) vdbeFreeUnpacked(tls, db, (int32((*PreUpdate)(unsafe.Pointer(bp /* &preupdate */)).Fkeyinfo.FnKeyField) + 1), (*PreUpdate)(unsafe.Pointer(bp /* &preupdate */)).FpUnpacked) @@ -60492,10 +60700,14 @@ func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c: Xsqlite3OsCurrentTimeInt64(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, bp /* &iNow */) *(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iElapse */)) = ((*(*Sqlite3_int64)(unsafe.Pointer(bp /* iNow */)) - (*Vdbe)(unsafe.Pointer(p)).FstartTime) * int64(1000000)) if (*Sqlite3)(unsafe.Pointer(db)).FxProfile != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, U64))(unsafe.Pointer((db + 216 /* &.xProfile */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProfileArg, (*Vdbe)(unsafe.Pointer(p)).FzSql, uint64(*(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iElapse */)))) + (*struct { + f func(*libc.TLS, uintptr, uintptr, U64) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxProfile})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProfileArg, (*Vdbe)(unsafe.Pointer(p)).FzSql, uint64(*(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iElapse */)))) } if (int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace) & SQLITE_TRACE_PROFILE) != 0 { - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 208 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_PROFILE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, bp+8 /* &iElapse */) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 208 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_PROFILE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, bp+8 /* &iElapse */) } (*Vdbe)(unsafe.Pointer(p)).FstartTime = int64(0) } @@ -60805,7 +61017,7 @@ func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) } else if xDel == (libc.UintptrFromInt32(-1)) { // noop } else { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDel)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDel})).f(tls, p) } Xsqlite3_result_error_toobig(tls, pCtx) return SQLITE_TOOBIG @@ -60977,7 +61189,9 @@ func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:84742:12: */ nEntry = Xsqlite3PagerWalCallback(tls, Xsqlite3BtreePager(tls, pBt)) Xsqlite3BtreeLeave(tls, pBt) if ((nEntry > 0) && ((*Sqlite3)(unsafe.Pointer(db)).FxWalCallback != 0)) && (rc == SQLITE_OK) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32)(unsafe.Pointer((db + 264 /* &.xWalCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpWalArg, db, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*16)).FzDbSName, nEntry) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxWalCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpWalArg, db, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*16)).FzDbSName, nEntry) } } } @@ -61384,7 +61598,7 @@ __6: if !((*AuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux != 0) { goto __10 } - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pAuxData + 12 /* &.xDeleteAux */))))(tls, (*AuxData)(unsafe.Pointer(pAuxData)).FpAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*AuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux})).f(tls, (*AuxData)(unsafe.Pointer(pAuxData)).FpAux) __10: ; __7: @@ -61398,7 +61612,7 @@ failed: if !(xDelete != 0) { goto __11 } - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDelete)))(tls, pAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDelete})).f(tls, pAux) __11: } @@ -61747,7 +61961,7 @@ func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, x } Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) } else if (xDel != (uintptr(0))) && (xDel != (libc.UintptrFromInt32(-1))) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDel)))(tls, zData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDel})).f(tls, zData) } return rc } @@ -61806,7 +62020,7 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, Xsqlite3VdbeMemSetPointer(tls, ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((i-1))*40), pPtr, zPTtype, xDestructor) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) } else if xDestructor != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestructor)))(tls, pPtr) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestructor})).f(tls, pPtr) } return rc } @@ -62407,7 +62621,7 @@ func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { var n int32 *(*int32)(unsafe.Pointer(pnToken)) = 0 - for *(*int8)(unsafe.Pointer(zSql)) != 0 { + for *(*uint8)(unsafe.Pointer(zSql)) != 0 { n = Xsqlite3GetToken(tls, zSql, bp /* &tokenType */) if *(*int32)(unsafe.Pointer(bp /* tokenType */)) == TK_VARIABLE { @@ -62458,16 +62672,16 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { // Accumulate the output here // var utf8 Mem at bp+184, 40 // Used to convert UTF16 into UTF8 for display - // var zBase [100]int8 at bp+72, 100 + // var zBase [100]uint8 at bp+72, 100 // Initial working space db = (*Vdbe)(unsafe.Pointer(p)).Fdb - Xsqlite3StrAccumInit(tls, bp+48 /* &out */, uintptr(0), bp+72 /* &zBase[0] */, int32(unsafe.Sizeof([100]int8{})), + Xsqlite3StrAccumInit(tls, bp+48 /* &out */, uintptr(0), bp+72 /* &zBase[0] */, int32(unsafe.Sizeof([100]uint8{})), *(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */)))) if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec > 1 { - for *(*int8)(unsafe.Pointer(zRawSql)) != 0 { + for *(*uint8)(unsafe.Pointer(zRawSql)) != 0 { var zStart uintptr = zRawSql - for (int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zRawSql, 1)))) != '\n') && (*(*int8)(unsafe.Pointer(zRawSql)) != 0) { + for (int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zRawSql, 1)))) != '\n') && (*(*uint8)(unsafe.Pointer(zRawSql)) != 0) { } Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4511 /* "-- " */, 3) @@ -62476,7 +62690,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { } else if int32((*Vdbe)(unsafe.Pointer(p)).FnVar) == 0 { Xsqlite3_str_append(tls, bp+48 /* &out */, zRawSql, Xsqlite3Strlen30(tls, zRawSql)) } else { - for *(*int8)(unsafe.Pointer(zRawSql)) != 0 { + for *(*uint8)(unsafe.Pointer(zRawSql)) != 0 { n = findNextHostParameter(tls, zRawSql, bp+172 /* &nToken */) Xsqlite3_str_append(tls, bp+48 /* &out */, zRawSql, n) @@ -62485,7 +62699,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { if *(*int32)(unsafe.Pointer(bp + 172 /* nToken */)) == 0 { break } - if int32(*(*int8)(unsafe.Pointer(zRawSql))) == '?' { + if int32(*(*uint8)(unsafe.Pointer(zRawSql))) == '?' { if *(*int32)(unsafe.Pointer(bp + 172 /* nToken */)) > 1 { Xsqlite3GetInt32(tls, (zRawSql + 1), bp+176 /* &idx */) @@ -62538,7 +62752,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4535 /* "x'" */, 2) nOut = (*Mem)(unsafe.Pointer(pVar)).Fn for i = 0; i < nOut; i++ { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4538 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4538 /* "%02x" */, libc.VaList(bp+40, (int32(*(*uint8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) } Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4543 /* "'" */, 1) } @@ -62808,7 +63022,7 @@ func applyNumericAffinity(tls *libc.TLS, pRec uintptr, bTryForInt int32) { /* sq // SQLITE_AFF_BLOB: // SQLITE_AFF_NONE: // No-op. pRec is unchanged. -func applyAffinity(tls *libc.TLS, pRec uintptr, affinity int8, enc U8) { /* sqlite3.c:86793:13: */ +func applyAffinity(tls *libc.TLS, pRec uintptr, affinity uint8, enc U8) { /* sqlite3.c:86793:13: */ if int32(affinity) >= SQLITE_AFF_NUMERIC { if (int32((*Mem)(unsafe.Pointer(pRec)).Fflags) & MEM_Int) == 0 { //OPTIMIZATION-IF-FALSE @@ -62853,7 +63067,7 @@ func Xsqlite3_value_numeric_type(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3 // Exported version of applyAffinity(). This one works on sqlite3_value*, // not the internal Mem* type. func Xsqlite3ValueApplyAffinity(tls *libc.TLS, pVal uintptr, affinity U8, enc U8) { /* sqlite3.c:86846:21: */ - applyAffinity(tls, pVal, int8(affinity), enc) + applyAffinity(tls, pVal, uint8(affinity), enc) } // pMem currently only holds a string type (or maybe a BLOB that we can @@ -62982,9 +63196,9 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var iB1 I64 var op U8 // same as TK_GE, jump, in1, in3 var res int32 - var res2 int32 // Result of the comparison of pIn1 against pIn3 - var affinity int8 // Affinity to use for comparison - var flags11 U16 // Copy of initial value of pIn1->flags + var res2 int32 // Result of the comparison of pIn1 against pIn3 + var affinity uint8 // Affinity to use for comparison + var flags11 U16 // Copy of initial value of pIn1->flags var flags3 U16 var n2 int32 var i1 int32 @@ -66049,7 +66263,9 @@ __185: } nProgressLimit = nProgressLimit + (U64((*Sqlite3)(unsafe.Pointer(db)).FnProgressOps)) - if !((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((db + 360 /* &.xProgress */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProgressArg) != 0) { + if !((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxProgress})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProgressArg) != 0) { goto __187 } nProgressLimit = (uint64(0xffffffff) | (U64((uint64(0xffffffff))) << 32)) @@ -66651,7 +66867,9 @@ __220: if !((int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace) & SQLITE_TRACE_ROW) != 0) { goto __221 } - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 208 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_ROW), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, uintptr(0)) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 208 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_ROW), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, uintptr(0)) __221: ; @@ -66765,9 +66983,9 @@ __235: libc.Xmemcpy(tls, ((*Mem)(unsafe.Pointer(pOut)).Fz + uintptr((*Mem)(unsafe.Pointer(pIn2)).Fn)), (*Mem)(unsafe.Pointer(pIn1)).Fz, uint32((*Mem)(unsafe.Pointer(pIn1)).Fn)) (*Mem)(unsafe.Pointer(pIn1)).Fflags = flags1 - *(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pOut)).Fz + uintptr(nByte))) = int8(0) - *(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pOut)).Fz + uintptr((nByte + int64(1))))) = int8(0) - *(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pOut)).Fz + uintptr((nByte + int64(2))))) = int8(0) + *(*uint8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pOut)).Fz + uintptr(nByte))) = uint8(0) + *(*uint8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pOut)).Fz + uintptr((nByte + int64(1))))) = uint8(0) + *(*uint8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pOut)).Fz + uintptr((nByte + int64(2))))) = uint8(0) *(*U16)(unsafe.Pointer(pOut + 8 /* &.flags */)) |= U16((MEM_Term)) (*Mem)(unsafe.Pointer(pOut)).Fn = int32(nByte) (*Mem)(unsafe.Pointer(pOut)).Fenc = encoding @@ -67142,7 +67360,7 @@ __44: // jump, in1 if !((int32((*Mem)(unsafe.Pointer(pIn1)).Fflags) & MEM_Int) == 0) { goto __276 } - applyAffinity(tls, pIn1, int8(SQLITE_AFF_NUMERIC), encoding) + applyAffinity(tls, pIn1, uint8(SQLITE_AFF_NUMERIC), encoding) if !((int32((*Mem)(unsafe.Pointer(pIn1)).Fflags) & MEM_Int) == 0) { goto __277 } @@ -67416,7 +67634,7 @@ __294: __291: // Neither operand is NULL and we couldn't do the special high-speed // integer comparison case. So do a general-case comparison. - affinity = (int8(int32((*Op)(unsafe.Pointer(pOp)).Fp5) & SQLITE_AFF_MASK)) + affinity = (uint8(int32((*Op)(unsafe.Pointer(pOp)).Fp5) & SQLITE_AFF_MASK)) if !(int32(affinity) >= SQLITE_AFF_NUMERIC) { goto __298 } @@ -68248,8 +68466,8 @@ __380: __381: ; libc.Xmemcpy(tls, (*Mem)(unsafe.Pointer(pDest)).Fz, zData, uint32(len)) - *(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pDest)).Fz + uintptr(len))) = int8(0) - *(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pDest)).Fz + uintptr((len + 1)))) = int8(0) + *(*uint8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pDest)).Fz + uintptr(len))) = uint8(0) + *(*uint8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pDest)).Fz + uintptr((len + 1)))) = uint8(0) (*Mem)(unsafe.Pointer(pDest)).Fflags = aFlag1[(*(*U32)(unsafe.Pointer(bp + 248 /* t */)) & U32(1))] __379: ; @@ -68327,8 +68545,8 @@ __388: goto __389 } - applyAffinity(tls, pIn1, *(*int8)(unsafe.Pointer(zAffinity)), encoding) - if !((int32(*(*int8)(unsafe.Pointer(zAffinity))) == SQLITE_AFF_REAL) && ((int32((*Mem)(unsafe.Pointer(pIn1)).Fflags) & MEM_Int) != 0)) { + applyAffinity(tls, pIn1, *(*uint8)(unsafe.Pointer(zAffinity)), encoding) + if !((int32(*(*uint8)(unsafe.Pointer(zAffinity))) == SQLITE_AFF_REAL) && ((int32((*Mem)(unsafe.Pointer(pIn1)).Fflags) & MEM_Int) != 0)) { goto __390 } // When applying REAL affinity, if the result is still an MEM_Int @@ -68352,7 +68570,7 @@ __390: ; zAffinity++ - if !(int32(*(*int8)(unsafe.Pointer(zAffinity))) == 0) { + if !(int32(*(*uint8)(unsafe.Pointer(zAffinity))) == 0) { goto __393 } goto __389 @@ -68428,8 +68646,8 @@ __72: // Where to write next byte of the payload } pRec = pData0 __395: - applyAffinity(tls, pRec, *(*int8)(unsafe.Pointer(zAffinity1)), encoding) - if !((int32(*(*int8)(unsafe.Pointer(zAffinity1))) == SQLITE_AFF_REAL) && ((int32((*Mem)(unsafe.Pointer(pRec)).Fflags) & MEM_Int) != 0)) { + applyAffinity(tls, pRec, *(*uint8)(unsafe.Pointer(zAffinity1)), encoding) + if !((int32(*(*uint8)(unsafe.Pointer(zAffinity1))) == SQLITE_AFF_REAL) && ((int32((*Mem)(unsafe.Pointer(pRec)).Fflags) & MEM_Int) != 0)) { goto __398 } *(*U16)(unsafe.Pointer(pRec + 8 /* &.flags */)) |= U16((MEM_IntReal)) @@ -68442,7 +68660,7 @@ __398: goto __396 __396: - if *(*int8)(unsafe.Pointer(zAffinity1)) != 0 { + if *(*uint8)(unsafe.Pointer(zAffinity1)) != 0 { goto __395 } goto __397 @@ -70584,7 +70802,7 @@ __100: // changing the datatype of pIn3, however, as it is used by other // parts of the prepared statement. *(*Mem)(unsafe.Pointer(bp + 336 /* x */)) = *(*Mem)(unsafe.Pointer(pIn3)) - applyAffinity(tls, bp+336 /* &x */, int8(SQLITE_AFF_NUMERIC), encoding) + applyAffinity(tls, bp+336 /* &x */, uint8(SQLITE_AFF_NUMERIC), encoding) if !((int32((*Mem)(unsafe.Pointer(bp+336 /* &x */)).Fflags) & MEM_Int) == 0) { goto __604 } @@ -70952,7 +71170,9 @@ __639: goto __640 } - (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64))(unsafe.Pointer((db + 244 /* &.xUpdateCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpUpdateArg, + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxUpdateCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpUpdateArg, func() int32 { if (int32((*Op)(unsafe.Pointer(pOp)).Fp5) & OPFLAG_ISUPDATE) != 0 { return SQLITE_UPDATE @@ -71100,7 +71320,9 @@ __647: if !(((*Sqlite3)(unsafe.Pointer(db)).FxUpdateCallback != 0) && (((*Table)(unsafe.Pointer((pTab1))).FtabFlags & U32(TF_WithoutRowid)) == U32(0))) { goto __649 } - (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64))(unsafe.Pointer((db + 244 /* &.xUpdateCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpUpdateArg, SQLITE_DELETE, zDb1, (*Table)(unsafe.Pointer(pTab1)).FzName, + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxUpdateCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpUpdateArg, SQLITE_DELETE, zDb1, (*Table)(unsafe.Pointer(pTab1)).FzName, (*VdbeCursor)(unsafe.Pointer(pC11)).FmovetoTarget) __649: @@ -71292,7 +71514,9 @@ __659: pVtab = (*Sqlite3_vtab_cursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pC15 + 40 /* &.uc */)))).FpVtab pModule = (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pModule + 48 /* &.xRowid */))))(tls, *(*uintptr)(unsafe.Pointer(pC15 + 40 /* &.uc */)), bp+440 /* &v3 */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxRowid})).f(tls, *(*uintptr)(unsafe.Pointer(pC15 + 40 /* &.uc */)), bp+440 /* &v3 */) Xsqlite3VtabImportErrmsg(tls, p, pVtab) if !(rc != 0) { goto __663 @@ -71593,7 +71817,9 @@ __121: // jump // The Next opcode is only used after SeekGT, SeekGE, Rewind, and Found. // The Prev opcode is only used after SeekLT, SeekLE, and Last. - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pOp + 16 /* &.p4 */ /* &.xAdvance */))))(tls, *(*uintptr)(unsafe.Pointer(pC20 + 40 /* &.uc */)), (*Op)(unsafe.Pointer(pOp)).Fp3) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */))})).f(tls, *(*uintptr)(unsafe.Pointer(pC20 + 40 /* &.uc */)), (*Op)(unsafe.Pointer(pOp)).Fp3) next_tail: (*VdbeCursor)(unsafe.Pointer(pC20)).FcacheStatus = U32(CACHE_STALE) @@ -72973,10 +73199,14 @@ __776: if !((*Op)(unsafe.Pointer(pOp)).Fp1 != 0) { goto __780 } - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc + 28 /* &.xInverse */))))(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+28 /* &.argv */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc)).FxInverse})).f(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+28 /* &.argv */) goto __781 __780: - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc + 16 /* &.xSFunc */))))(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+28 /* &.argv */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc)).FxSFunc})).f(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+28 /* &.argv */) __781: ; // IMP: R-24505-23230 @@ -73487,7 +73717,9 @@ __171: __822: ; pModule1 = (*Sqlite3_vtab)(unsafe.Pointer(pVtab1)).FpModule - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pModule1 + 24 /* &.xOpen */))))(tls, pVtab1, bp+712 /* &pVCur */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule1)).FxOpen})).f(tls, pVtab1, bp+712 /* &pVCur */) Xsqlite3VtabImportErrmsg(tls, p, pVtab1) if !(rc != 0) { goto __823 @@ -73509,7 +73741,9 @@ __823: goto __825 __824: ; - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule1 + 28 /* &.xClose */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 712 /* pVCur */))) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule1)).FxClose})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 712 /* pVCur */))) goto no_mem __825: ; @@ -73564,7 +73798,9 @@ __827: goto __828 __828: ; - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((pModule2 + 32 /* &.xFilter */))))(tls, pVCur1, iQuery, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)), nArg, apArg) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule2)).FxFilter})).f(tls, pVCur1, iQuery, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)), nArg, apArg) Xsqlite3VtabImportErrmsg(tls, p, pVtab2) if !(rc != 0) { goto __829 @@ -73572,7 +73808,9 @@ __828: goto abort_due_to_error __829: ; - res13 = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule2 + 40 /* &.xEof */))))(tls, pVCur1) + res13 = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule2)).FxEof})).f(tls, pVCur1) (*VdbeCursor)(unsafe.Pointer(pCur3)).FnullRow = U8(0) if !(res13 != 0) { @@ -73626,7 +73864,9 @@ __832: (*Mem)(unsafe.Pointer(pDest2)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pDest2))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Null)) __833: ; - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pModule3 + 44 /* &.xColumn */))))(tls, *(*uintptr)(unsafe.Pointer(pCur4 + 40 /* &.uc */)), bp+716 /* &sContext */, (*Op)(unsafe.Pointer(pOp)).Fp2) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule3)).FxColumn})).f(tls, *(*uintptr)(unsafe.Pointer(pCur4 + 40 /* &.uc */)), bp+716 /* &sContext */, (*Op)(unsafe.Pointer(pOp)).Fp2) Xsqlite3VtabImportErrmsg(tls, p, pVtab3) if !((*Sqlite3_context)(unsafe.Pointer(bp+716 /* &sContext */)).FisError > 0) { goto __834 @@ -73675,7 +73915,9 @@ __837: // xNext(). Instead, if an error occurs, true is returned (indicating that // data is available) and the error code returned when xColumn or // some other method is next invoked on the save virtual table cursor. - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule4 + 36 /* &.xNext */))))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 40 /* &.uc */))) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule4)).FxNext})).f(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 40 /* &.uc */))) Xsqlite3VtabImportErrmsg(tls, p, pVtab4) if !(rc != 0) { goto __838 @@ -73683,7 +73925,9 @@ __837: goto abort_due_to_error __838: ; - res14 = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule4 + 40 /* &.xEof */))))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 40 /* &.uc */))) + res14 = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule4)).FxEof})).f(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 40 /* &.uc */))) if !(!(res14 != 0)) { goto __839 @@ -73713,7 +73957,9 @@ __175: goto abort_due_to_error __840: ; - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(pVtab5)).FpModule + 76 /* &.xRename */))))(tls, pVtab5, (*Mem)(unsafe.Pointer(pName)).Fz) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer((*Sqlite3_vtab)(unsafe.Pointer(pVtab5)).FpModule)).FxRename})).f(tls, pVtab5, (*Mem)(unsafe.Pointer(pName)).Fz) if !(isLegacy == 0) { goto __841 } @@ -73799,7 +74045,9 @@ __847: __848: ; (*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict = U8((*Op)(unsafe.Pointer(pOp)).Fp5) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pModule5 + 52 /* &.xUpdate */))))(tls, pVtab6, nArg1, apArg1, bp+752 /* &rowid1 */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule5)).FxUpdate})).f(tls, pVtab6, nArg1, apArg1, bp+752 /* &rowid1 */) (*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict = vtabOnConflict Xsqlite3VtabImportErrmsg(tls, p, pVtab6) if !((rc == SQLITE_OK) && ((*Op)(unsafe.Pointer(pOp)).Fp1 != 0)) { @@ -73953,7 +74201,9 @@ __857: (*Mem)(unsafe.Pointer(pOut)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pOut))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Null)) - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FpFunc + 16 /* &.xSFunc */))))(tls, pCtx2, int32((*Sqlite3_context)(unsafe.Pointer(pCtx2)).Fargc), pCtx2+28 /* &.argv */) // IMP: R-24505-23230 + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FpFunc)).FxSFunc})).f(tls, pCtx2, int32((*Sqlite3_context)(unsafe.Pointer(pCtx2)).Fargc), pCtx2+28 /* &.argv */) // IMP: R-24505-23230 // If the function returned an error, throw an exception if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError != 0) { @@ -74045,7 +74295,9 @@ __182: goto __867 } z2 = Xsqlite3VdbeExpandSql(tls, p, zTrace) - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((db + 208 /* &.trace */ /* &.xLegacy */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, z2) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 208 /* &.trace */))})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, z2) Xsqlite3_free(tls, z2) goto __868 __867: @@ -74053,11 +74305,15 @@ __867: goto __869 } z3 = Xsqlite3MPrintf(tls, db, ts+5143 /* "-- %s" */, libc.VaList(bp+136, zTrace)) - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 208 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 208 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) Xsqlite3DbFree(tls, db, z3) goto __870 __869: - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 208 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, zTrace) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 208 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, zTrace) __870: ; __868: @@ -74187,7 +74443,9 @@ __883: goto __884 } nProgressLimit = nProgressLimit + (U64((*Sqlite3)(unsafe.Pointer(db)).FnProgressOps)) - if !((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((db + 360 /* &.xProgress */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProgressArg) != 0) { + if !((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxProgress})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProgressArg) != 0) { goto __885 } nProgressLimit = (uint64(0xffffffff) | (U64((uint64(0xffffffff))) << 32)) @@ -74253,15 +74511,15 @@ var vfsFlags int32 = ((((SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE) | SQLITE_OP // Valid sqlite3_blob* handles point to Incrblob structures. type Incrblob1 = struct { - FnByte int32 - FiOffset int32 - FiCol U16 - _ [2]byte - FpCsr uintptr - FpStmt uintptr - Fdb uintptr - FzDb uintptr - FpTab uintptr + FnByte int32 + FiOffset int32 + FiCol U16 + F__ccgo_pad1 [2]byte + FpCsr uintptr + FpStmt uintptr + Fdb uintptr + FzDb uintptr + FpTab uintptr } /* sqlite3.c:94829:9 */ //************* End of vdbe.c *********************************************** @@ -74770,7 +75028,9 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int v, *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(v)).FapCsr)), SQLITE_DELETE, (*Incrblob)(unsafe.Pointer(p)).FzDb, (*Incrblob)(unsafe.Pointer(p)).FpTab, iKey, -1, int32((*Incrblob)(unsafe.Pointer(p)).FiCol)) } - rc = (*(*func(*libc.TLS, uintptr, U32, U32, uintptr) int32)(unsafe.Pointer(&xCall)))(tls, (*Incrblob)(unsafe.Pointer(p)).FpCsr, (uint32(iOffset + (*Incrblob)(unsafe.Pointer(p)).FiOffset)), uint32(n), z) + rc = (*struct { + f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xCall})).f(tls, (*Incrblob)(unsafe.Pointer(p)).FpCsr, (uint32(iOffset + (*Incrblob)(unsafe.Pointer(p)).FiOffset)), uint32(n), z) Xsqlite3BtreeLeaveCursor(tls, (*Incrblob)(unsafe.Pointer(p)).FpCsr) if rc == SQLITE_ABORT { Xsqlite3VdbeFinalize(tls, v) @@ -75167,32 +75427,32 @@ type MergeEngine1 = struct { // Private objects used by the sorter type MergeEngine = MergeEngine1 /* sqlite3.c:95477:28 */ // Merge PMAs together type PmaReader1 = struct { - FiReadOff I64 - FiEof I64 - FnAlloc int32 - FnKey int32 - FpFd uintptr - FaAlloc uintptr - FaKey uintptr - FaBuffer uintptr - FnBuffer int32 - FaMap uintptr - FpIncr uintptr - _ [4]byte + FiReadOff I64 + FiEof I64 + FnAlloc int32 + FnKey int32 + FpFd uintptr + FaAlloc uintptr + FaKey uintptr + FaBuffer uintptr + FnBuffer int32 + FaMap uintptr + FpIncr uintptr + F__ccgo_pad1 [4]byte } /* sqlite3.c:21218:9 */ // Merge PMAs together type PmaReader = PmaReader1 /* sqlite3.c:95478:26 */ // Incrementally read one PMA type PmaWriter1 = struct { - FeFWErr int32 - FaBuffer uintptr - FnBuffer int32 - FiBufStart int32 - FiBufEnd int32 - _ [4]byte - FiWriteOff I64 - FpFd uintptr - _ [4]byte + FeFWErr int32 + FaBuffer uintptr + FnBuffer int32 + FiBufStart int32 + FiBufEnd int32 + F__ccgo_pad1 [4]byte + FiWriteOff I64 + FpFd uintptr + F__ccgo_pad2 [4]byte } /* sqlite3.c:95479:9 */ // Incrementally read one PMA @@ -75205,24 +75465,24 @@ type SorterRecord1 = struct { // Incrementally write one PMA type SorterRecord = SorterRecord1 /* sqlite3.c:95480:29 */ // A record being sorted type SortSubtask1 = struct { - FpThread uintptr - FbDone int32 - FpSorter uintptr - FpUnpacked uintptr - Flist SorterList - FnPMA int32 - FxCompare SorterCompare - _ [4]byte - Ffile SorterFile - Ffile2 SorterFile + FpThread uintptr + FbDone int32 + FpSorter uintptr + FpUnpacked uintptr + Flist SorterList + FnPMA int32 + FxCompare SorterCompare + F__ccgo_pad1 [4]byte + Ffile SorterFile + Ffile2 SorterFile } /* sqlite3.c:21218:9 */ // A record being sorted type SortSubtask = SortSubtask1 /* sqlite3.c:95481:28 */ // A sub-task in the sort process type SorterFile1 = struct { - FpFd uintptr - _ [4]byte - FiEof I64 + FpFd uintptr + F__ccgo_pad1 [4]byte + FiEof I64 } /* sqlite3.c:21218:9 */ // A sub-task in the sort process @@ -75236,14 +75496,14 @@ type SorterList1 = struct { // Temporary file object wrapper type SorterList = SorterList1 /* sqlite3.c:95483:27 */ // In-memory list of records type IncrMerger1 = struct { - FpTask uintptr - FpMerger uintptr - FiStartOff I64 - FmxSz int32 - FbEof int32 - FbUseThread int32 - _ [4]byte - FaFile [2]SorterFile + FpTask uintptr + FpMerger uintptr + FiStartOff I64 + FmxSz int32 + FbEof int32 + FbUseThread int32 + F__ccgo_pad1 [4]byte + FaFile [2]SorterFile } /* sqlite3.c:21218:9 */ // In-memory list of records @@ -76075,7 +76335,9 @@ func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintp for { var res int32 - res = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer((pTask + 32 /* &.xCompare */))))(tls, + res = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SortSubtask)(unsafe.Pointer(pTask)).FxCompare})).f(tls, pTask, bp+4 /* &bCached */, ((p1) + uintptr(1)*8), (*SorterRecord)(unsafe.Pointer(p1)).FnVal, ((p2) + uintptr(1)*8), (*SorterRecord)(unsafe.Pointer(p2)).FnVal) if res <= 0 { @@ -76346,7 +76608,9 @@ func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { } else if (*PmaReader)(unsafe.Pointer(pReadr2)).FpFd == uintptr(0) { iRes = -1 } else { - iRes = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer((pTask + 32 /* &.xCompare */))))(tls, pTask, bp, /* &bCached */ + iRes = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SortSubtask)(unsafe.Pointer(pTask)).FxCompare})).f(tls, pTask, bp, /* &bCached */ (*PmaReader)(unsafe.Pointer(pReadr1)).FaKey, (*PmaReader)(unsafe.Pointer(pReadr1)).FnKey, (*PmaReader)(unsafe.Pointer(pReadr2)).FaKey, (*PmaReader)(unsafe.Pointer(pReadr2)).FnKey) } @@ -76755,7 +77019,9 @@ func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sql *(*int32)(unsafe.Pointer(bp /* bCached */)) = 0 var res int32 // from vdbeSortSubtaskMain() - res = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer((pTask + 32 /* &.xCompare */))))(tls, + res = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SortSubtask)(unsafe.Pointer(pTask)).FxCompare})).f(tls, pTask, bp /* &bCached */, (*PmaReader)(unsafe.Pointer(p1)).FaKey, (*PmaReader)(unsafe.Pointer(p1)).FnKey, (*PmaReader)(unsafe.Pointer(p2)).FaKey, (*PmaReader)(unsafe.Pointer(p2)).FnKey) if res <= 0 { iRes = i1 @@ -77436,16 +77702,16 @@ func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCo // Forward references to internal structures type MemJournal1 = struct { - FpMethod uintptr - FnChunkSize int32 - FnSpill int32 - FpFirst uintptr - Fendpoint FilePoint - Freadpoint FilePoint - Fflags int32 - FpVfs uintptr - FzJournal uintptr - _ [4]byte + FpMethod uintptr + FnChunkSize int32 + FnSpill int32 + FpFirst uintptr + Fendpoint FilePoint + Freadpoint FilePoint + Fflags int32 + FpVfs uintptr + FzJournal uintptr + F__ccgo_pad1 [4]byte } /* sqlite3.c:98540:9 */ //************* End of vdbesort.c ******************************************* @@ -77495,9 +77761,9 @@ type MemJournal1 = struct { // Forward references to internal structures type MemJournal = MemJournal1 /* sqlite3.c:98540:27 */ type FilePoint1 = struct { - FiOffset Sqlite3_int64 - FpChunk uintptr - _ [4]byte + FiOffset Sqlite3_int64 + FpChunk uintptr + F__ccgo_pad1 [4]byte } /* sqlite3.c:98540:9 */ type FilePoint = FilePoint1 /* sqlite3.c:98541:26 */ @@ -77860,7 +78126,9 @@ func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3. var rc int32 for 1 != 0 { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pWalker + 4 /* &.xExprCallback */))))(tls, pWalker, pExpr) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Walker)(unsafe.Pointer(pWalker)).FxExprCallback})).f(tls, pWalker, pExpr) if rc != 0 { return (rc & WRC_Abort) } @@ -78044,7 +78312,9 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq return WRC_Continue } for ok := true; ok; ok = (p != uintptr(0)) { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pWalker + 8 /* &.xSelectCallback */))))(tls, pWalker, p) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Walker)(unsafe.Pointer(pWalker)).FxSelectCallback})).f(tls, pWalker, p) if rc != 0 { return (rc & WRC_Abort) } @@ -78053,7 +78323,9 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq return WRC_Abort } if (*Walker)(unsafe.Pointer(pWalker)).FxSelectCallback2 != 0 { - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pWalker + 12 /* &.xSelectCallback2 */))))(tls, pWalker, p) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Walker)(unsafe.Pointer(pWalker)).FxSelectCallback2})).f(tls, pWalker, p) } p = (*Select)(unsafe.Pointer(p)).FpPrior } @@ -78232,15 +78504,15 @@ func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr return 0 } zSpan = (*ExprList_item)(unsafe.Pointer(pItem)).FzEName - for n = 0; (*(*int8)(unsafe.Pointer(zSpan + uintptr(n))) != 0) && (int32(*(*int8)(unsafe.Pointer(zSpan + uintptr(n)))) != '.'); n++ { + for n = 0; (*(*uint8)(unsafe.Pointer(zSpan + uintptr(n))) != 0) && (int32(*(*uint8)(unsafe.Pointer(zSpan + uintptr(n)))) != '.'); n++ { } - if (zDb != 0) && ((Xsqlite3_strnicmp(tls, zSpan, zDb, n) != 0) || (int32(*(*int8)(unsafe.Pointer(zDb + uintptr(n)))) != 0)) { + if (zDb != 0) && ((Xsqlite3_strnicmp(tls, zSpan, zDb, n) != 0) || (int32(*(*uint8)(unsafe.Pointer(zDb + uintptr(n)))) != 0)) { return 0 } zSpan += (uintptr(n + 1)) - for n = 0; (*(*int8)(unsafe.Pointer(zSpan + uintptr(n))) != 0) && (int32(*(*int8)(unsafe.Pointer(zSpan + uintptr(n)))) != '.'); n++ { + for n = 0; (*(*uint8)(unsafe.Pointer(zSpan + uintptr(n))) != 0) && (int32(*(*uint8)(unsafe.Pointer(zSpan + uintptr(n)))) != '.'); n++ { } - if (zTab != 0) && ((Xsqlite3_strnicmp(tls, zSpan, zTab, n) != 0) || (int32(*(*int8)(unsafe.Pointer(zTab + uintptr(n)))) != 0)) { + if (zTab != 0) && ((Xsqlite3_strnicmp(tls, zSpan, zTab, n) != 0) || (int32(*(*uint8)(unsafe.Pointer(zTab + uintptr(n)))) != 0)) { return 0 } zSpan += (uintptr(n + 1)) @@ -78714,7 +78986,7 @@ __58: if !(iCol < 0) { goto __60 } - (*Expr)(unsafe.Pointer(pExpr)).FaffExpr = int8(SQLITE_AFF_INTEGER) + (*Expr)(unsafe.Pointer(pExpr)).FaffExpr = uint8(SQLITE_AFF_INTEGER) goto __61 __60: if !((*Expr)(unsafe.Pointer(pExpr)).FiTable == 0) { @@ -78763,7 +79035,7 @@ __36: } cnt = 1 (*Expr)(unsafe.Pointer(pExpr)).FiColumn = int16(-1) - (*Expr)(unsafe.Pointer(pExpr)).FaffExpr = int8(SQLITE_AFF_INTEGER) + (*Expr)(unsafe.Pointer(pExpr)).FaffExpr = uint8(SQLITE_AFF_INTEGER) __64: ; @@ -79097,7 +79369,7 @@ func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99948:12: */ if *(*float64)(unsafe.Pointer(bp /* r */)) > 1.0 { return -1 } - return (int32(*(*float64)(unsafe.Pointer(bp /* r */)) * 134217728.0)) + return (libc.Int32FromFloat64(*(*float64)(unsafe.Pointer(bp /* r */)) * 134217728.0)) } // This routine is callback for sqlite3WalkExpr(). @@ -79136,7 +79408,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s *(*uintptr)(unsafe.Pointer(pExpr + 44 /* &.y */)) = (*SrcItem)(unsafe.Pointer(pItem)).FpTab (*Expr)(unsafe.Pointer(pExpr)).FiTable = (*SrcItem)(unsafe.Pointer(pItem)).FiCursor (*Expr)(unsafe.Pointer(pExpr)).FiColumn-- - (*Expr)(unsafe.Pointer(pExpr)).FaffExpr = int8(SQLITE_AFF_INTEGER) + (*Expr)(unsafe.Pointer(pExpr)).FaffExpr = uint8(SQLITE_AFF_INTEGER) break } @@ -79320,7 +79592,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // to likelihood(X,0.9375). // TUNING: unlikely() probability is 0.0625. likely() is 0.9375 (*Expr)(unsafe.Pointer(pExpr)).FiTable = func() int32 { - if int32(*(*int8)(unsafe.Pointer((*FuncDef)(unsafe.Pointer(pDef)).FzName))) == 'u' { + if int32(*(*uint8)(unsafe.Pointer((*FuncDef)(unsafe.Pointer(pDef)).FzName))) == 'u' { return 8388608 } return 125829120 @@ -79932,7 +80204,7 @@ __1: if pE2 == uintptr(0) { goto __2 } - if int32(*(*int8)(unsafe.Pointer(zType))) != 'G' { + if int32(*(*uint8)(unsafe.Pointer(zType))) != 'G' { *(*int32)(unsafe.Pointer(bp /* iCol */)) = resolveAsName(tls, pParse, (*Select)(unsafe.Pointer(pSelect)).FpEList, pE2) if *(*int32)(unsafe.Pointer(bp /* iCol */)) > 0 { // If an AS-name match is found, mark this ORDER BY column as being @@ -80450,12 +80722,12 @@ func Xsqlite3ResolveSelfReference(tls *libc.TLS, pParse uintptr, pTab uintptr, t } // Return the affinity character for a single column of a table. -func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { /* sqlite3.c:101251:21: */ +func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) uint8 { /* sqlite3.c:101251:21: */ if iCol >= 0 { return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20)).Faffinity } - return int8(SQLITE_AFF_INTEGER) + return uint8(SQLITE_AFF_INTEGER) } // Return the 'affinity' of the expression pExpr if any. @@ -80472,7 +80744,7 @@ func Xsqlite3TableColumnAffinity(tls *libc.TLS, pTab uintptr, iCol int32) int8 { // SELECT * FROM t1 WHERE a; // SELECT a AS b FROM t1 WHERE b; // SELECT * FROM t1 WHERE (select a from t1); -func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:101272:21: */ +func Xsqlite3ExprAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:101272:21: */ var op int32 for ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Skip | EP_IfNullRow))) != U32(0) { @@ -80659,33 +80931,33 @@ func Xsqlite3ExprCollSeqMatch(tls *libc.TLS, pParse uintptr, pE1 uintptr, pE2 ui // pExpr is an operand of a comparison operator. aff2 is the // type affinity of the other operand. This routine returns the // type affinity that should be used for the comparison operator. -func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 int8) int8 { /* sqlite3.c:101480:21: */ - var aff1 int8 = Xsqlite3ExprAffinity(tls, pExpr) +func Xsqlite3CompareAffinity(tls *libc.TLS, pExpr uintptr, aff2 uint8) uint8 { /* sqlite3.c:101480:21: */ + var aff1 uint8 = Xsqlite3ExprAffinity(tls, pExpr) if (int32(aff1) > SQLITE_AFF_NONE) && (int32(aff2) > SQLITE_AFF_NONE) { // Both sides of the comparison are columns. If one has numeric // affinity, use that. Otherwise use no affinity. if ((int32(aff1)) >= SQLITE_AFF_NUMERIC) || ((int32(aff2)) >= SQLITE_AFF_NUMERIC) { - return int8(SQLITE_AFF_NUMERIC) + return uint8(SQLITE_AFF_NUMERIC) } else { - return int8(SQLITE_AFF_BLOB) + return uint8(SQLITE_AFF_BLOB) } } else { // One side is a column, the other is not. Use the columns affinity. - return (int8((func() int32 { + return (uint8((func() int32 { if int32(aff1) <= SQLITE_AFF_NONE { return int32(aff2) } return int32(aff1) }()) | SQLITE_AFF_NONE)) } - return int8(0) + return uint8(0) } // pExpr is a comparison operator. Return the type affinity that should // be applied to both operands prior to doing the comparison. -func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:101502:13: */ - var aff int8 +func comparisonAffinity(tls *libc.TLS, pExpr uintptr) uint8 { /* sqlite3.c:101502:13: */ + var aff uint8 aff = Xsqlite3ExprAffinity(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) if (*Expr)(unsafe.Pointer(pExpr)).FpRight != 0 { @@ -80693,7 +80965,7 @@ func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:101502 } else if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_xIsSelect))) != U32(0) { aff = Xsqlite3CompareAffinity(tls, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)))).FpEList + 8 /* &.a */))).FpExpr, aff) } else if int32(aff) == 0 { - aff = int8(SQLITE_AFF_BLOB) + aff = uint8(SQLITE_AFF_BLOB) } return aff } @@ -80702,8 +80974,8 @@ func comparisonAffinity(tls *libc.TLS, pExpr uintptr) int8 { /* sqlite3.c:101502 // idx_affinity is the affinity of an indexed column. Return true // if the index with affinity idx_affinity may be used to implement // the comparison in pExpr. -func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) int32 { /* sqlite3.c:101525:20: */ - var aff int8 = comparisonAffinity(tls, pExpr) +func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity uint8) int32 { /* sqlite3.c:101525:20: */ + var aff uint8 = comparisonAffinity(tls, pExpr) if int32(aff) < SQLITE_AFF_TEXT { return 1 } @@ -80717,7 +80989,7 @@ func Xsqlite3IndexAffinityOk(tls *libc.TLS, pExpr uintptr, idx_affinity int8) in // opcode (OP_Eq, OP_Ge etc.) used to compare pExpr1 and pExpr2. func binaryCompareP5(tls *libc.TLS, pExpr1 uintptr, pExpr2 uintptr, jumpIfNull int32) U8 { /* sqlite3.c:101540:11: */ var aff U8 = U8(Xsqlite3ExprAffinity(tls, pExpr2)) - aff = (U8(int32(U8(Xsqlite3CompareAffinity(tls, pExpr1, int8(aff)))) | int32(U8(jumpIfNull)))) + aff = (U8(int32(U8(Xsqlite3CompareAffinity(tls, pExpr1, uint8(aff)))) | int32(U8(jumpIfNull)))) return aff } @@ -81192,8 +81464,8 @@ func Xsqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ if (*Token)(unsafe.Pointer(pToken)).Fn != 0 { libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(pNew + 8 /* &.u */)), (*Token)(unsafe.Pointer(pToken)).Fz, (*Token)(unsafe.Pointer(pToken)).Fn) } - *(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNew + 8 /* &.u */)) + uintptr((*Token)(unsafe.Pointer(pToken)).Fn))) = int8(0) - if (dequote != 0) && ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNew + 8 /* &.u */)))))]) & 0x80) != 0) { + *(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNew + 8 /* &.u */)) + uintptr((*Token)(unsafe.Pointer(pToken)).Fn))) = uint8(0) + if (dequote != 0) && ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNew + 8 /* &.u */)))))]) & 0x80) != 0) { Xsqlite3DequoteExpr(tls, pNew) } } @@ -81377,20 +81649,20 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n z = *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) - if int32(*(*int8)(unsafe.Pointer(z + 1))) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + 1))) == 0 { // Wildcard of the form "?". Assign the next variable number x = libc.PreIncInt16(&(*Parse)(unsafe.Pointer(pParse)).FnVar, 1) } else { var doAdd int32 = 0 - if int32(*(*int8)(unsafe.Pointer(z))) == '?' { + if int32(*(*uint8)(unsafe.Pointer(z))) == '?' { // Wildcard of the form "?nnn". Convert "nnn" to an integer and // use it as the variable number // var i I64 at bp+8, 8 var bOk int32 if n == U32(2) { //OPTIMIZATION-IF-TRUE - *(*I64)(unsafe.Pointer(bp + 8 /* i */)) = (I64(int32(*(*int8)(unsafe.Pointer(z + 1))) - '0')) // The common case of ?N for a single digit N + *(*I64)(unsafe.Pointer(bp + 8 /* i */)) = (I64(int32(*(*uint8)(unsafe.Pointer(z + 1))) - '0')) // The common case of ?N for a single digit N bOk = 1 } else { bOk = (libc.Bool32(0 == Xsqlite3Atoi64(tls, (z+1), bp+8 /* &i */, (int32(n-U32(1))), uint8(SQLITE_UTF8)))) @@ -82312,7 +82584,7 @@ func Xsqlite3ExprIdToTrueFalse(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3. func Xsqlite3ExprTruthValue(tls *libc.TLS, pExpr uintptr) int32 { /* sqlite3.c:103237:20: */ pExpr = Xsqlite3ExprSkipCollate(tls, pExpr) - return (libc.Bool32(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) + 4))) == 0)) + return (libc.Bool32(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) + 4))) == 0)) } // If pExpr is an AND or OR expression, try to simplify it by eliminating @@ -82677,7 +82949,7 @@ func Xsqlite3ExprCanBeNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:103578 // can be omitted. When in doubt return FALSE. A false negative // is harmless. A false positive, however, can result in the wrong // answer. -func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 { /* sqlite3.c:103614:20: */ +func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff uint8) int32 { /* sqlite3.c:103614:20: */ var op U8 var unaryMinus int32 = 0 if int32(aff) == SQLITE_AFF_BLOB { @@ -82979,8 +83251,8 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, for i = 0; (i < nExpr) && (affinity_ok != 0); i++ { var pLhs uintptr = Xsqlite3VectorFieldSubexpr(tls, (*Expr)(unsafe.Pointer(pX)).FpLeft, i) var iCol int32 = int32((*Expr)(unsafe.Pointer((*ExprList_item)(unsafe.Pointer((pEList + 8 /* &.a */) + uintptr(i)*20)).FpExpr)).FiColumn) - var idxaff int8 = Xsqlite3TableColumnAffinity(tls, pTab, iCol) // RHS table - var cmpaff int8 = Xsqlite3CompareAffinity(tls, pLhs, idxaff) + var idxaff uint8 = Xsqlite3TableColumnAffinity(tls, pTab, iCol) // RHS table + var cmpaff uint8 = Xsqlite3CompareAffinity(tls, pLhs, idxaff) switch int32(cmpaff) { case SQLITE_AFF_BLOB: @@ -83141,14 +83413,14 @@ func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* s var i int32 for i = 0; i < nVal; i++ { var pA uintptr = Xsqlite3VectorFieldSubexpr(tls, pLeft, i) - var a int8 = Xsqlite3ExprAffinity(tls, pA) + var a uint8 = Xsqlite3ExprAffinity(tls, pA) if pSelect != 0 { - *(*int8)(unsafe.Pointer(zRet + uintptr(i))) = Xsqlite3CompareAffinity(tls, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(pSelect)).FpEList+8 /* &.a */)+uintptr(i)*20)).FpExpr, a) + *(*uint8)(unsafe.Pointer(zRet + uintptr(i))) = Xsqlite3CompareAffinity(tls, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(pSelect)).FpEList+8 /* &.a */)+uintptr(i)*20)).FpExpr, a) } else { - *(*int8)(unsafe.Pointer(zRet + uintptr(i))) = a + *(*uint8)(unsafe.Pointer(zRet + uintptr(i))) = a } } - *(*int8)(unsafe.Pointer(zRet + uintptr(nVal))) = int8(0) + *(*uint8)(unsafe.Pointer(zRet + uintptr(nVal))) = uint8(0) } return zRet } @@ -83315,18 +83587,18 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // store it in the temporary table. If <expr> is a column, then use // that columns affinity when building index keys. If <expr> is not // a column, use numeric affinity. - // var affinity int8 at bp+52, 1 + // var affinity uint8 at bp+52, 1 // Affinity of the LHS of the IN var i int32 var pList uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)) var pItem uintptr var r1 int32 var r2 int32 - *(*int8)(unsafe.Pointer(bp + 52 /* affinity */)) = Xsqlite3ExprAffinity(tls, pLeft) - if int32(*(*int8)(unsafe.Pointer(bp + 52 /* affinity */))) <= SQLITE_AFF_NONE { - *(*int8)(unsafe.Pointer(bp + 52 /* affinity */)) = int8(SQLITE_AFF_BLOB) - } else if int32(*(*int8)(unsafe.Pointer(bp + 52 /* affinity */))) == SQLITE_AFF_REAL { - *(*int8)(unsafe.Pointer(bp + 52 /* affinity */)) = int8(SQLITE_AFF_NUMERIC) + *(*uint8)(unsafe.Pointer(bp + 52 /* affinity */)) = Xsqlite3ExprAffinity(tls, pLeft) + if int32(*(*uint8)(unsafe.Pointer(bp + 52 /* affinity */))) <= SQLITE_AFF_NONE { + *(*uint8)(unsafe.Pointer(bp + 52 /* affinity */)) = uint8(SQLITE_AFF_BLOB) + } else if int32(*(*uint8)(unsafe.Pointer(bp + 52 /* affinity */))) == SQLITE_AFF_REAL { + *(*uint8)(unsafe.Pointer(bp + 52 /* affinity */)) = uint8(SQLITE_AFF_NUMERIC) } if pKeyInfo != 0 { @@ -83482,7 +83754,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6506 /* "0" */) if pLimit != 0 { - (*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) + (*Expr)(unsafe.Pointer(pLimit)).FaffExpr = uint8(SQLITE_AFF_NUMERIC) pLimit = Xsqlite3PExpr(tls, pParse, TK_NE, Xsqlite3ExprDup(tls, db, (*Expr)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpLimit)).FpLeft, 0), pLimit) } @@ -83611,7 +83883,7 @@ __1: zAff = exprINAffinity(tls, pParse, pExpr) nVector = Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) aiMap = Xsqlite3DbMallocZero(tls, - (*Parse)(unsafe.Pointer(pParse)).Fdb, (uint64((uint32(nVector) * (uint32(unsafe.Sizeof(int32(0))) + uint32(unsafe.Sizeof(int8(0))))) + uint32(1)))) + (*Parse)(unsafe.Pointer(pParse)).Fdb, (uint64((uint32(nVector) * (uint32(unsafe.Sizeof(int32(0))) + uint32(unsafe.Sizeof(uint8(0))))) + uint32(1)))) if !((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0) { goto __2 } @@ -83733,7 +84005,7 @@ __16: Xsqlite3VdbeAddOp4(tls, v, op, rLhs, labelOk, r2, pColl, -2) - Xsqlite3VdbeChangeP5(tls, v, uint16(*(*int8)(unsafe.Pointer(zAff)))) + Xsqlite3VdbeChangeP5(tls, v, uint16(*(*uint8)(unsafe.Pointer(zAff)))) goto __18 __17: if rLhs != r2 { @@ -83745,7 +84017,7 @@ __17: Xsqlite3VdbeAddOp4(tls, v, op1, rLhs, destIfFalse, r2, pColl, -2) - Xsqlite3VdbeChangeP5(tls, v, (uint16(int32(*(*int8)(unsafe.Pointer(zAff))) | SQLITE_JUMPIFNULL))) + Xsqlite3VdbeChangeP5(tls, v, (uint16(int32(*(*uint8)(unsafe.Pointer(zAff))) | SQLITE_JUMPIFNULL))) __18: ; goto __14 @@ -84711,7 +84983,7 @@ __12: ; Xsqlite3VdbeAddOp2(tls, v, OP_Variable, int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn), target) - if !(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) + 1))) != 0) { + if !(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) + 1))) != 0) { goto __77 } z1 = Xsqlite3VListNumToName(tls, (*Parse)(unsafe.Pointer(pParse)).FpVList, int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn)) @@ -85354,7 +85626,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 7073 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ +var zAff = *(*[8]uint8)(unsafe.Pointer(ts + 7073 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -85638,7 +85910,9 @@ func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, x (*Expr)(unsafe.Pointer(bp + 52 /* &compRight */)).FpRight = (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)) + 8 /* &.a */) + 1*20)).FpExpr exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+156 /* ®Free1 */)) if xJump != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32, int32))(unsafe.Pointer(&xJump)))(tls, pParse, bp+104 /* &exprAnd */, dest, jumpIfNull) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, int32) + })(unsafe.Pointer(&struct{ uintptr }{xJump})).f(tls, pParse, bp+104 /* &exprAnd */, dest, jumpIfNull) } else { // Mark the expression is being from the ON or USING clause of a join // so that the sqlite3ExprCodeTarget() routine will not attempt to move @@ -87552,8 +87826,8 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr if zCol != 0 { var zEnd uintptr = (zCol + uintptr(((*Token)(unsafe.Pointer(pColDef)).Fn - uint32(1)))) var savedDbFlags U32 = (*Sqlite3)(unsafe.Pointer(db)).FmDbFlags - for (zEnd > zCol) && ((int32(*(*int8)(unsafe.Pointer(zEnd))) == ';') || ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zEnd)))]) & 0x01) != 0)) { - *(*int8)(unsafe.Pointer(libc.PostDecUintptr(&zEnd, 1))) = int8(0) + for (zEnd > zCol) && ((int32(*(*uint8)(unsafe.Pointer(zEnd))) == ';') || ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zEnd)))]) & 0x01) != 0)) { + *(*uint8)(unsafe.Pointer(libc.PostDecUintptr(&zEnd, 1))) = uint8(0) } *(*U32)(unsafe.Pointer(db + 24 /* &.mDbFlags */)) |= (U32(DBFLAG_PreferBuiltin)) // substr() operations on characters, but addColOffset is in bytes. So we @@ -87847,7 +88121,7 @@ __10: __11: ; - bQuote = (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(pNew)).Fz)))]) & 0x80) + bQuote = (int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer((*Token)(unsafe.Pointer(pNew)).Fz)))]) & 0x80) Xsqlite3NestedParse(tls, pParse, ts+9280, /* "UPDATE \"%w\".sqli..." */ @@ -88159,7 +88433,7 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui zErr = Xsqlite3_mprintf(tls, ts+9629, /* "error in %s %s%s..." */ libc.VaList(bp, zT, zN, func() uintptr { - if *(*int8)(unsafe.Pointer(zWhen)) != 0 { + if *(*uint8)(unsafe.Pointer(zWhen)) != 0 { return ts + 9652 /* " " */ } return ts + 755 /* "" */ @@ -88301,13 +88575,13 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z var pBest uintptr = renameColumnTokenNext(tls, pRename) if zNew != 0 { - if (bQuote == 0) && (Xsqlite3IsIdChar(tls, uint8(*(*int8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz)))) != 0) { + if (bQuote == 0) && (Xsqlite3IsIdChar(tls, uint8(*(*uint8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz)))) != 0) { nReplace = U32(nNew) zReplace = zNew } else { nReplace = U32(nQuot) zReplace = zQuot - if int32(*(*int8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == '"' { + if int32(*(*uint8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == '"' { nReplace++ } } @@ -88319,11 +88593,11 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // token. This is so that (SELECT "string"'alias') maps to // (SELECT 'string' 'alias'), and not (SELECT 'string''alias'). libc.Xmemcpy(tls, zBuf1, (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz, (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn) - *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = int8(0) + *(*uint8)(unsafe.Pointer(zBuf1 + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = uint8(0) Xsqlite3Dequote(tls, zBuf1) Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+9660 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, func() uintptr { - if int32(*(*int8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == '\'' { + if int32(*(*uint8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == '\'' { return ts + 9652 /* " " */ } return ts + 755 /* "" */ @@ -88337,7 +88611,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z libc.Xmemmove(tls, (zOut + uintptr((U32(iOff) + nReplace))), (zOut + uintptr((uint32(iOff) + (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn))), (uint32(nOut) - (uint32(iOff) + (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) nOut = int32(U32(nOut) + (nReplace - (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)) - *(*int8)(unsafe.Pointer(zOut + uintptr(nOut))) = int8(0) + *(*uint8)(unsafe.Pointer(zOut + uintptr(nOut))) = uint8(0) } libc.Xmemcpy(tls, (zOut + uintptr(iOff)), zReplace, nReplace) Xsqlite3DbFree(tls, db, pBest) @@ -89283,7 +89557,7 @@ __2: __3: zEnd = (zSql + uintptr((*Table)(unsafe.Pointer(pTab)).FaddColOffset)) __5: - if !((int32(*(*int8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz))) != 0) && (int32(*(*int8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz))) != ',')) { + if !((int32(*(*uint8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz))) != 0) && (int32(*(*uint8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz))) != ',')) { goto __6 } (*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz-- @@ -89783,25 +90057,25 @@ var aTable = [3]struct { // share an instance of the following structure to hold their state // information. type StatAccum1 = struct { - Fdb uintptr - FnEst TRowcnt - FnRow TRowcnt - FnLimit int32 - FnCol int32 - FnKeyCol int32 - FnSkipAhead U8 - _ [7]byte - Fcurrent StatSample - FnPSample TRowcnt - FmxSample int32 - FiPrn U32 - FaBest uintptr - FiMin int32 - FnSample int32 - FnMaxEqZero int32 - FiGet int32 - Fa uintptr - _ [4]byte + Fdb uintptr + FnEst TRowcnt + FnRow TRowcnt + FnLimit int32 + FnCol int32 + FnKeyCol int32 + FnSkipAhead U8 + F__ccgo_pad1 [7]byte + Fcurrent StatSample + FnPSample TRowcnt + FmxSample int32 + FiPrn U32 + FaBest uintptr + FiMin int32 + FnSample int32 + FnMaxEqZero int32 + FiGet int32 + Fa uintptr + F__ccgo_pad2 [4]byte } /* sqlite3.c:109861:9 */ // Recommended number of samples for sqlite_stat4 @@ -89811,16 +90085,16 @@ type StatAccum1 = struct { // information. type StatAccum = StatAccum1 /* sqlite3.c:109861:26 */ type StatSample1 = struct { - FanEq uintptr - FanDLt uintptr - FanLt uintptr - _ [4]byte - Fu struct{ FiRowid I64 } - FnRowid U32 - FisPSample U8 - _ [3]byte - FiCol int32 - FiHash U32 + FanEq uintptr + FanDLt uintptr + FanLt uintptr + F__ccgo_pad1 [4]byte + Fu struct{ FiRowid I64 } + FnRowid U32 + FisPSample U8 + F__ccgo_pad2 [3]byte + FiCol int32 + FiHash U32 } /* sqlite3.c:109861:9 */ type StatSample = StatSample1 /* sqlite3.c:109862:27 */ @@ -90445,7 +90719,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli z += uintptr(Xsqlite3Strlen30(tls, z)) } - *(*int8)(unsafe.Pointer(z + libc.UintptrFromInt32(-1))) = int8(0) + *(*uint8)(unsafe.Pointer(z + libc.UintptrFromInt32(-1))) = uint8(0) Xsqlite3_result_text(tls, context, zRet, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } @@ -90970,9 +91244,9 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, if z == uintptr(0) { z = ts + 755 /* "" */ } - for i = 0; (*(*int8)(unsafe.Pointer(z)) != 0) && (i < nOut); i++ { + for i = 0; (*(*uint8)(unsafe.Pointer(z)) != 0) && (i < nOut); i++ { v = TRowcnt(0) - for ((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(z))))) >= '0') && (c <= '9') { + for ((libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(z))))) >= '0') && (c <= '9') { v = (((v * TRowcnt(10)) + TRowcnt(c)) - TRowcnt('0')) z++ } @@ -90982,14 +91256,14 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, if aLog != 0 { *(*LogEst)(unsafe.Pointer(aLog + uintptr(i)*2)) = Xsqlite3LogEst(tls, uint64(v)) } - if int32(*(*int8)(unsafe.Pointer(z))) == ' ' { + if int32(*(*uint8)(unsafe.Pointer(z))) == ' ' { z++ } } if pIndex != 0 { libc.SetBitFieldPtr16Uint32(pIndex+56 /* &.bUnordered */, uint32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+56 /* &.noSkipScan */, uint32(0), 6, 0x40) - for *(*int8)(unsafe.Pointer(z)) != 0 { + for *(*uint8)(unsafe.Pointer(z)) != 0 { if Xsqlite3_strglob(tls, ts+10220 /* "unordered*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+56 /* &.bUnordered */, uint32(1), 2, 0x4) } else if Xsqlite3_strglob(tls, ts+10231 /* "sz=[0-9]*" */, z) == 0 { @@ -91001,10 +91275,10 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, } else if Xsqlite3_strglob(tls, ts+10241 /* "noskipscan*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+56 /* &.noSkipScan */, uint32(1), 6, 0x40) } - for (int32(*(*int8)(unsafe.Pointer(z))) != 0) && (int32(*(*int8)(unsafe.Pointer(z))) != ' ') { + for (int32(*(*uint8)(unsafe.Pointer(z))) != 0) && (int32(*(*uint8)(unsafe.Pointer(z))) != ' ') { z++ } - for int32(*(*int8)(unsafe.Pointer(z))) == ' ' { + for int32(*(*uint8)(unsafe.Pointer(z))) == ' ' { z++ } } @@ -91783,7 +92057,7 @@ func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / var i int32 var pDb uintptr var pEntry uintptr - // var zErr [128]int8 at bp+24, 128 + // var zErr [128]uint8 at bp+24, 128 var pTrig uintptr zName = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) @@ -91827,14 +92101,14 @@ __4: if !(i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __7 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10595 /* "no such database..." */, libc.VaList(bp, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]uint8{})), bp+24 /* &zErr[0] */, ts+10595 /* "no such database..." */, libc.VaList(bp, zName)) goto detach_error __7: ; if !(i < 2) { goto __8 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10616 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]uint8{})), bp+24 /* &zErr[0] */, ts+10616 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) goto detach_error __8: ; @@ -91842,7 +92116,7 @@ __8: (Xsqlite3BtreeIsInBackup(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) != 0)) { goto __9 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10642 /* "database %s is l..." */, libc.VaList(bp+16, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]uint8{})), bp+24 /* &zErr[0] */, ts+10642 /* "database %s is l..." */, libc.VaList(bp+16, zName)) goto detach_error __9: ; @@ -92247,7 +92521,9 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { return SQLITE_OK } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 352 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, SQLITE_READ, zTab, zCol, zDb, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAuth})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, SQLITE_READ, zTab, zCol, zDb, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { var z uintptr = Xsqlite3_mprintf(tls, ts+10785 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) if ((*Sqlite3)(unsafe.Pointer(db)).FnDb > 2) || (iDb != 0) { @@ -92335,7 +92611,9 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, // The following testcase() macros show that any of the 3rd through 6th // parameters can be either NULL or a string. - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 352 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAuth})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { Xsqlite3ErrorMsg(tls, pParse, ts+10824 /* "not authorized" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH @@ -92593,7 +92871,7 @@ func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uint var zSql uintptr *(*uintptr)(unsafe.Pointer(bp + 84 /* zErrMsg */)) = uintptr(0) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb - // var saveBuf [84]int8 at bp, 84 + // var saveBuf [84]uint8 at bp, 84 if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { return @@ -93592,8 +93870,8 @@ var aCode = [4]U8{ U8(SQLITE_CREATE_TEMP_TABLE), U8(SQLITE_CREATE_VIEW), U8(SQLITE_CREATE_TEMP_VIEW), -} /* sqlite3.c:113554:21 */ -var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* sqlite3.c:113632:23 */ +} /* sqlite3.c:113554:21 */ +var nullRow = [6]uint8{uint8(6), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)} /* sqlite3.c:113632:23 */ // Set properties of a table column based on the (magical) // name of the column. @@ -93702,7 +93980,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp Xsqlite3RenameTokenMap(tls, pParse, z, pName) } libc.Xmemcpy(tls, z, (*Token)(unsafe.Pointer(pName)).Fz, (*Token)(unsafe.Pointer(pName)).Fn) - *(*int8)(unsafe.Pointer(z + uintptr((*Token)(unsafe.Pointer(pName)).Fn))) = int8(0) + *(*uint8)(unsafe.Pointer(z + uintptr((*Token)(unsafe.Pointer(pName)).Fn))) = uint8(0) Xsqlite3Dequote(tls, z) hName = Xsqlite3StrIHash(tls, z) for i = 0; i < int32((*Table)(unsafe.Pointer(p)).FnCol); i++ { @@ -93729,12 +94007,12 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp if (*Token)(unsafe.Pointer(pType)).Fn == uint32(0) { // If there is no type specified, columns have the default affinity // 'BLOB' with a default size of 4 bytes. - (*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_BLOB) + (*Column)(unsafe.Pointer(pCol)).Faffinity = uint8(SQLITE_AFF_BLOB) (*Column)(unsafe.Pointer(pCol)).FszEst = U8(1) } else { zType = ((z + uintptr(Xsqlite3Strlen30(tls, z))) + uintptr(1)) libc.Xmemcpy(tls, zType, (*Token)(unsafe.Pointer(pType)).Fz, (*Token)(unsafe.Pointer(pType)).Fn) - *(*int8)(unsafe.Pointer(zType + uintptr((*Token)(unsafe.Pointer(pType)).Fn))) = int8(0) + *(*uint8)(unsafe.Pointer(zType + uintptr((*Token)(unsafe.Pointer(pType)).Fn))) = uint8(0) Xsqlite3Dequote(tls, zType) (*Column)(unsafe.Pointer(pCol)).Faffinity = Xsqlite3AffinityType(tls, zType, pCol) *(*U16)(unsafe.Pointer(pCol + 16 /* &.colFlags */)) |= U16((COLFLAG_HASTYPE)) @@ -93795,41 +94073,41 @@ func Xsqlite3AddNotNull(tls *libc.TLS, pParse uintptr, onError int32) { /* sqlit // // If none of the substrings in the above table are found, // SQLITE_AFF_NUMERIC is returned. -func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sqlite3.c:113907:21: */ +func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) uint8 { /* sqlite3.c:113907:21: */ bp := tls.Alloc(4) defer tls.Free(4) var h U32 = U32(0) - var aff int8 = int8(SQLITE_AFF_NUMERIC) + var aff uint8 = uint8(SQLITE_AFF_NUMERIC) var zChar uintptr = uintptr(0) - for *(*int8)(unsafe.Pointer(zIn)) != 0 { - h = ((h << 8) + U32(Xsqlite3UpperToLower[((int32(*(*int8)(unsafe.Pointer(zIn))))&0xff)])) + for *(*uint8)(unsafe.Pointer(zIn)) != 0 { + h = ((h << 8) + U32(Xsqlite3UpperToLower[((int32(*(*uint8)(unsafe.Pointer(zIn))))&0xff)])) zIn++ if h == (U32((((int32('c') << 24) + (int32('h') << 16)) + (int32('a') << 8)) + 'r')) { // CHAR - aff = int8(SQLITE_AFF_TEXT) + aff = uint8(SQLITE_AFF_TEXT) zChar = zIn } else if h == (U32((((int32('c') << 24) + (int32('l') << 16)) + (int32('o') << 8)) + 'b')) { // CLOB - aff = int8(SQLITE_AFF_TEXT) + aff = uint8(SQLITE_AFF_TEXT) } else if h == (U32((((int32('t') << 24) + (int32('e') << 16)) + (int32('x') << 8)) + 't')) { // TEXT - aff = int8(SQLITE_AFF_TEXT) + aff = uint8(SQLITE_AFF_TEXT) } else if (h == (U32((((int32('b') << 24) + (int32('l') << 16)) + (int32('o') << 8)) + 'b'))) && // BLOB ((int32(aff) == SQLITE_AFF_NUMERIC) || (int32(aff) == SQLITE_AFF_REAL)) { - aff = int8(SQLITE_AFF_BLOB) - if int32(*(*int8)(unsafe.Pointer(zIn))) == '(' { + aff = uint8(SQLITE_AFF_BLOB) + if int32(*(*uint8)(unsafe.Pointer(zIn))) == '(' { zChar = zIn } } else if (h == (U32((((int32('r') << 24) + (int32('e') << 16)) + (int32('a') << 8)) + 'l'))) && // REAL (int32(aff) == SQLITE_AFF_NUMERIC) { - aff = int8(SQLITE_AFF_REAL) + aff = uint8(SQLITE_AFF_REAL) } else if (h == (U32((((int32('f') << 24) + (int32('l') << 16)) + (int32('o') << 8)) + 'a'))) && // FLOA (int32(aff) == SQLITE_AFF_NUMERIC) { - aff = int8(SQLITE_AFF_REAL) + aff = uint8(SQLITE_AFF_REAL) } else if (h == (U32((((int32('d') << 24) + (int32('o') << 16)) + (int32('u') << 8)) + 'b'))) && // DOUB (int32(aff) == SQLITE_AFF_NUMERIC) { - aff = int8(SQLITE_AFF_REAL) + aff = uint8(SQLITE_AFF_REAL) } else if (h & U32(0x00FFFFFF)) == (U32(((int32('i') << 16) + (int32('n') << 8)) + 't')) { // INT - aff = int8(SQLITE_AFF_INTEGER) + aff = uint8(SQLITE_AFF_INTEGER) break } } @@ -93840,8 +94118,8 @@ func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sq *(*int32)(unsafe.Pointer(bp /* v */)) = 0 // default size is approx 4 bytes if int32(aff) < SQLITE_AFF_NUMERIC { if zChar != 0 { - for *(*int8)(unsafe.Pointer(zChar)) != 0 { - if (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zChar)))]) & 0x04) != 0 { + for *(*uint8)(unsafe.Pointer(zChar)) != 0 { + if (int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zChar)))]) & 0x04) != 0 { // BLOB(k), VARCHAR(k), CHAR(k) -> r=(k/4+1) Xsqlite3GetInt32(tls, zChar, bp /* &v */) break @@ -94099,9 +94377,9 @@ func Xsqlite3AddCheckConstraint(tls *libc.TLS, pParse uintptr, pCheckExpr uintpt } else { // var t Token at bp, 8 - for zStart++; (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zStart)))]) & 0x01) != 0; zStart++ { + for zStart++; (int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zStart)))]) & 0x01) != 0; zStart++ { } - for (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zEnd + libc.UintptrFromInt32(-1))))]) & 0x01) != 0 { + for (int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zEnd + libc.UintptrFromInt32(-1))))]) & 0x01) != 0 { zEnd-- } (*Token)(unsafe.Pointer(bp /* &t */)).Fz = zStart @@ -94265,11 +94543,11 @@ func identLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:114312:12: */ var n int32 n = 0 __1: - if !(*(*int8)(unsafe.Pointer(z)) != 0) { + if !(*(*uint8)(unsafe.Pointer(z)) != 0) { goto __3 } { - if int32(*(*int8)(unsafe.Pointer(z))) == '"' { + if int32(*(*uint8)(unsafe.Pointer(z))) == '"' { n++ } @@ -94314,18 +94592,18 @@ func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* (j == 0))) if needQuote != 0 { - *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&i, 1)))) = int8('"') + *(*uint8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&i, 1)))) = uint8('"') } for j = 0; *(*uint8)(unsafe.Pointer(zIdent + uintptr(j))) != 0; j++ { - *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&i, 1)))) = int8(*(*uint8)(unsafe.Pointer(zIdent + uintptr(j)))) + *(*uint8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&i, 1)))) = uint8(*(*uint8)(unsafe.Pointer(zIdent + uintptr(j)))) if int32(*(*uint8)(unsafe.Pointer(zIdent + uintptr(j)))) == '"' { - *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&i, 1)))) = int8('"') + *(*uint8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&i, 1)))) = uint8('"') } } if needQuote != 0 { - *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&i, 1)))) = int8('"') + *(*uint8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&i, 1)))) = uint8('"') } - *(*int8)(unsafe.Pointer(z + uintptr(i))) = int8(0) + *(*uint8)(unsafe.Pointer(z + uintptr(i))) = uint8(0) *(*int32)(unsafe.Pointer(pIdx)) = i } @@ -94383,7 +94661,7 @@ __3: Xsqlite3_snprintf(tls, n, zStmt, ts+11551 /* "CREATE TABLE " */, 0) *(*int32)(unsafe.Pointer(bp + 8 /* k */)) = Xsqlite3Strlen30(tls, zStmt) identPut(tls, zStmt, bp+8 /* &k */, (*Table)(unsafe.Pointer(p)).FzName) - *(*int8)(unsafe.Pointer(zStmt + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 8 /* k */)), 1)))) = int8('(') + *(*uint8)(unsafe.Pointer(zStmt + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 8 /* k */)), 1)))) = uint8('(') pCol = (*Table)(unsafe.Pointer(p)).FaCol i = 0 __4: @@ -94771,7 +95049,7 @@ func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uint if Xsqlite3_strnicmp(tls, zName, (*Table)(unsafe.Pointer(pTab)).FzName, nName) != 0 { return 0 } - if int32(*(*int8)(unsafe.Pointer(zName + uintptr(nName)))) != '_' { + if int32(*(*uint8)(unsafe.Pointer(zName + uintptr(nName)))) != '_' { return 0 } pMod = Xsqlite3HashFind(tls, (db + 376 /* &.aModule */), *(*uintptr)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FazModuleArg))) @@ -94784,7 +95062,9 @@ func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uint if (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxShadowName == uintptr(0) { return 0 } - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Module)(unsafe.Pointer(pMod)).FpModule + 92 /* &.xShadowName */))))(tls, ((zName + uintptr(nName)) + uintptr(1))) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxShadowName})).f(tls, ((zName + uintptr(nName)) + uintptr(1))) } // Return true if zName is a shadow table name in the current database @@ -94799,9 +95079,9 @@ func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { / if zTail == uintptr(0) { return 0 } - *(*int8)(unsafe.Pointer(zTail)) = int8(0) + *(*uint8)(unsafe.Pointer(zTail)) = uint8(0) pTab = Xsqlite3FindTable(tls, db, zName, uintptr(0)) - *(*int8)(unsafe.Pointer(zTail)) = int8('_') + *(*uint8)(unsafe.Pointer(zTail)) = uint8('_') if pTab == uintptr(0) { return 0 } @@ -94997,7 +95277,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { return } - pSelTab = Xsqlite3ResultSetOfSelect(tls, pParse, pSelect, int8(SQLITE_AFF_BLOB)) + pSelTab = Xsqlite3ResultSetOfSelect(tls, pParse, pSelect, uint8(SQLITE_AFF_BLOB)) if pSelTab == uintptr(0) { return } @@ -95036,7 +95316,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr pEnd2 = pEnd } n = ((int32((*Token)(unsafe.Pointer(pEnd2)).Fz) - int32((*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) / 1) - if int32(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(pEnd2)).Fz))) != ';' { + if int32(*(*uint8)(unsafe.Pointer((*Token)(unsafe.Pointer(pEnd2)).Fz))) != ';' { n = int32(uint32(n) + ((*Token)(unsafe.Pointer(pEnd2)).Fn)) } zStmt = Xsqlite3MPrintf(tls, db, @@ -95188,7 +95468,7 @@ __6: // the end. *(*Token)(unsafe.Pointer(bp + 56 /* sEnd */)) = (*Parse)(unsafe.Pointer(pParse)).FsLastToken - if !(int32(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 56 /* &sEnd */)).Fz))) != ';') { + if !(int32(*(*uint8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 56 /* &sEnd */)).Fz))) != ';') { goto __7 } *(*uintptr)(unsafe.Pointer(bp + 56 /* &sEnd */ /* &.z */)) += (uintptr((*Token)(unsafe.Pointer(bp + 56 /* &sEnd */)).Fn)) @@ -95199,7 +95479,7 @@ __7: z = (*Token)(unsafe.Pointer(pBegin)).Fz __8: - if !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr((n - 1)))))]) & 0x01) != 0) { + if !((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z + uintptr((n - 1)))))]) & 0x01) != 0) { goto __9 } n-- @@ -95292,7 +95572,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i (*Sqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = U16(0) xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth (*Sqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) - pSelTab = Xsqlite3ResultSetOfSelect(tls, pParse, pSel, int8(SQLITE_AFF_NONE)) + pSelTab = Xsqlite3ResultSetOfSelect(tls, pParse, pSel, uint8(SQLITE_AFF_NONE)) (*Sqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Parse)(unsafe.Pointer(pParse)).FnTab = n if pSelTab == uintptr(0) { @@ -95310,7 +95590,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i ((*Parse)(unsafe.Pointer(pParse)).FnErr == 0)) && (int32((*Table)(unsafe.Pointer(pTable)).FnCol) == (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpEList)).FnExpr) { Xsqlite3SelectAddColumnTypeAndCollation(tls, pParse, pTable, pSel, - int8(SQLITE_AFF_NONE)) + uint8(SQLITE_AFF_NONE)) } } else { // CREATE VIEW name AS... without an argument list. Construct @@ -95488,9 +95768,9 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint var i int32 var zDbName uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*16)).FzDbSName for i = 1; i <= 4; i++ { - // var zTab [24]int8 at bp+40, 24 + // var zTab [24]uint8 at bp+40, 24 - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+12061 /* "sqlite_stat%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]uint8{})), bp+40 /* &zTab[0] */, ts+12061 /* "sqlite_stat%d" */, libc.VaList(bp, i)) if Xsqlite3FindTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, bp+40 /* &zTab[0] */, zDbName) != 0 { Xsqlite3NestedParse(tls, pParse, ts+10024, /* "DELETE FROM %Q.%..." */ @@ -95878,7 +96158,7 @@ __12: __13: ; libc.Xmemcpy(tls, z, (*Token)(unsafe.Pointer(pTo)).Fz, (*Token)(unsafe.Pointer(pTo)).Fn) - *(*int8)(unsafe.Pointer(z + uintptr((*Token)(unsafe.Pointer(pTo)).Fn))) = int8(0) + *(*uint8)(unsafe.Pointer(z + uintptr((*Token)(unsafe.Pointer(pTo)).Fn))) = uint8(0) Xsqlite3Dequote(tls, z) z += (uintptr((*Token)(unsafe.Pointer(pTo)).Fn + uint32(1))) (*FKey)(unsafe.Pointer(pFKey)).FnCol = nCol @@ -95953,7 +96233,7 @@ __26: __29: ; libc.Xmemcpy(tls, z, (*ExprList_item)(unsafe.Pointer((pToCol+8 /* &.a */)+uintptr(i)*20)).FzEName, uint32(n)) - *(*int8)(unsafe.Pointer(z + uintptr(n))) = int8(0) + *(*uint8)(unsafe.Pointer(z + uintptr(n))) = uint8(0) z += (uintptr(n + 1)) goto __27 __27: @@ -96495,7 +96775,7 @@ __31: if !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL) { goto __32 } - *(*int8)(unsafe.Pointer(zName + 7))++ + *(*uint8)(unsafe.Pointer(zName + 7))++ __32: ; __19: @@ -97007,7 +97287,7 @@ __104: goto __105 } n1 = (int32(uint32(((int32((*Parse)(unsafe.Pointer(pParse)).FsLastToken.Fz) - int32((*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz)) / 1)) + (*Parse)(unsafe.Pointer(pParse)).FsLastToken.Fn)) - if !(int32(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz + uintptr((n1 - 1))))) == ';') { + if !(int32(*(*uint8)(unsafe.Pointer((*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz + uintptr((n1 - 1))))) == ';') { goto __107 } n1-- @@ -98358,7 +98638,9 @@ func callCollNeeded(tls *libc.TLS, db uintptr, enc int32, zName uintptr) { /* sq if !(zExternal != 0) { return } - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer((db + 272 /* &.xCollNeeded */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCollNeededArg, db, enc, zExternal) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCollNeededArg, db, enc, zExternal) Xsqlite3DbFree(tls, db, zExternal) } if (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 != 0 { @@ -98367,7 +98649,9 @@ func callCollNeeded(tls *libc.TLS, db uintptr, enc int32, zName uintptr) { /* sq Xsqlite3ValueSetStr(tls, pTmp, -1, zName, uint8(SQLITE_UTF8), uintptr(0)) zExternal = Xsqlite3ValueText(tls, pTmp, uint8(SQLITE_UTF16LE)) if zExternal != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer((db + 276 /* &.xCollNeeded16 */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCollNeededArg, db, int32((*Sqlite3)(unsafe.Pointer(db)).Fenc), zExternal) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCollNeededArg, db, int32((*Sqlite3)(unsafe.Pointer(db)).Fenc), zExternal) } Xsqlite3ValueFree(tls, pTmp) } @@ -98649,7 +98933,7 @@ func Xsqlite3InsertBuiltinFuncs(tls *libc.TLS, aDef uintptr, nDef int32) { /* sq var pOther uintptr var zName uintptr = (*FuncDef)(unsafe.Pointer(aDef + uintptr(i)*40)).FzName var nName int32 = Xsqlite3Strlen30(tls, zName) - var h int32 = (((int32(*(*int8)(unsafe.Pointer(zName)))) + (nName)) % SQLITE_FUNC_HASH_SZ) + var h int32 = (((int32(*(*uint8)(unsafe.Pointer(zName)))) + (nName)) % SQLITE_FUNC_HASH_SZ) pOther = Xsqlite3FunctionSearch(tls, h, zName) if pOther != 0 { @@ -98714,7 +98998,7 @@ func Xsqlite3FindFunction(tls *libc.TLS, db uintptr, zName uintptr, nArg int32, // So we must not search for built-ins when creating a new function. if !(createFlag != 0) && ((pBest == uintptr(0)) || (((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags & U32(DBFLAG_PreferBuiltin)) != U32(0))) { bestScore = 0 - h = (((int32(Xsqlite3UpperToLower[U8(*(*int8)(unsafe.Pointer(zName)))])) + (nName)) % SQLITE_FUNC_HASH_SZ) + h = (((int32(Xsqlite3UpperToLower[U8(*(*uint8)(unsafe.Pointer(zName)))])) + (nName)) % SQLITE_FUNC_HASH_SZ) p = Xsqlite3FunctionSearch(tls, h, zName) for p != 0 { var score int32 = matchQuality(tls, p, nArg, enc) @@ -100312,7 +100596,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq if (*(*float64)(unsafe.Pointer(bp + 16 /* r */)) < -4503599627370496.0) || (*(*float64)(unsafe.Pointer(bp + 16 /* r */)) > +4503599627370496.0) { // The value has no fractional part so there is nothing to round } else if n == 0 { - *(*float64)(unsafe.Pointer(bp + 16 /* r */)) = float64((Sqlite_int64(*(*float64)(unsafe.Pointer(bp + 16 /* r */)) + (func() float64 { + *(*float64)(unsafe.Pointer(bp + 16 /* r */)) = float64((libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 16 /* r */)) + (func() float64 { if *(*float64)(unsafe.Pointer(bp + 16 /* r */)) < float64(0) { return -0.5 } @@ -100366,7 +100650,7 @@ func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq z1 = contextMalloc(tls, context, ((I64(n)) + int64(1))) if z1 != 0 { for i = 0; i < n; i++ { - *(*int8)(unsafe.Pointer(z1 + uintptr(i))) = (int8((int32(*(*int8)(unsafe.Pointer(z2 + uintptr(i))))) & ^(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z2 + uintptr(i))))]) & 0x20))) + *(*uint8)(unsafe.Pointer(z1 + uintptr(i))) = (uint8((int32(*(*uint8)(unsafe.Pointer(z2 + uintptr(i))))) & ^(int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z2 + uintptr(i))))]) & 0x20))) } Xsqlite3_result_text(tls, context, z1, n, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } @@ -100387,7 +100671,7 @@ func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq z1 = contextMalloc(tls, context, ((I64(n)) + int64(1))) if z1 != 0 { for i = 0; i < n; i++ { - *(*int8)(unsafe.Pointer(z1 + uintptr(i))) = int8(Xsqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(z2 + uintptr(i))))]) + *(*uint8)(unsafe.Pointer(z1 + uintptr(i))) = uint8(Xsqlite3UpperToLower[uint8(*(*uint8)(unsafe.Pointer(z2 + uintptr(i))))]) } Xsqlite3_result_text(tls, context, z1, n, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } @@ -100609,16 +100893,16 @@ func patternCompare(tls *libc.TLS, zPattern uintptr, zString uintptr, pInfo uint // c but in the other case and search the input string for either // c or cx. if c <= U32(0x80) { - // var zStop [3]int8 at bp+8, 3 + // var zStop [3]uint8 at bp+8, 3 var bMatch int32 if noCase != 0 { - *(*int8)(unsafe.Pointer(bp + 8 /* &zStop[0] */)) = (int8((c) & U32(^(int32(Xsqlite3CtypeMap[uint8(c)]) & 0x20)))) - *(*int8)(unsafe.Pointer(bp + 8 /* &zStop[0] */ + 1)) = int8(Xsqlite3UpperToLower[uint8(c)]) - *(*int8)(unsafe.Pointer(bp + 8 /* &zStop[0] */ + 2)) = int8(0) + *(*uint8)(unsafe.Pointer(bp + 8 /* &zStop[0] */)) = (uint8((c) & U32(^(int32(Xsqlite3CtypeMap[uint8(c)]) & 0x20)))) + *(*uint8)(unsafe.Pointer(bp + 8 /* &zStop[0] */ + 1)) = uint8(Xsqlite3UpperToLower[uint8(c)]) + *(*uint8)(unsafe.Pointer(bp + 8 /* &zStop[0] */ + 2)) = uint8(0) } else { - *(*int8)(unsafe.Pointer(bp + 8 /* &zStop[0] */)) = int8(c) - *(*int8)(unsafe.Pointer(bp + 8 /* &zStop[0] */ + 1)) = int8(0) + *(*uint8)(unsafe.Pointer(bp + 8 /* &zStop[0] */)) = uint8(c) + *(*uint8)(unsafe.Pointer(bp + 8 /* &zStop[0] */ + 1)) = uint8(0) } for 1 != 0 { *(*uintptr)(unsafe.Pointer(bp + 4 /* zString */)) += uintptr(libc.Xstrcspn(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* zString */)), bp+8 /* &zStop[0] */)) @@ -100880,9 +101164,9 @@ func compileoptiongetFunc(tls *libc.TLS, context uintptr, argc int32, argv uintp // Array for converting from half-bytes (nybbles) into ASCII hex // digits. -var hexdigits = [16]int8{ - int8('0'), int8('1'), int8('2'), int8('3'), int8('4'), int8('5'), int8('6'), int8('7'), - int8('8'), int8('9'), int8('A'), int8('B'), int8('C'), int8('D'), int8('E'), int8('F'), +var hexdigits = [16]uint8{ + uint8('0'), uint8('1'), uint8('2'), uint8('3'), uint8('4'), uint8('5'), uint8('6'), uint8('7'), + uint8('8'), uint8('9'), uint8('A'), uint8('B'), uint8('C'), uint8('D'), uint8('E'), uint8('F'), } /* sqlite3.c:120338:19 */ // Implementation of the QUOTE() function. This function takes a single @@ -100901,13 +101185,13 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq var r1 float64 // var r2 float64 at bp+72, 8 - // var zBuf [50]int8 at bp+16, 50 + // var zBuf [50]uint8 at bp+16, 50 r1 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+4034 /* "%!.15g" */, libc.VaList(bp, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]uint8{})), bp+16 /* &zBuf[0] */, ts+4034 /* "%!.15g" */, libc.VaList(bp, r1)) Xsqlite3AtoF(tls, bp+16 /* &zBuf[0] */, bp+72 /* &r2 */, 20, uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp + 72 /* r2 */)) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+13633 /* "%!.20e" */, libc.VaList(bp+8, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]uint8{})), bp+16 /* &zBuf[0] */, ts+13633 /* "%!.20e" */, libc.VaList(bp+8, r1)) } Xsqlite3_result_text(tls, context, bp+16 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) break @@ -100929,13 +101213,13 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq if zText != 0 { var i int32 for i = 0; i < nBlob; i++ { - *(*int8)(unsafe.Pointer(zText + uintptr(((i * 2) + 2)))) = hexdigits[((int32(*(*int8)(unsafe.Pointer(zBlob + uintptr(i)))) >> 4) & 0x0F)] - *(*int8)(unsafe.Pointer(zText + uintptr(((i * 2) + 3)))) = hexdigits[((int32(*(*int8)(unsafe.Pointer(zBlob + uintptr(i))))) & 0x0F)] + *(*uint8)(unsafe.Pointer(zText + uintptr(((i * 2) + 2)))) = hexdigits[((int32(*(*uint8)(unsafe.Pointer(zBlob + uintptr(i)))) >> 4) & 0x0F)] + *(*uint8)(unsafe.Pointer(zText + uintptr(((i * 2) + 3)))) = hexdigits[((int32(*(*uint8)(unsafe.Pointer(zBlob + uintptr(i))))) & 0x0F)] } - *(*int8)(unsafe.Pointer(zText + uintptr(((nBlob * 2) + 2)))) = int8('\'') - *(*int8)(unsafe.Pointer(zText + uintptr(((nBlob * 2) + 3)))) = int8(0) - *(*int8)(unsafe.Pointer(zText)) = int8('X') - *(*int8)(unsafe.Pointer(zText + 1)) = int8('\'') + *(*uint8)(unsafe.Pointer(zText + uintptr(((nBlob * 2) + 2)))) = uint8('\'') + *(*uint8)(unsafe.Pointer(zText + uintptr(((nBlob * 2) + 3)))) = uint8(0) + *(*uint8)(unsafe.Pointer(zText)) = uint8('X') + *(*uint8)(unsafe.Pointer(zText + 1)) = uint8('\'') Xsqlite3_result_text(tls, context, zText, -1, libc.UintptrFromInt32(-1)) Xsqlite3_free(tls, zText) } @@ -100962,17 +101246,17 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } z = contextMalloc(tls, context, (((I64(i)) + (I64(n))) + int64(3))) if z != 0 { - *(*int8)(unsafe.Pointer(z)) = int8('\'') + *(*uint8)(unsafe.Pointer(z)) = uint8('\'') i = 0 j = 1 for ; *(*uint8)(unsafe.Pointer(zArg + uintptr(i))) != 0; i++ { - *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&j, 1)))) = int8(*(*uint8)(unsafe.Pointer(zArg + uintptr(i)))) + *(*uint8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&j, 1)))) = uint8(*(*uint8)(unsafe.Pointer(zArg + uintptr(i)))) if int32(*(*uint8)(unsafe.Pointer(zArg + uintptr(i)))) == '\'' { - *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&j, 1)))) = int8('\'') + *(*uint8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&j, 1)))) = uint8('\'') } } - *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&j, 1)))) = int8('\'') - *(*int8)(unsafe.Pointer(z + uintptr(j))) = int8(0) + *(*uint8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&j, 1)))) = uint8('\'') + *(*uint8)(unsafe.Pointer(z + uintptr(j))) = uint8(0) Xsqlite3_result_text(tls, context, z, j, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } break @@ -101062,8 +101346,8 @@ func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } { var c uint8 = *(*uint8)(unsafe.Pointer(pBlob)) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))) = hexdigits[((int32(c) >> 4) & 0xf)] - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))) = hexdigits[(int32(c) & 0xf)] + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))) = hexdigits[((int32(c) >> 4) & 0xf)] + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))) = hexdigits[(int32(c) & 0xf)] } goto __2 @@ -101074,7 +101358,7 @@ func hexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli goto __3 __3: ; - *(*int8)(unsafe.Pointer(z)) = int8(0) + *(*uint8)(unsafe.Pointer(z)) = uint8(0) Xsqlite3_result_text(tls, context, zHex, (n * 2), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } } @@ -101305,7 +101589,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* bp := tls.Alloc(8) defer tls.Free(8) - // var zResult [8]int8 at bp, 8 + // var zResult [8]uint8 at bp, 8 var zIn uintptr var i int32 @@ -101319,22 +101603,22 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* } if *(*U8)(unsafe.Pointer(zIn + uintptr(i))) != 0 { var prevcode U8 = iCode[(int32(*(*U8)(unsafe.Pointer(zIn + uintptr(i)))) & 0x7f)] - *(*int8)(unsafe.Pointer(bp /* &zResult[0] */)) = (int8((int32(*(*U8)(unsafe.Pointer(zIn + uintptr(i))))) & ^(int32(Xsqlite3CtypeMap[*(*U8)(unsafe.Pointer(zIn + uintptr(i)))]) & 0x20))) + *(*uint8)(unsafe.Pointer(bp /* &zResult[0] */)) = (uint8((int32(*(*U8)(unsafe.Pointer(zIn + uintptr(i))))) & ^(int32(Xsqlite3CtypeMap[*(*U8)(unsafe.Pointer(zIn + uintptr(i)))]) & 0x20))) for j = 1; (j < 4) && (*(*U8)(unsafe.Pointer(zIn + uintptr(i))) != 0); i++ { var code int32 = int32(iCode[(int32(*(*U8)(unsafe.Pointer(zIn + uintptr(i)))) & 0x7f)]) if code > 0 { if code != int32(prevcode) { prevcode = U8(code) - *(*int8)(unsafe.Pointer(bp /* &zResult[0] */ + uintptr(libc.PostIncInt32(&j, 1)))) = (int8(code + '0')) + *(*uint8)(unsafe.Pointer(bp /* &zResult[0] */ + uintptr(libc.PostIncInt32(&j, 1)))) = (uint8(code + '0')) } } else { prevcode = U8(0) } } for j < 4 { - *(*int8)(unsafe.Pointer(bp /* &zResult[0] */ + uintptr(libc.PostIncInt32(&j, 1)))) = int8('0') + *(*uint8)(unsafe.Pointer(bp /* &zResult[0] */ + uintptr(libc.PostIncInt32(&j, 1)))) = uint8('0') } - *(*int8)(unsafe.Pointer(bp /* &zResult[0] */ + uintptr(j))) = int8(0) + *(*uint8)(unsafe.Pointer(bp /* &zResult[0] */ + uintptr(j))) = uint8(0) Xsqlite3_result_text(tls, context, bp /* &zResult[0] */, 4, libc.UintptrFromInt32(-1)) } else { // IMP: R-64894-50321 The string "?000" is returned if the argument @@ -101385,12 +101669,12 @@ func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // An instance of the following structure holds the context of a // sum() or avg() aggregate computation. type SumCtx1 = struct { - FrSum float64 - FiSum I64 - Fcnt I64 - Foverflow U8 - Fapprox U8 - _ [6]byte + FrSum float64 + FiSum I64 + Fcnt I64 + Foverflow U8 + Fapprox U8 + F__ccgo_pad1 [6]byte } /* sqlite3.c:120823:9 */ // An instance of the following structure holds the context of a @@ -101752,7 +102036,7 @@ func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase libc.Xmemcpy(tls, aWc, (*FuncDef)(unsafe.Pointer(pDef)).FpUserData, uint32(3)) if nExpr < 3 { - *(*int8)(unsafe.Pointer(aWc + 3)) = int8(0) + *(*uint8)(unsafe.Pointer(aWc + 3)) = uint8(0) } else { var pEscape uintptr = (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)) + 8 /* &.a */) + 2*20)).FpExpr var zEscape uintptr @@ -101760,16 +102044,16 @@ func Xsqlite3IsLikeFunction(tls *libc.TLS, db uintptr, pExpr uintptr, pIsNocase return 0 } zEscape = *(*uintptr)(unsafe.Pointer(pEscape + 8 /* &.u */)) - if (int32(*(*int8)(unsafe.Pointer(zEscape))) == 0) || (int32(*(*int8)(unsafe.Pointer(zEscape + 1))) != 0) { + if (int32(*(*uint8)(unsafe.Pointer(zEscape))) == 0) || (int32(*(*uint8)(unsafe.Pointer(zEscape + 1))) != 0) { return 0 } - if int32(*(*int8)(unsafe.Pointer(zEscape))) == int32(*(*int8)(unsafe.Pointer(aWc))) { + if int32(*(*uint8)(unsafe.Pointer(zEscape))) == int32(*(*uint8)(unsafe.Pointer(aWc))) { return 0 } - if int32(*(*int8)(unsafe.Pointer(zEscape))) == int32(*(*int8)(unsafe.Pointer(aWc + 1))) { + if int32(*(*uint8)(unsafe.Pointer(zEscape))) == int32(*(*uint8)(unsafe.Pointer(aWc + 1))) { return 0 } - *(*int8)(unsafe.Pointer(aWc + 3)) = *(*int8)(unsafe.Pointer(zEscape)) + *(*uint8)(unsafe.Pointer(aWc + 3)) = *(*uint8)(unsafe.Pointer(zEscape)) } *(*int32)(unsafe.Pointer(pIsNocase)) = (libc.Bool32(((*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags & U32(SQLITE_FUNC_CASE)) == U32(0))) @@ -102358,7 +102642,7 @@ func exprTableRegister(tls *libc.TLS, pParse uintptr, pTab uintptr, regBase int3 pExpr = Xsqlite3ExprAddCollateString(tls, pParse, pExpr, zColl) } else { (*Expr)(unsafe.Pointer(pExpr)).FiTable = regBase - (*Expr)(unsafe.Pointer(pExpr)).FaffExpr = int8(SQLITE_AFF_INTEGER) + (*Expr)(unsafe.Pointer(pExpr)).FaffExpr = uint8(SQLITE_AFF_INTEGER) } } return pExpr @@ -103161,7 +103445,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, (*Token)(unsafe.Pointer(bp + 40 /* &tFrom */)).Fn = uint32(nFrom) pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+4250 /* "FOREIGN KEY cons..." */) if pRaise != 0 { - (*Expr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) + (*Expr)(unsafe.Pointer(pRaise)).FaffExpr = uint8(OE_Abort) } pSelect = Xsqlite3SelectNew(tls, pParse, Xsqlite3ExprListAppend(tls, pParse, uintptr(0), pRaise), @@ -103381,24 +103665,24 @@ func Xsqlite3IndexAffinityStr(tls *libc.TLS, db uintptr, pIdx uintptr) uintptr { } for n = 0; n < int32((*Index)(unsafe.Pointer(pIdx)).FnColumn); n++ { var x I16 = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(n)*2)) - var aff int8 + var aff uint8 if int32(x) >= 0 { aff = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(x)*20)).Faffinity } else if int32(x) == (-1) { - aff = int8(SQLITE_AFF_INTEGER) + aff = uint8(SQLITE_AFF_INTEGER) } else { aff = Xsqlite3ExprAffinity(tls, (*ExprList_item)(unsafe.Pointer(((*Index)(unsafe.Pointer(pIdx)).FaColExpr+8 /* &.a */)+uintptr(n)*20)).FpExpr) } if int32(aff) < SQLITE_AFF_BLOB { - aff = int8(SQLITE_AFF_BLOB) + aff = uint8(SQLITE_AFF_BLOB) } if int32(aff) > SQLITE_AFF_NUMERIC { - aff = int8(SQLITE_AFF_NUMERIC) + aff = uint8(SQLITE_AFF_NUMERIC) } - *(*int8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(n))) = aff + *(*uint8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(n))) = aff } - *(*int8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(n))) = int8(0) + *(*uint8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(n))) = uint8(0) } return (*Index)(unsafe.Pointer(pIdx)).FzColAff @@ -103437,11 +103721,11 @@ func Xsqlite3TableAffinity(tls *libc.TLS, v uintptr, pTab uintptr, iReg int32) { for i = libc.AssignInt32(&j, 0); i < int32((*Table)(unsafe.Pointer(pTab)).FnCol); i++ { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*20)).FcolFlags) & COLFLAG_VIRTUAL) == 0 { - *(*int8)(unsafe.Pointer(zColAff + uintptr(libc.PostIncInt32(&j, 1)))) = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*20)).Faffinity + *(*uint8)(unsafe.Pointer(zColAff + uintptr(libc.PostIncInt32(&j, 1)))) = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*20)).Faffinity } } - for ok := true; ok; ok = ((j >= 0) && (int32(*(*int8)(unsafe.Pointer(zColAff + uintptr(j)))) <= SQLITE_AFF_BLOB)) { - *(*int8)(unsafe.Pointer(zColAff + uintptr(libc.PostDecInt32(&j, 1)))) = int8(0) + for ok := true; ok; ok = ((j >= 0) && (int32(*(*uint8)(unsafe.Pointer(zColAff + uintptr(j)))) <= SQLITE_AFF_BLOB)) { + *(*uint8)(unsafe.Pointer(zColAff + uintptr(libc.PostDecInt32(&j, 1)))) = uint8(0) } (*Table)(unsafe.Pointer(pTab)).FzColAff = zColAff } @@ -103532,12 +103816,12 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in var jj int32 var zP4 uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - for ii = libc.AssignInt32(&jj, 0); *(*int8)(unsafe.Pointer(zP4 + uintptr(jj))) != 0; ii++ { + for ii = libc.AssignInt32(&jj, 0); *(*uint8)(unsafe.Pointer(zP4 + uintptr(jj))) != 0; ii++ { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(ii)*20)).FcolFlags) & COLFLAG_VIRTUAL) != 0 { continue } if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(ii)*20)).FcolFlags) & COLFLAG_STORED) != 0 { - *(*int8)(unsafe.Pointer(zP4 + uintptr(jj))) = int8(SQLITE_AFF_NONE) + *(*uint8)(unsafe.Pointer(zP4 + uintptr(jj))) = uint8(SQLITE_AFF_NONE) } jj++ } @@ -105002,8 +105286,8 @@ type IndexIterator1 = struct { FeType int32 Fi int32 Fu struct { - Flx struct{ FpIdx uintptr } - _ [4]byte + Flx struct{ FpIdx uintptr } + F__ccgo_pad1 [4]byte } } /* sqlite3.c:124491:9 */ @@ -106655,7 +106939,7 @@ __2: Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) Xsqlite3Error(tls, db, SQLITE_OK) __3: - if !((rc == SQLITE_OK) && (*(*int8)(unsafe.Pointer(zSql)) != 0)) { + if !((rc == SQLITE_OK) && (*(*uint8)(unsafe.Pointer(zSql)) != 0)) { goto __4 } nCol = 0 @@ -106748,7 +107032,9 @@ __18: *(*uintptr)(unsafe.Pointer(azVals + uintptr(i)*4)) = uintptr(0) __15: ; - if !((*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&xCallback)))(tls, pArg, nCol, azVals, azCols) != 0) { + if !((*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xCallback})).f(tls, pArg, nCol, azVals, azCols) != 0) { goto __20 } // EVIDENCE-OF: R-38229-40159 If the callback function to @@ -106771,7 +107057,7 @@ __9: *(*uintptr)(unsafe.Pointer(bp /* pStmt */)) = uintptr(0) zSql = *(*uintptr)(unsafe.Pointer(bp + 4 /* zLeftover */)) __22: - if !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zSql)))]) & 0x01) != 0) { + if !((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zSql)))]) & 0x01) != 0) { goto __23 } zSql++ @@ -107288,7 +107574,7 @@ __11: libc.Xmemcpy(tls, zAltEntry, ts+14423 /* "sqlite3_" */, uint32(8)) iFile = (ncFile - 1) __12: - if !((iFile >= 0) && !((int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile))))) == '/')) { + if !((iFile >= 0) && !((int32(*(*uint8)(unsafe.Pointer(zFile + uintptr(iFile))))) == '/')) { goto __14 } goto __13 @@ -107307,13 +107593,13 @@ __15: ; iEntry = 8 __16: - if !(((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile)))))) != 0) && (c != '.')) { + if !(((libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(zFile + uintptr(iFile)))))) != 0) && (c != '.')) { goto __18 } if !((int32(Xsqlite3CtypeMap[uint8(c)]) & 0x02) != 0) { goto __19 } - *(*int8)(unsafe.Pointer(zAltEntry + uintptr(libc.PostIncInt32(&iEntry, 1)))) = int8(Xsqlite3UpperToLower[uint32(c)]) + *(*uint8)(unsafe.Pointer(zAltEntry + uintptr(libc.PostIncInt32(&iEntry, 1)))) = uint8(Xsqlite3UpperToLower[uint32(c)]) __19: ; goto __17 @@ -107353,7 +107639,9 @@ __21: __20: ; Xsqlite3_free(tls, zAltEntry) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+56 /* &zErrmsg */, uintptr(unsafe.Pointer(&sqlite3Apis))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xInit})).f(tls, db, bp+56 /* &zErrmsg */, uintptr(unsafe.Pointer(&sqlite3Apis))) if !(rc != 0) { goto __23 } @@ -107580,7 +107868,9 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 } Xsqlite3_mutex_leave(tls, mutex) *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)) = uintptr(0) - if (xInit != 0) && ((libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+8 /* &zErrmsg */, pThunk))) != 0) { + if (xInit != 0) && ((libc.AssignInt32(&rc, (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xInit})).f(tls, db, bp+8 /* &zErrmsg */, pThunk))) != 0) { Xsqlite3ErrorWithMsg(tls, db, rc, ts+14557 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) go1 = 0 @@ -107948,7 +108238,7 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s // on no off false yes true extra full var i int32 var n int32 - if (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z)))]) & 0x04) != 0 { + if (int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z)))]) & 0x04) != 0 { return U8(Xsqlite3Atoi(tls, z)) } n = Xsqlite3Strlen30(tls, z) @@ -107961,10 +108251,10 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 15786 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ -var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:128500:19 */ -var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:128501:19 */ -var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:128502:19 */ +var zText = *(*[25]uint8)(unsafe.Pointer(ts + 15786 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ +var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:128500:19 */ +var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:128501:19 */ +var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:128502:19 */ // Interpret the given string as a boolean value. func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:128522:19: */ @@ -108016,8 +108306,8 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ // backed temporary databases, 2 for the Red-Black tree in memory database // and 0 to use the compile-time default. func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128566:12: */ - if (int32(*(*int8)(unsafe.Pointer(z))) >= '0') && (int32(*(*int8)(unsafe.Pointer(z))) <= '2') { - return (int32(*(*int8)(unsafe.Pointer(z))) - '0') + if (int32(*(*uint8)(unsafe.Pointer(z))) >= '0') && (int32(*(*uint8)(unsafe.Pointer(z))) <= '2') { + return (int32(*(*uint8)(unsafe.Pointer(z))) - '0') } else if Xsqlite3StrICmp(tls, z, ts+14768 /* "file" */) == 0 { return 1 } else if Xsqlite3StrICmp(tls, z, ts+15850 /* "memory" */) == 0 { @@ -109168,7 +109458,7 @@ __19: *(*I64)(unsafe.Pointer(bp + 384 /* x */)) = int64(0) Xsqlite3CodeVerifySchema(tls, pParse, iDb) iReg = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) - if !((int32(Xsqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(zLeft)))])) == 'p') { + if !((int32(Xsqlite3UpperToLower[uint8(*(*uint8)(unsafe.Pointer(zLeft)))])) == 'p') { goto __69 } Xsqlite3VdbeAddOp2(tls, v, OP_Pagecount, iDb, iReg) @@ -109604,7 +109894,7 @@ __29: returnSingleText(tls, v, Xsqlite3_temp_directory) goto __123 __122: - if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { + if !(*(*uint8)(unsafe.Pointer(zRight)) != 0) { goto __124 } rc = Xsqlite3OsAccess(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, zRight, SQLITE_ACCESS_READWRITE, bp+416 /* &res */) @@ -109626,7 +109916,7 @@ __124: __126: ; Xsqlite3_free(tls, Xsqlite3_temp_directory) - if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { + if !(*(*uint8)(unsafe.Pointer(zRight)) != 0) { goto __127 } Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+16, zRight)) @@ -110378,7 +110668,7 @@ __232: __43: pObjTab = uintptr(0) // Check only this one table, if not NULL - isQuick = (libc.Bool32((int32(Xsqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(zLeft)))])) == 'q')) + isQuick = (libc.Bool32((int32(Xsqlite3UpperToLower[uint8(*(*uint8)(unsafe.Pointer(zLeft)))])) == 'q')) // If the PRAGMA command was of the form "PRAGMA <db>.integrity_check", // then iDb is set to the index of the database identified by <db>. @@ -111402,9 +111692,9 @@ pragma_out: } type EncName = struct { - FzName uintptr - Fenc U8 - _ [3]byte + FzName uintptr + Fenc U8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:130282:18 */ var iLn3 int32 = 0 /* sqlite3.c:128958:22 */ @@ -111462,12 +111752,12 @@ var readCookie = [3]VdbeOpList{ // Implementation of an eponymous virtual table that runs a pragma. // type PragmaVtab1 = struct { - Fbase Sqlite3_vtab - Fdb uintptr - FpName uintptr - FnHidden U8 - FiHidden U8 - _ [2]byte + Fbase Sqlite3_vtab + Fdb uintptr + FpName uintptr + FnHidden U8 + FiHidden U8 + F__ccgo_pad1 [2]byte } /* sqlite3.c:130740:9 */ // **************************************************************************** @@ -111494,14 +111784,14 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv var rc int32 var i int32 var j int32 - var cSep int8 = int8('(') + var cSep uint8 = uint8('(') // var acc StrAccum at bp+32, 24 - // var zBuf [200]int8 at bp+56, 200 + // var zBuf [200]uint8 at bp+56, 200 _ = argc _ = argv - Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), bp+56 /* &zBuf[0] */, int32(unsafe.Sizeof([200]int8{})), 0) + Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), bp+56 /* &zBuf[0] */, int32(unsafe.Sizeof([200]uint8{})), 0) Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16448 /* "CREATE TABLE x" */) i = 0 j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName) @@ -111511,7 +111801,7 @@ __1: } { Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16463 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) - cSep = int8(',') + cSep = uint8(',') } goto __2 @@ -111858,7 +112148,7 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) zObj = ts + 4122 /* "?" */ } z = Xsqlite3MPrintf(tls, db, ts+16566 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) - if (zExtra != 0) && (*(*int8)(unsafe.Pointer(zExtra)) != 0) { + if (zExtra != 0) && (*(*uint8)(unsafe.Pointer(zExtra)) != 0) { z = Xsqlite3MPrintf(tls, db, ts+16597 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z @@ -111915,8 +112205,8 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr if *(*uintptr)(unsafe.Pointer(argv + 3*4)) == uintptr(0) { corruptSchema(tls, pData, argv, uintptr(0)) } else if ((*(*uintptr)(unsafe.Pointer(argv + 4*4)) != 0) && - ('c' == int32(Xsqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 4*4)))))]))) && - ('r' == int32(Xsqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 4*4)) + 1)))])) { + ('c' == int32(Xsqlite3UpperToLower[uint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 4*4)))))]))) && + ('r' == int32(Xsqlite3UpperToLower[uint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 4*4)) + 1)))])) { // Call the parser to process a CREATE TABLE, INDEX or VIEW. // But because db->init.busy is set to 1, no VDBE code is generated // or executed. All the parser does is build the internal data @@ -111962,7 +112252,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr } } Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) - } else if (*(*uintptr)(unsafe.Pointer(argv + 1*4)) == uintptr(0)) || ((*(*uintptr)(unsafe.Pointer(argv + 4*4)) != uintptr(0)) && (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 4*4))))) != 0)) { + } else if (*(*uintptr)(unsafe.Pointer(argv + 1*4)) == uintptr(0)) || ((*(*uintptr)(unsafe.Pointer(argv + 4*4)) != uintptr(0)) && (int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 4*4))))) != 0)) { corruptSchema(tls, pData, argv, uintptr(0)) } else { // If the SQL column is blank it means this is an index that @@ -112429,7 +112719,9 @@ func Xsqlite3ParserReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:131614:21 for (*Parse)(unsafe.Pointer(pParse)).FpCleanup != 0 { var pCleanup uintptr = (*Parse)(unsafe.Pointer(pParse)).FpCleanup (*Parse)(unsafe.Pointer(pParse)).FpCleanup = (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpNext - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pCleanup + 8 /* &.xCleanup */))))(tls, db, (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpPtr) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*ParseCleanup)(unsafe.Pointer(pCleanup)).FxCleanup})).f(tls, db, (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpPtr) Xsqlite3DbFreeNN(tls, db, pCleanup) } Xsqlite3DbFree(tls, db, (*Parse)(unsafe.Pointer(pParse)).FaLabel) @@ -112483,7 +112775,9 @@ func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpPtr = pPtr (*ParseCleanup)(unsafe.Pointer(pCleanup)).FxCleanup = xCleanup } else { - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&xCleanup)))(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pPtr) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xCleanup})).f(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pPtr) pPtr = uintptr(0) } return pPtr @@ -112586,7 +112880,7 @@ __2: Xsqlite3VtabUnlockList(tls, db) (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Fdb = db - if !((nBytes >= 0) && ((nBytes == 0) || (int32(*(*int8)(unsafe.Pointer(zSql + uintptr((nBytes - 1))))) != 0))) { + if !((nBytes >= 0) && ((nBytes == 0) || (int32(*(*uint8)(unsafe.Pointer(zSql + uintptr((nBytes - 1))))) != 0))) { goto __8 } mxLen = *(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 1*4)) @@ -112817,7 +113111,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre if nBytes >= 0 { var sz int32 var z uintptr = zSql - for sz = 0; (sz < nBytes) && ((int32(*(*int8)(unsafe.Pointer(z + uintptr(sz)))) != 0) || (int32(*(*int8)(unsafe.Pointer(z + uintptr((sz + 1))))) != 0)); sz = sz + (2) { + for sz = 0; (sz < nBytes) && ((int32(*(*uint8)(unsafe.Pointer(z + uintptr(sz)))) != 0) || (int32(*(*uint8)(unsafe.Pointer(z + uintptr((sz + 1))))) != 0)); sz = sz + (2) { } nBytes = sz } @@ -112890,11 +113184,11 @@ func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32 // how to process the DISTINCT keyword, to simplify passing that information // into the selectInnerLoop() routine. type DistinctCtx1 = struct { - FisTnct U8 - FeTnctType U8 - _ [2]byte - FtabTnct int32 - FaddrTnct int32 + FisTnct U8 + FeTnctType U8 + F__ccgo_pad1 [2]byte + FtabTnct int32 + FaddrTnct int32 } /* sqlite3.c:132093:9 */ //************* End of prepare.c ******************************************** @@ -112944,7 +113238,7 @@ type SortCtx1 = struct { FlabelDone int32 FlabelOBLopt int32 FsortFlags U8 - _ [3]byte + F__ccgo_pad1 [3]byte FpDeferredRowLoad uintptr } /* sqlite3.c:132119:9 */ @@ -112966,9 +113260,9 @@ type SortCtx1 = struct { // extracted from the sorter. type SortCtx = SortCtx1 /* sqlite3.c:132119:24 */ type RowLoadInfo1 = struct { - FregResult int32 - FecelFlags U8 - _ [3]byte + FregResult int32 + FecelFlags U8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:132119:9 */ // Delete all the content of a Select structure. Deallocate the structure @@ -113149,7 +113443,7 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 16896 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ +var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 16896 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -114777,9 +115071,9 @@ __1: for (zName != 0) && (Xsqlite3HashFind(tls, bp+32 /* &ht */, zName) != uintptr(0)) { nName = Xsqlite3Strlen30(tls, zName) if nName > 0 { - for j = (nName - 1); (j > 0) && ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zName + uintptr(j))))]) & 0x04) != 0); j-- { + for j = (nName - 1); (j > 0) && ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zName + uintptr(j))))]) & 0x04) != 0); j-- { } - if int32(*(*int8)(unsafe.Pointer(zName + uintptr(j)))) == ':' { + if int32(*(*uint8)(unsafe.Pointer(zName + uintptr(j)))) == ':' { nName = j } } @@ -114826,7 +115120,7 @@ __3: // // This routine requires that all identifiers in the SELECT // statement be resolved. -func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff int8) { /* sqlite3.c:134225:21: */ +func Xsqlite3SelectAddColumnTypeAndCollation(tls *libc.TLS, pParse uintptr, pTab uintptr, pSelect uintptr, aff uint8) { /* sqlite3.c:134225:21: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -114891,7 +115185,7 @@ __3: // Given a SELECT statement, generate a Table structure that describes // the result set of that SELECT. -func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff int8) uintptr { /* sqlite3.c:134276:22: */ +func Xsqlite3ResultSetOfSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, aff uint8) uintptr { /* sqlite3.c:134276:22: */ var pTab uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var savedFlags U64 @@ -118656,7 +118950,7 @@ __1: pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior } Xsqlite3SelectAddColumnTypeAndCollation(tls, pParse, pTab, pSel, - int8(SQLITE_AFF_NONE)) + uint8(SQLITE_AFF_NONE)) } } @@ -121412,9 +121706,9 @@ func triggerSpanDup(tls *libc.TLS, db uintptr, zStart uintptr, zEnd uintptr) uin var z uintptr = Xsqlite3DbSpanDup(tls, db, zStart, zEnd) var i int32 if z != 0 { - for i = 0; *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0; i++ { - if (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))]) & 0x01) != 0 { - *(*int8)(unsafe.Pointer(z + uintptr(i))) = int8(' ') + for i = 0; *(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0; i++ { + if (int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z + uintptr(i))))]) & 0x01) != 0 { + *(*uint8)(unsafe.Pointer(z + uintptr(i))) = uint8(' ') } } } @@ -124339,12 +124633,12 @@ __1: break } if (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertIdx == uintptr(0) { - // var zWhich [16]int8 at bp+152, 16 + // var zWhich [16]uint8 at bp+152, 16 if (nClause == 0) && ((*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0)) { - *(*int8)(unsafe.Pointer(bp + 152 /* &zWhich[0] */)) = int8(0) + *(*uint8)(unsafe.Pointer(bp + 152 /* &zWhich[0] */)) = uint8(0) } else { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+152 /* &zWhich[0] */, ts+18912 /* "%r " */, libc.VaList(bp, (nClause+1))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]uint8{})), bp+152 /* &zWhich[0] */, ts+18912 /* "%r " */, libc.VaList(bp, (nClause+1))) } Xsqlite3ErrorMsg(tls, pParse, ts+18916 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+152 /* &zWhich[0] */)) @@ -125017,7 +125311,7 @@ func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAu Xsqlite3VtabCreateModule(tls, db, zName, pModule, pAux, xDestroy) rc = Xsqlite3ApiExit(tls, db, rc) if (rc != SQLITE_OK) && (xDestroy != 0) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestroy)))(tls, pAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, pAux) } Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return rc @@ -125061,7 +125355,7 @@ func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlit (*Module)(unsafe.Pointer(pMod)).FnRefModule-- if (*Module)(unsafe.Pointer(pMod)).FnRefModule == 0 { if (*Module)(unsafe.Pointer(pMod)).FxDestroy != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pMod + 16 /* &.xDestroy */))))(tls, (*Module)(unsafe.Pointer(pMod)).FpAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Module)(unsafe.Pointer(pMod)).FxDestroy})).f(tls, (*Module)(unsafe.Pointer(pMod)).FpAux) } Xsqlite3DbFree(tls, db, pMod) @@ -125099,7 +125393,9 @@ func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:143352:21: var p uintptr = (*VTable)(unsafe.Pointer(pVTab)).FpVtab Xsqlite3VtabModuleUnref(tls, (*VTable)(unsafe.Pointer(pVTab)).Fdb, (*VTable)(unsafe.Pointer(pVTab)).FpMod) if p != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(p)).FpModule + 16 /* &.xDisconnect */))))(tls, p) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer((*Sqlite3_vtab)(unsafe.Pointer(p)).FpModule)).FxDisconnect})).f(tls, p) } Xsqlite3DbFree(tls, db, pVTab) } @@ -125440,7 +125736,9 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FbDeclared = 0 (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32 /* &sCtx */ - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xConstruct)))(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, (pVTable + 8 /* &.pVtab */), bp+48 /* &zErr */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, (pVTable + 8 /* &.pVtab */), bp+48 /* &zErr */) (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FpPrior if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) @@ -125484,25 +125782,25 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, nType = Xsqlite3Strlen30(tls, zType) for i = 0; i < nType; i++ { if ((0 == Xsqlite3_strnicmp(tls, ts+14670 /* "hidden" */, (zType+uintptr(i)), 6)) && - ((i == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i - 1))))) == ' '))) && - ((int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == ' ')) { + ((i == 0) || (int32(*(*uint8)(unsafe.Pointer(zType + uintptr((i - 1))))) == ' '))) && + ((int32(*(*uint8)(unsafe.Pointer(zType + uintptr((i + 6))))) == 0) || (int32(*(*uint8)(unsafe.Pointer(zType + uintptr((i + 6))))) == ' ')) { break } } if i < nType { var j int32 var nDel int32 = (6 + (func() int32 { - if *(*int8)(unsafe.Pointer(zType + uintptr((i + 6)))) != 0 { + if *(*uint8)(unsafe.Pointer(zType + uintptr((i + 6)))) != 0 { return 1 } return 0 }())) for j = i; (j + nDel) <= nType; j++ { - *(*int8)(unsafe.Pointer(zType + uintptr(j))) = *(*int8)(unsafe.Pointer(zType + uintptr((j + nDel)))) + *(*uint8)(unsafe.Pointer(zType + uintptr(j))) = *(*uint8)(unsafe.Pointer(zType + uintptr((j + nDel)))) } - if (int32(*(*int8)(unsafe.Pointer(zType + uintptr(i)))) == 0) && (i > 0) { + if (int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i)))) == 0) && (i > 0) { - *(*int8)(unsafe.Pointer(zType + uintptr((i - 1)))) = int8(0) + *(*uint8)(unsafe.Pointer(zType + uintptr((i - 1)))) = uint8(0) } *(*U16)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20 + 16 /* &.colFlags */)) |= U16((COLFLAG_HIDDEN)) *(*U32)(unsafe.Pointer(pTab + 36 /* &.tabFlags */)) |= (U32(TF_HasHidden)) @@ -125733,7 +126031,9 @@ func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) } (*Table)(unsafe.Pointer(pTab)).FnTabRef++ - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&xDestroy)))(tls, (*VTable)(unsafe.Pointer(p)).FpVtab) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, (*VTable)(unsafe.Pointer(p)).FpVtab) // Remove the sqlite3_vtab* from the aVTrans[] array, if applicable if rc == SQLITE_OK { @@ -125765,7 +126065,9 @@ func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:14407 var x uintptr x = *(*uintptr)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(p)).FpModule + uintptr(offset)))) if x != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&x)))(tls, p) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p) } } (*VTable)(unsafe.Pointer(pVTab)).FiSavepoint = 0 @@ -125791,7 +126093,9 @@ func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c var x uintptr var pVtab uintptr = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(aVTrans + uintptr(i)*4)))).FpVtab if (pVtab != 0) && ((libc.AssignUintptr(&x, (*Sqlite3_module)(unsafe.Pointer((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule)).FxSync)) != uintptr(0)) { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&x)))(tls, pVtab) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, pVtab) Xsqlite3VtabImportErrmsg(tls, p, pVtab) } } @@ -125849,13 +126153,17 @@ func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqli // sqlite3.aVTrans[] array. rc = growVTrans(tls, db) if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule + 56 /* &.xBegin */))))(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxBegin})).f(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab) if rc == SQLITE_OK { var iSvpt int32 = ((*Sqlite3)(unsafe.Pointer(db)).FnStatement + (*Sqlite3)(unsafe.Pointer(db)).FnSavepoint) addToVTrans(tls, db, pVTab) if (iSvpt != 0) && ((*Sqlite3_module)(unsafe.Pointer(pModule)).FxSavepoint != 0) { (*VTable)(unsafe.Pointer(pVTab)).FiSavepoint = iSvpt - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pModule + 80 /* &.xSavepoint */))))(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab, (iSvpt - 1)) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxSavepoint})).f(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab, (iSvpt - 1)) } } } @@ -125902,7 +126210,9 @@ func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32 break } if (xMethod != 0) && ((*VTable)(unsafe.Pointer(pVTab)).FiSavepoint > iSavepoint) { - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&xMethod)))(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab, iSavepoint) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xMethod})).f(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab, iSavepoint) } Xsqlite3VtabUnlock(tls, pVTab) } @@ -125961,7 +126271,9 @@ func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg // Though undocumented, we have historically always invoked xFindFunction // with an all lower-case function name. Continue in this tradition to // avoid any chance of an incompatibility. - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pMod + 72 /* &.xFindFunction */))))(tls, pVtab, nArg, (*FuncDef)(unsafe.Pointer(pDef)).FzName, bp /* &xSFunc */, bp+4 /* &pArg */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pMod)).FxFindFunction})).f(tls, pVtab, nArg, (*FuncDef)(unsafe.Pointer(pDef)).FzName, bp /* &xSFunc */, bp+4 /* &pArg */) if rc == 0 { return pDef } @@ -126189,15 +126501,15 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 // Forward references type WhereClause1 = struct { - FpWInfo uintptr - FpOuter uintptr - Fop U8 - FhasOr U8 - _ [2]byte - FnTerm int32 - FnSlot int32 - Fa uintptr - FaStatic [8]WhereTerm + FpWInfo uintptr + FpOuter uintptr + Fop U8 + FhasOr U8 + F__ccgo_pad1 [2]byte + FnTerm int32 + FnSlot int32 + Fa uintptr + FaStatic [8]WhereTerm } /* sqlite3.c:14936:9 */ //************* End of vtab.c *********************************************** @@ -126279,9 +126591,9 @@ type WhereLevel1 = struct { FaInLoop uintptr } } - FpWLoop uintptr - _ [4]byte - FnotReady Bitmask + FpWLoop uintptr + F__ccgo_pad1 [4]byte + FnotReady Bitmask } /* sqlite3.c:14936:9 */ type WhereLevel = WhereLevel1 /* sqlite3.c:144521:27 */ @@ -126306,24 +126618,24 @@ type WhereLoop1 = struct { FnLTerm U16 FnSkip U16 FnLSlot U16 - _ [2]byte + F__ccgo_pad1 [2]byte FaLTerm uintptr FpNextLoop uintptr FaLTermSpace [3]uintptr - _ [4]byte + F__ccgo_pad2 [4]byte } /* sqlite3.c:14936:9 */ type WhereLoop = WhereLoop1 /* sqlite3.c:144522:26 */ type WherePath1 = struct { - FmaskLoop Bitmask - FrevLoop Bitmask - FnRow LogEst - FrCost LogEst - FrUnsorted LogEst - FisOrdered I8 - _ [1]byte - FaLoop uintptr - _ [4]byte + FmaskLoop Bitmask + FrevLoop Bitmask + FnRow LogEst + FrCost LogEst + FrUnsorted LogEst + FisOrdered I8 + F__ccgo_pad1 [1]byte + FaLoop uintptr + F__ccgo_pad2 [4]byte } /* sqlite3.c:144523:9 */ type WherePath = WherePath1 /* sqlite3.c:144523:26 */ @@ -126349,49 +126661,49 @@ type WhereTerm1 = struct { type WhereTerm = WhereTerm1 /* sqlite3.c:144524:26 */ type WhereLoopBuilder1 = struct { - FpWInfo uintptr - FpWC uintptr - FpOrderBy uintptr - FpNew uintptr - FpOrSet uintptr - FpRec uintptr - FnRecValid int32 - FbldFlags1 uint8 - FbldFlags2 uint8 - _ [2]byte - FiPlanLimit uint32 + FpWInfo uintptr + FpWC uintptr + FpOrderBy uintptr + FpNew uintptr + FpOrSet uintptr + FpRec uintptr + FnRecValid int32 + FbldFlags1 uint8 + FbldFlags2 uint8 + F__ccgo_pad1 [2]byte + FiPlanLimit uint32 } /* sqlite3.c:144525:9 */ type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:144525:33 */ type WhereScan1 = struct { - FpOrigWC uintptr - FpWC uintptr - FzCollName uintptr - FpIdxExpr uintptr - Fidxaff int8 - FnEquiv uint8 - FiEquiv uint8 - _ [1]byte - FopMask U32 - Fk int32 - FaiCur [11]int32 - FaiColumn [11]I16 - _ [2]byte + FpOrigWC uintptr + FpWC uintptr + FzCollName uintptr + FpIdxExpr uintptr + Fidxaff uint8 + FnEquiv uint8 + FiEquiv uint8 + F__ccgo_pad1 [1]byte + FopMask U32 + Fk int32 + FaiCur [11]int32 + FaiColumn [11]I16 + F__ccgo_pad2 [2]byte } /* sqlite3.c:144526:9 */ type WhereScan = WhereScan1 /* sqlite3.c:144526:26 */ type WhereOrCost1 = struct { - Fprereq Bitmask - FrRun LogEst - FnOut LogEst - _ [4]byte + Fprereq Bitmask + FrRun LogEst + FnOut LogEst + F__ccgo_pad1 [4]byte } /* sqlite3.c:144525:9 */ type WhereOrCost = WhereOrCost1 /* sqlite3.c:144527:28 */ type WhereOrSet1 = struct { - Fn U16 - _ [6]byte - Fa [3]WhereOrCost + Fn U16 + F__ccgo_pad1 [6]byte + Fa [3]WhereOrCost } /* sqlite3.c:144525:9 */ type WhereOrSet = WhereOrSet1 /* sqlite3.c:144528:27 */ @@ -126410,12 +126722,12 @@ type WhereOrSet = WhereOrSet1 /* sqlite3.c:144528:27 */ // the loop nested order, with WhereInfo.a[0] being the outer loop and // WhereInfo.a[WhereInfo.nLevel-1] being the inner loop. type InLoop = struct { - FiCur int32 - FaddrInTop int32 - FiBase int32 - FnPrefix int32 - FeEndLoopOp U8 - _ [3]byte + FiCur int32 + FaddrInTop int32 + FiBase int32 + FnPrefix int32 + FeEndLoopOp U8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:144567:7 */ // Allowed values for WhereLoopBuider.bldFlags @@ -126616,7 +126928,7 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr var zMsg uintptr // Text to add to EQP output // var str StrAccum at bp+48, 24 // EQP output string - // var zBuf [100]int8 at bp+72, 100 + // var zBuf [100]uint8 at bp+72, 100 // Initial space for EQP output string pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop @@ -126629,7 +126941,7 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr (((flags & U32(WHERE_VIRTUALTABLE)) == U32(0)) && (int32(*(*U16)(unsafe.Pointer((pLoop + 24 /* &.u */ /* &.btree */) /* &.nEq */))) > 0))) || ((int32(wctrlFlags) & (WHERE_ORDERBY_MIN | WHERE_ORDERBY_MAX)) != 0))) - Xsqlite3StrAccumInit(tls, bp+48 /* &str */, db, bp+72 /* &zBuf[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) + Xsqlite3StrAccumInit(tls, bp+48 /* &str */, db, bp+72 /* &zBuf[0] */, int32(unsafe.Sizeof([100]uint8{})), SQLITE_MAX_LENGTH) (*StrAccum)(unsafe.Pointer(bp + 48 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+19905 /* "%s %S" */, libc.VaList(bp, func() uintptr { if isSearch != 0 { @@ -126770,12 +127082,12 @@ func codeApplyAffinity(tls *libc.TLS, pParse uintptr, base int32, n int32, zAff // Adjust base and n to skip over SQLITE_AFF_BLOB and SQLITE_AFF_NONE // entries at the beginning and end of the affinity string. - for (n > 0) && (int32(*(*int8)(unsafe.Pointer(zAff))) <= SQLITE_AFF_BLOB) { + for (n > 0) && (int32(*(*uint8)(unsafe.Pointer(zAff))) <= SQLITE_AFF_BLOB) { n-- base++ zAff++ } - for (n > 1) && (int32(*(*int8)(unsafe.Pointer(zAff + uintptr((n - 1))))) <= SQLITE_AFF_BLOB) { + for (n > 1) && (int32(*(*uint8)(unsafe.Pointer(zAff + uintptr((n - 1))))) <= SQLITE_AFF_BLOB) { n-- } @@ -126797,9 +127109,9 @@ func updateRangeAffinityStr(tls *libc.TLS, pRight uintptr, n int32, zAff uintptr var i int32 for i = 0; i < n; i++ { var p uintptr = Xsqlite3VectorFieldSubexpr(tls, pRight, i) - if (int32(Xsqlite3CompareAffinity(tls, p, *(*int8)(unsafe.Pointer(zAff + uintptr(i))))) == SQLITE_AFF_BLOB) || - (Xsqlite3ExprNeedsNoAffinityChange(tls, p, *(*int8)(unsafe.Pointer(zAff + uintptr(i)))) != 0) { - *(*int8)(unsafe.Pointer(zAff + uintptr(i))) = int8(SQLITE_AFF_BLOB) + if (int32(Xsqlite3CompareAffinity(tls, p, *(*uint8)(unsafe.Pointer(zAff + uintptr(i))))) == SQLITE_AFF_BLOB) || + (Xsqlite3ExprNeedsNoAffinityChange(tls, p, *(*uint8)(unsafe.Pointer(zAff + uintptr(i)))) != 0) { + *(*uint8)(unsafe.Pointer(zAff + uintptr(i))) = uint8(SQLITE_AFF_BLOB) } } } @@ -127171,7 +127483,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in // sqlite3FindInIndex() routine has already ensured that the // affinity of the comparison has been applied to the value. if zAff != 0 { - *(*int8)(unsafe.Pointer(zAff + uintptr(j))) = int8(SQLITE_AFF_BLOB) + *(*uint8)(unsafe.Pointer(zAff + uintptr(j))) = uint8(SQLITE_AFF_BLOB) } } } else if (int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator) & WO_ISNULL) == 0 { @@ -127181,11 +127493,11 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in } if (int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed) == 0) && ((*Parse)(unsafe.Pointer(pParse)).FnErr == 0) { - if int32(Xsqlite3CompareAffinity(tls, pRight, *(*int8)(unsafe.Pointer(zAff + uintptr(j))))) == SQLITE_AFF_BLOB { - *(*int8)(unsafe.Pointer(zAff + uintptr(j))) = int8(SQLITE_AFF_BLOB) + if int32(Xsqlite3CompareAffinity(tls, pRight, *(*uint8)(unsafe.Pointer(zAff + uintptr(j))))) == SQLITE_AFF_BLOB { + *(*uint8)(unsafe.Pointer(zAff + uintptr(j))) = uint8(SQLITE_AFF_BLOB) } - if Xsqlite3ExprNeedsNoAffinityChange(tls, pRight, *(*int8)(unsafe.Pointer(zAff + uintptr(j)))) != 0 { - *(*int8)(unsafe.Pointer(zAff + uintptr(j))) = int8(SQLITE_AFF_BLOB) + if Xsqlite3ExprNeedsNoAffinityChange(tls, pRight, *(*uint8)(unsafe.Pointer(zAff + uintptr(j)))) != 0 { + *(*uint8)(unsafe.Pointer(zAff + uintptr(j))) = uint8(SQLITE_AFF_BLOB) } } } @@ -128798,14 +129110,14 @@ func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr var iFrom int32 var iTo int32 var zNew uintptr = *(*uintptr)(unsafe.Pointer(pPrefix + 8 /* &.u */)) - *(*int8)(unsafe.Pointer(zNew + uintptr(cnt))) = int8(0) + *(*uint8)(unsafe.Pointer(zNew + uintptr(cnt))) = uint8(0) for iFrom = libc.AssignInt32(&iTo, 0); iFrom < cnt; iFrom++ { - if int32(*(*int8)(unsafe.Pointer(zNew + uintptr(iFrom)))) == int32(*(*U8)(unsafe.Pointer(bp /* &wc[0] */ + 3))) { + if int32(*(*uint8)(unsafe.Pointer(zNew + uintptr(iFrom)))) == int32(*(*U8)(unsafe.Pointer(bp /* &wc[0] */ + 3))) { iFrom++ } - *(*int8)(unsafe.Pointer(zNew + uintptr(libc.PostIncInt32(&iTo, 1)))) = *(*int8)(unsafe.Pointer(zNew + uintptr(iFrom))) + *(*uint8)(unsafe.Pointer(zNew + uintptr(libc.PostIncInt32(&iTo, 1)))) = *(*uint8)(unsafe.Pointer(zNew + uintptr(iFrom))) } - *(*int8)(unsafe.Pointer(zNew + uintptr(iTo))) = int8(0) + *(*uint8)(unsafe.Pointer(zNew + uintptr(iTo))) = uint8(0) // If the LHS is not an ordinary column with TEXT affinity, then the // pattern prefix boundaries (both the start and end boundaries) must @@ -128827,12 +129139,12 @@ func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr isNum = Xsqlite3AtoF(tls, zNew, bp+8 /* &rDummy */, iTo, uint8(SQLITE_UTF8)) if isNum <= 0 { - if (iTo == 1) && (int32(*(*int8)(unsafe.Pointer(zNew))) == '-') { + if (iTo == 1) && (int32(*(*uint8)(unsafe.Pointer(zNew))) == '-') { isNum = +1 } else { - *(*int8)(unsafe.Pointer(zNew + uintptr((iTo - 1))))++ + *(*uint8)(unsafe.Pointer(zNew + uintptr((iTo - 1))))++ isNum = Xsqlite3AtoF(tls, zNew, bp+8 /* &rDummy */, iTo, uint8(SQLITE_UTF8)) - *(*int8)(unsafe.Pointer(zNew + uintptr((iTo - 1))))-- + *(*uint8)(unsafe.Pointer(zNew + uintptr((iTo - 1))))-- } } if isNum > 0 { @@ -128849,7 +129161,7 @@ func isLikeOrGlob(tls *libc.TLS, pParse uintptr, pExpr uintptr, ppPrefix uintptr if op == TK_VARIABLE { var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe Xsqlite3VdbeSetVarmask(tls, v, int32((*Expr)(unsafe.Pointer(pRight)).FiColumn)) - if (*(*int32)(unsafe.Pointer(pisComplete)) != 0) && (*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pRight + 8 /* &.u */)) + 1)) != 0) { + if (*(*int32)(unsafe.Pointer(pisComplete)) != 0) && (*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pRight + 8 /* &.u */)) + 1)) != 0) { // If the rhs of the LIKE expression is a variable, and the current // value of the variable means there is no need to invoke the LIKE // function, then no OP_Variable will be added to the program. @@ -128950,7 +129262,9 @@ func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uin pMod = (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule if (*Sqlite3_module)(unsafe.Pointer(pMod)).FxFindFunction != uintptr(0) { - i = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pMod + 72 /* &.xFindFunction */))))(tls, pVtab, 2, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)), bp /* &xNotUsed */, bp+4 /* &pNotUsed */) + i = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pMod)).FxFindFunction})).f(tls, pVtab, 2, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)), bp /* &xNotUsed */, bp+4 /* &pNotUsed */) if i >= SQLITE_INDEX_CONSTRAINT_FUNCTION { *(*uint8)(unsafe.Pointer(peOp2)) = uint8(i) *(*uintptr)(unsafe.Pointer(ppRight)) = (*ExprList_item)(unsafe.Pointer((pList + 8 /* &.a */) + 1*20)).FpExpr @@ -128994,9 +129308,9 @@ func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uin } type Op2 = struct { - FzOp uintptr - FeOp2 uint8 - _ [3]byte + FzOp uintptr + FeOp2 uint8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:147955:18 */ var aOp = [4]Op2{ @@ -129508,8 +129822,8 @@ __3: // This is an optimization. No harm comes from returning 0. But if 1 is // returned when it should not be, then incorrect answers might result. func termIsEquivalence(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:148501:12: */ - var aff1 int8 - var aff2 int8 + var aff1 uint8 + var aff2 uint8 var pColl uintptr if !(((*Sqlite3)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb))).FdbOptFlags & (U32(SQLITE_Transitive))) == U32(0)) { return 0 @@ -129853,11 +130167,11 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s // the range constraints also work for BLOBs if (*(*int32)(unsafe.Pointer(bp + 16 /* noCase */)) != 0) && !(int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed) != 0) { var i int32 - var c int8 + var c uint8 *(*U16)(unsafe.Pointer(pTerm + 10 /* &.wtFlags */)) |= U16((TERM_LIKE)) - for i = 0; (int32(libc.AssignInt8(&c, *(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pStr1 */)) + 8 /* &.u */)) + uintptr(i)))))) != 0; i++ { - *(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pStr1 */)) + 8 /* &.u */)) + uintptr(i))) = (int8((int32(c)) & ^(int32(Xsqlite3CtypeMap[uint8(c)]) & 0x20))) - *(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pStr2 + 8 /* &.u */)) + uintptr(i))) = int8(Xsqlite3UpperToLower[uint8(c)]) + for i = 0; (int32(libc.AssignUint8(&c, *(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pStr1 */)) + 8 /* &.u */)) + uintptr(i)))))) != 0; i++ { + *(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pStr1 */)) + 8 /* &.u */)) + uintptr(i))) = (uint8((int32(c)) & ^(int32(Xsqlite3CtypeMap[uint8(c)]) & 0x20))) + *(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pStr2 + 8 /* &.u */)) + uintptr(i))) = uint8(Xsqlite3UpperToLower[uint8(c)]) } } @@ -130636,7 +130950,7 @@ func whereScanInit(tls *libc.TLS, pScan uintptr, pWC uintptr, iCur int32, iColum (*WhereScan)(unsafe.Pointer(pScan)).FpOrigWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpWC = pWC (*WhereScan)(unsafe.Pointer(pScan)).FpIdxExpr = uintptr(0) - (*WhereScan)(unsafe.Pointer(pScan)).Fidxaff = int8(0) + (*WhereScan)(unsafe.Pointer(pScan)).Fidxaff = uint8(0) (*WhereScan)(unsafe.Pointer(pScan)).FzCollName = uintptr(0) (*WhereScan)(unsafe.Pointer(pScan)).FopMask = opMask (*WhereScan)(unsafe.Pointer(pScan)).Fk = 0 @@ -130890,7 +131204,7 @@ __3: // could be used with an index to access pSrc, assuming an appropriate // index existed. func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitmask) int32 { /* sqlite3.c:149938:12: */ - var aff int8 + var aff uint8 if (*WhereTerm)(unsafe.Pointer(pTerm)).FleftCursor != (*SrcItem)(unsafe.Pointer(pSrc)).FiCursor { return 0 } @@ -131441,7 +131755,9 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 var pVtab uintptr = (*VTable)(unsafe.Pointer(Xsqlite3GetVTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pTab))).FpVtab var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule + 12 /* &.xBestIndex */))))(tls, pVtab, p) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule)).FxBestIndex})).f(tls, pVtab, p) if (rc != SQLITE_OK) && (rc != SQLITE_CONSTRAINT) { if rc == SQLITE_NOMEM { @@ -131620,15 +131936,15 @@ func whereRangeAdjust(tls *libc.TLS, pTerm uintptr, nNew LogEst) LogEst { /* sql } // Return the affinity for a single column of an index. -func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) int8 { /* sqlite3.c:150579:21: */ +func Xsqlite3IndexColumnAffinity(tls *libc.TLS, db uintptr, pIdx uintptr, iCol int32) uint8 { /* sqlite3.c:150579:21: */ if !(int32((*Index)(unsafe.Pointer(pIdx)).FzColAff) != 0) { if Xsqlite3IndexAffinityStr(tls, db, pIdx) == uintptr(0) { - return int8(SQLITE_AFF_BLOB) + return uint8(SQLITE_AFF_BLOB) } } - return *(*int8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(iCol))) + return *(*uint8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(iCol))) } // This function is called to estimate the number of rows visited by a @@ -132577,9 +132893,9 @@ func whereRangeVectorLen(tls *libc.TLS, pParse uintptr, iCur int32, pIdx uintptr for i = 1; i < nCmp; i++ { // Test if comparison i of pTerm is compatible with column (i+nEq) // of the index. If not, exit the loop. - var aff int8 // Comparison affinity - var idxaff int8 = int8(0) // Indexed columns affinity - var pColl uintptr // Comparison collation sequence + var aff uint8 // Comparison affinity + var idxaff uint8 = uint8(0) // Indexed columns affinity + var pColl uintptr // Comparison collation sequence var pLhs uintptr = (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((*Expr)(unsafe.Pointer((*WhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpLeft + 20 /* &.x */)) + 8 /* &.a */) + uintptr(i)*20)).FpExpr var pRhs uintptr = (*Expr)(unsafe.Pointer((*WhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpRight if ((*Expr)(unsafe.Pointer(pRhs)).Fflags & U32(EP_xIsSelect)) != 0 { @@ -135850,9 +136166,9 @@ func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154626:21: * } { - Xsqlite3VdbeJumpHere(tls, v, ((*InLoop)(unsafe.Pointer(pIn)).FaddrInTop + 1)) - if int32((*InLoop)(unsafe.Pointer(pIn)).FeEndLoopOp) != OP_Noop { - if (*InLoop)(unsafe.Pointer(pIn)).FnPrefix != 0 { + Xsqlite3VdbeJumpHere(tls, v, (*(*int32)(unsafe.Pointer(pIn + 4)) + 1)) + if int32(*(*U8)(unsafe.Pointer(pIn + 16))) != OP_Noop { + if *(*int32)(unsafe.Pointer(pIn + 12)) != 0 { var bEarlyOut int32 = (libc.Bool32((((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_VIRTUALTABLE)) == U32(0)) && (((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_IN_EARLYOUT)) != U32(0)))) if (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin != 0 { @@ -135864,26 +136180,26 @@ func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154626:21: * // return the null-row. So, if the cursor is not open yet, // jump over the OP_Next or OP_Prev instruction about to // be coded. - Xsqlite3VdbeAddOp2(tls, v, OP_IfNotOpen, (*InLoop)(unsafe.Pointer(pIn)).FiCur, + Xsqlite3VdbeAddOp2(tls, v, OP_IfNotOpen, *(*int32)(unsafe.Pointer(pIn)), ((Xsqlite3VdbeCurrentAddr(tls, v) + 2) + bEarlyOut)) } if bEarlyOut != 0 { Xsqlite3VdbeAddOp4Int(tls, v, OP_IfNoHope, (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur, (Xsqlite3VdbeCurrentAddr(tls, v) + 2), - (*InLoop)(unsafe.Pointer(pIn)).FiBase, (*InLoop)(unsafe.Pointer(pIn)).FnPrefix) + *(*int32)(unsafe.Pointer(pIn + 8)), *(*int32)(unsafe.Pointer(pIn + 12))) // Retarget the OP_IsNull against the left operand of IN so // it jumps past the OP_IfNoHope. This is because the // OP_IsNull also bypasses the OP_Affinity opcode that is // required by OP_IfNoHope. - Xsqlite3VdbeJumpHere(tls, v, ((*InLoop)(unsafe.Pointer(pIn)).FaddrInTop + 1)) + Xsqlite3VdbeJumpHere(tls, v, (*(*int32)(unsafe.Pointer(pIn + 4)) + 1)) } } - Xsqlite3VdbeAddOp2(tls, v, int32((*InLoop)(unsafe.Pointer(pIn)).FeEndLoopOp), (*InLoop)(unsafe.Pointer(pIn)).FiCur, (*InLoop)(unsafe.Pointer(pIn)).FaddrInTop) + Xsqlite3VdbeAddOp2(tls, v, int32(*(*U8)(unsafe.Pointer(pIn + 16))), *(*int32)(unsafe.Pointer(pIn)), *(*int32)(unsafe.Pointer(pIn + 4))) } - Xsqlite3VdbeJumpHere(tls, v, ((*InLoop)(unsafe.Pointer(pIn)).FaddrInTop - 1)) + Xsqlite3VdbeJumpHere(tls, v, (*(*int32)(unsafe.Pointer(pIn + 4)) - 1)) } goto __2 @@ -136229,9 +136545,9 @@ func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155100:13: // implementation is used in "slow mode" only - when the EXCLUDE clause // is not set to the default value "NO OTHERS". type NthValueCtx = struct { - FnStep I64 - FpValue uintptr - _ [4]byte + FnStep I64 + FpValue uintptr + F__ccgo_pad1 [4]byte } /* sqlite3.c:155117:1 */ func nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:155121:13: */ @@ -136542,17 +136858,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155441:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 20475 /* "row_number" */)) /* sqlite3.c:155459:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 20486 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 20497 /* "rank" */)) /* sqlite3.c:155461:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 20502 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 20515 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 20525 /* "ntile" */)) /* sqlite3.c:155464:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 20531 /* "last_value" */)) /* sqlite3.c:155465:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 20542 /* "nth_value" */)) /* sqlite3.c:155466:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 20552 /* "first_value" */)) /* sqlite3.c:155467:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 20564 /* "lead" */)) /* sqlite3.c:155468:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 20569 /* "lag" */)) /* sqlite3.c:155469:19 */ +var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 20475 /* "row_number" */)) /* sqlite3.c:155459:19 */ +var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 20486 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ +var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 20497 /* "rank" */)) /* sqlite3.c:155461:19 */ +var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 20502 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ +var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 20515 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ +var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 20525 /* "ntile" */)) /* sqlite3.c:155464:19 */ +var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 20531 /* "last_value" */)) /* sqlite3.c:155465:19 */ +var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 20542 /* "nth_value" */)) /* sqlite3.c:155466:19 */ +var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 20552 /* "first_value" */)) /* sqlite3.c:155467:19 */ +var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 20564 /* "lead" */)) /* sqlite3.c:155468:19 */ +var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 20569 /* "lag" */)) /* sqlite3.c:155469:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -137071,7 +137387,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* (*SrcItem)(unsafe.Pointer(((*Select)(unsafe.Pointer(p)).FpSrc + 8 /* &.a */))).FpSelect = pSub Xsqlite3SrcListAssignCursors(tls, pParse, (*Select)(unsafe.Pointer(p)).FpSrc) *(*U32)(unsafe.Pointer(pSub + 4 /* &.selFlags */)) |= (U32(SF_Expanded)) - pTab2 = Xsqlite3ResultSetOfSelect(tls, pParse, pSub, int8(SQLITE_AFF_NONE)) + pTab2 = Xsqlite3ResultSetOfSelect(tls, pParse, pSub, uint8(SQLITE_AFF_NONE)) *(*U32)(unsafe.Pointer(pSub + 4 /* &.selFlags */)) |= (selFlags & U32(SF_Aggregate)) if pTab2 == uintptr(0) { // Might actually be some other kind of error, but in that case @@ -137414,7 +137730,7 @@ func Xsqlite3WindowCodeInit(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* (*Window)(unsafe.Pointer(pWin)).FcsrApp = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1) (*Window)(unsafe.Pointer(pWin)).FregApp = ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1) *(*int32)(unsafe.Pointer(pParse + 44 /* &.nMem */)) += (3) - if (pKeyInfo != 0) && (int32(*(*int8)(unsafe.Pointer((*FuncDef)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpFunc)).FzName + 1))) == 'i') { + if (pKeyInfo != 0) && (int32(*(*uint8)(unsafe.Pointer((*FuncDef)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpFunc)).FzName + 1))) == 'i') { *(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags)) = U8(KEYINFO_ORDER_DESC) } @@ -139130,7 +139446,7 @@ func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sq if p != 0 { // memset(p, 0, sizeof(Expr)); (*Expr)(unsafe.Pointer(p)).Fop = U8(op) - (*Expr)(unsafe.Pointer(p)).FaffExpr = int8(0) + (*Expr)(unsafe.Pointer(p)).FaffExpr = uint8(0) (*Expr)(unsafe.Pointer(p)).Fflags = U32(EP_Leaf) (*Expr)(unsafe.Pointer(p)).FiAgg = int16(-1) @@ -139143,8 +139459,8 @@ func tokenExpr(tls *libc.TLS, pParse uintptr, op int32, t Token) uintptr { /* sq (*Expr)(unsafe.Pointer(p)).FiColumn = int16(0) *(*uintptr)(unsafe.Pointer(p + 8 /* &.u */)) = (p + 1*52) libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(p + 8 /* &.u */)), (*Token)(unsafe.Pointer(bp /* &t */)).Fz, (*Token)(unsafe.Pointer(bp /* &t */)).Fn) - *(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(p + 8 /* &.u */)) + uintptr((*Token)(unsafe.Pointer(bp /* &t */)).Fn))) = int8(0) - if (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(p + 8 /* &.u */)))))]) & 0x80) != 0 { + *(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(p + 8 /* &.u */)) + uintptr((*Token)(unsafe.Pointer(bp /* &t */)).Fn))) = uint8(0) + if (int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(p + 8 /* &.u */)))))]) & 0x80) != 0 { Xsqlite3DequoteExpr(tls, p) } (*Expr)(unsafe.Pointer(p)).FnHeight = 1 @@ -139244,8 +139560,8 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT // YY_MAX_REDUCE Maximum value for reduce actions //************ Begin control #defines **************************************** type YYMINORTYPE = struct { - Fyyinit int32 - _ [4]byte + Fyyinit int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:158494:3 */ //************ End control #defines ****************************************** @@ -142264,7 +142580,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(183): /* expr ::= VARIABLE */ { - if !((int32(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(yymsp + 4 /* &.minor */)).Fz))) == '#') && ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fz + 1)))]) & 0x04) != 0)) { + if !((int32(*(*uint8)(unsafe.Pointer((*Token)(unsafe.Pointer(yymsp + 4 /* &.minor */)).Fz))) == '#') && ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer((*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fz + 1)))]) & 0x04) != 0)) { var n U32 = (*Token)(unsafe.Pointer(yymsp + 4 /* &.minor */)).Fn *(*uintptr)(unsafe.Pointer(yymsp + 4 /* &.minor */)) = tokenExpr(tls, pParse, TK_VARIABLE, *(*Token)(unsafe.Pointer(yymsp + 4 /* &.minor */))) Xsqlite3ExprAssignVarNumber(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4 /* &.minor */)), n) @@ -142801,7 +143117,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in { *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*12 + 4 /* &.minor */)) = Xsqlite3PExpr(tls, pParse, TK_RAISE, uintptr(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*12 + 4 /* &.minor */)) != 0 { - (*Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*12 + 4 /* &.minor */)))).FaffExpr = int8(OE_Ignore) + (*Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*12 + 4 /* &.minor */)))).FaffExpr = uint8(OE_Ignore) } } break @@ -142809,7 +143125,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in { *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4 /* &.minor */)) = Xsqlite3ExprAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_RAISE, (yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */ /* &.yy0 */), 1) if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4 /* &.minor */)) != 0 { - (*Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4 /* &.minor */)))).FaffExpr = int8(*(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*12 + 4 /* &.minor */))) + (*Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4 /* &.minor */)))).FaffExpr = uint8(*(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*12 + 4 /* &.minor */))) } } break @@ -143218,7 +143534,7 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To //*********** Begin %syntax_error code *************************************** _ = yymajor // Silence some compiler warnings - if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8 /* &yyminor */)).Fz)) != 0 { + if *(*uint8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8 /* &yyminor */)).Fz)) != 0 { Xsqlite3ErrorMsg(tls, pParse, ts+21275 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) } else { Xsqlite3ErrorMsg(tls, pParse, ts+21563 /* "incomplete input" */, 0) @@ -143412,44 +143728,44 @@ var aiClass = [256]uint8{ // EPLACEFIRSTFOLLOWINGFROMFULLIMITIFORDERESTRICTOTHERSOVER // ETURNINGRIGHTROLLBACKROWSUNBOUNDEDUNIONUSINGVACUUMVIEWINDOWBY // INITIALLYPRIMARY -var zKWText = [666]int8{ - int8('R'), int8('E'), int8('I'), int8('N'), int8('D'), int8('E'), int8('X'), int8('E'), int8('D'), int8('E'), int8('S'), int8('C'), int8('A'), int8('P'), int8('E'), int8('A'), int8('C'), int8('H'), - int8('E'), int8('C'), int8('K'), int8('E'), int8('Y'), int8('B'), int8('E'), int8('F'), int8('O'), int8('R'), int8('E'), int8('I'), int8('G'), int8('N'), int8('O'), int8('R'), int8('E'), int8('G'), - int8('E'), int8('X'), int8('P'), int8('L'), int8('A'), int8('I'), int8('N'), int8('S'), int8('T'), int8('E'), int8('A'), int8('D'), int8('D'), int8('A'), int8('T'), int8('A'), int8('B'), int8('A'), - int8('S'), int8('E'), int8('L'), int8('E'), int8('C'), int8('T'), int8('A'), int8('B'), int8('L'), int8('E'), int8('F'), int8('T'), int8('H'), int8('E'), int8('N'), int8('D'), int8('E'), int8('F'), - int8('E'), int8('R'), int8('R'), int8('A'), int8('B'), int8('L'), int8('E'), int8('L'), int8('S'), int8('E'), int8('X'), int8('C'), int8('L'), int8('U'), int8('D'), int8('E'), int8('L'), int8('E'), - int8('T'), int8('E'), int8('M'), int8('P'), int8('O'), int8('R'), int8('A'), int8('R'), int8('Y'), int8('I'), int8('S'), int8('N'), int8('U'), int8('L'), int8('L'), int8('S'), int8('A'), int8('V'), - int8('E'), int8('P'), int8('O'), int8('I'), int8('N'), int8('T'), int8('E'), int8('R'), int8('S'), int8('E'), int8('C'), int8('T'), int8('I'), int8('E'), int8('S'), int8('N'), int8('O'), int8('T'), - int8('N'), int8('U'), int8('L'), int8('L'), int8('I'), int8('K'), int8('E'), int8('X'), int8('C'), int8('E'), int8('P'), int8('T'), int8('R'), int8('A'), int8('N'), int8('S'), int8('A'), int8('C'), - int8('T'), int8('I'), int8('O'), int8('N'), int8('A'), int8('T'), int8('U'), int8('R'), int8('A'), int8('L'), int8('T'), int8('E'), int8('R'), int8('A'), int8('I'), int8('S'), int8('E'), int8('X'), - int8('C'), int8('L'), int8('U'), int8('S'), int8('I'), int8('V'), int8('E'), int8('X'), int8('I'), int8('S'), int8('T'), int8('S'), int8('C'), int8('O'), int8('N'), int8('S'), int8('T'), int8('R'), - int8('A'), int8('I'), int8('N'), int8('T'), int8('O'), int8('F'), int8('F'), int8('S'), int8('E'), int8('T'), int8('R'), int8('I'), int8('G'), int8('G'), int8('E'), int8('R'), int8('A'), int8('N'), - int8('G'), int8('E'), int8('N'), int8('E'), int8('R'), int8('A'), int8('T'), int8('E'), int8('D'), int8('E'), int8('T'), int8('A'), int8('C'), int8('H'), int8('A'), int8('V'), int8('I'), int8('N'), - int8('G'), int8('L'), int8('O'), int8('B'), int8('E'), int8('G'), int8('I'), int8('N'), int8('N'), int8('E'), int8('R'), int8('E'), int8('F'), int8('E'), int8('R'), int8('E'), int8('N'), int8('C'), - int8('E'), int8('S'), int8('U'), int8('N'), int8('I'), int8('Q'), int8('U'), int8('E'), int8('R'), int8('Y'), int8('W'), int8('I'), int8('T'), int8('H'), int8('O'), int8('U'), int8('T'), int8('E'), - int8('R'), int8('E'), int8('L'), int8('E'), int8('A'), int8('S'), int8('E'), int8('A'), int8('T'), int8('T'), int8('A'), int8('C'), int8('H'), int8('B'), int8('E'), int8('T'), int8('W'), int8('E'), - int8('E'), int8('N'), int8('O'), int8('T'), int8('H'), int8('I'), int8('N'), int8('G'), int8('R'), int8('O'), int8('U'), int8('P'), int8('S'), int8('C'), int8('A'), int8('S'), int8('C'), int8('A'), - int8('D'), int8('E'), int8('F'), int8('A'), int8('U'), int8('L'), int8('T'), int8('C'), int8('A'), int8('S'), int8('E'), int8('C'), int8('O'), int8('L'), int8('L'), int8('A'), int8('T'), int8('E'), - int8('C'), int8('R'), int8('E'), int8('A'), int8('T'), int8('E'), int8('C'), int8('U'), int8('R'), int8('R'), int8('E'), int8('N'), int8('T'), int8('_'), int8('D'), int8('A'), int8('T'), int8('E'), - int8('I'), int8('M'), int8('M'), int8('E'), int8('D'), int8('I'), int8('A'), int8('T'), int8('E'), int8('J'), int8('O'), int8('I'), int8('N'), int8('S'), int8('E'), int8('R'), int8('T'), int8('M'), - int8('A'), int8('T'), int8('C'), int8('H'), int8('P'), int8('L'), int8('A'), int8('N'), int8('A'), int8('L'), int8('Y'), int8('Z'), int8('E'), int8('P'), int8('R'), int8('A'), int8('G'), int8('M'), - int8('A'), int8('T'), int8('E'), int8('R'), int8('I'), int8('A'), int8('L'), int8('I'), int8('Z'), int8('E'), int8('D'), int8('E'), int8('F'), int8('E'), int8('R'), int8('R'), int8('E'), int8('D'), - int8('I'), int8('S'), int8('T'), int8('I'), int8('N'), int8('C'), int8('T'), int8('U'), int8('P'), int8('D'), int8('A'), int8('T'), int8('E'), int8('V'), int8('A'), int8('L'), int8('U'), int8('E'), - int8('S'), int8('V'), int8('I'), int8('R'), int8('T'), int8('U'), int8('A'), int8('L'), int8('W'), int8('A'), int8('Y'), int8('S'), int8('W'), int8('H'), int8('E'), int8('N'), int8('W'), int8('H'), - int8('E'), int8('R'), int8('E'), int8('C'), int8('U'), int8('R'), int8('S'), int8('I'), int8('V'), int8('E'), int8('A'), int8('B'), int8('O'), int8('R'), int8('T'), int8('A'), int8('F'), int8('T'), - int8('E'), int8('R'), int8('E'), int8('N'), int8('A'), int8('M'), int8('E'), int8('A'), int8('N'), int8('D'), int8('R'), int8('O'), int8('P'), int8('A'), int8('R'), int8('T'), int8('I'), int8('T'), - int8('I'), int8('O'), int8('N'), int8('A'), int8('U'), int8('T'), int8('O'), int8('I'), int8('N'), int8('C'), int8('R'), int8('E'), int8('M'), int8('E'), int8('N'), int8('T'), int8('C'), int8('A'), - int8('S'), int8('T'), int8('C'), int8('O'), int8('L'), int8('U'), int8('M'), int8('N'), int8('C'), int8('O'), int8('M'), int8('M'), int8('I'), int8('T'), int8('C'), int8('O'), int8('N'), int8('F'), - int8('L'), int8('I'), int8('C'), int8('T'), int8('C'), int8('R'), int8('O'), int8('S'), int8('S'), int8('C'), int8('U'), int8('R'), int8('R'), int8('E'), int8('N'), int8('T'), int8('_'), int8('T'), - int8('I'), int8('M'), int8('E'), int8('S'), int8('T'), int8('A'), int8('M'), int8('P'), int8('R'), int8('E'), int8('C'), int8('E'), int8('D'), int8('I'), int8('N'), int8('G'), int8('F'), int8('A'), - int8('I'), int8('L'), int8('A'), int8('S'), int8('T'), int8('F'), int8('I'), int8('L'), int8('T'), int8('E'), int8('R'), int8('E'), int8('P'), int8('L'), int8('A'), int8('C'), int8('E'), int8('F'), - int8('I'), int8('R'), int8('S'), int8('T'), int8('F'), int8('O'), int8('L'), int8('L'), int8('O'), int8('W'), int8('I'), int8('N'), int8('G'), int8('F'), int8('R'), int8('O'), int8('M'), int8('F'), - int8('U'), int8('L'), int8('L'), int8('I'), int8('M'), int8('I'), int8('T'), int8('I'), int8('F'), int8('O'), int8('R'), int8('D'), int8('E'), int8('R'), int8('E'), int8('S'), int8('T'), int8('R'), - int8('I'), int8('C'), int8('T'), int8('O'), int8('T'), int8('H'), int8('E'), int8('R'), int8('S'), int8('O'), int8('V'), int8('E'), int8('R'), int8('E'), int8('T'), int8('U'), int8('R'), int8('N'), - int8('I'), int8('N'), int8('G'), int8('R'), int8('I'), int8('G'), int8('H'), int8('T'), int8('R'), int8('O'), int8('L'), int8('L'), int8('B'), int8('A'), int8('C'), int8('K'), int8('R'), int8('O'), - int8('W'), int8('S'), int8('U'), int8('N'), int8('B'), int8('O'), int8('U'), int8('N'), int8('D'), int8('E'), int8('D'), int8('U'), int8('N'), int8('I'), int8('O'), int8('N'), int8('U'), int8('S'), - int8('I'), int8('N'), int8('G'), int8('V'), int8('A'), int8('C'), int8('U'), int8('U'), int8('M'), int8('V'), int8('I'), int8('E'), int8('W'), int8('I'), int8('N'), int8('D'), int8('O'), int8('W'), - int8('B'), int8('Y'), int8('I'), int8('N'), int8('I'), int8('T'), int8('I'), int8('A'), int8('L'), int8('L'), int8('Y'), int8('P'), int8('R'), int8('I'), int8('M'), int8('A'), int8('R'), int8('Y'), +var zKWText = [666]uint8{ + uint8('R'), uint8('E'), uint8('I'), uint8('N'), uint8('D'), uint8('E'), uint8('X'), uint8('E'), uint8('D'), uint8('E'), uint8('S'), uint8('C'), uint8('A'), uint8('P'), uint8('E'), uint8('A'), uint8('C'), uint8('H'), + uint8('E'), uint8('C'), uint8('K'), uint8('E'), uint8('Y'), uint8('B'), uint8('E'), uint8('F'), uint8('O'), uint8('R'), uint8('E'), uint8('I'), uint8('G'), uint8('N'), uint8('O'), uint8('R'), uint8('E'), uint8('G'), + uint8('E'), uint8('X'), uint8('P'), uint8('L'), uint8('A'), uint8('I'), uint8('N'), uint8('S'), uint8('T'), uint8('E'), uint8('A'), uint8('D'), uint8('D'), uint8('A'), uint8('T'), uint8('A'), uint8('B'), uint8('A'), + uint8('S'), uint8('E'), uint8('L'), uint8('E'), uint8('C'), uint8('T'), uint8('A'), uint8('B'), uint8('L'), uint8('E'), uint8('F'), uint8('T'), uint8('H'), uint8('E'), uint8('N'), uint8('D'), uint8('E'), uint8('F'), + uint8('E'), uint8('R'), uint8('R'), uint8('A'), uint8('B'), uint8('L'), uint8('E'), uint8('L'), uint8('S'), uint8('E'), uint8('X'), uint8('C'), uint8('L'), uint8('U'), uint8('D'), uint8('E'), uint8('L'), uint8('E'), + uint8('T'), uint8('E'), uint8('M'), uint8('P'), uint8('O'), uint8('R'), uint8('A'), uint8('R'), uint8('Y'), uint8('I'), uint8('S'), uint8('N'), uint8('U'), uint8('L'), uint8('L'), uint8('S'), uint8('A'), uint8('V'), + uint8('E'), uint8('P'), uint8('O'), uint8('I'), uint8('N'), uint8('T'), uint8('E'), uint8('R'), uint8('S'), uint8('E'), uint8('C'), uint8('T'), uint8('I'), uint8('E'), uint8('S'), uint8('N'), uint8('O'), uint8('T'), + uint8('N'), uint8('U'), uint8('L'), uint8('L'), uint8('I'), uint8('K'), uint8('E'), uint8('X'), uint8('C'), uint8('E'), uint8('P'), uint8('T'), uint8('R'), uint8('A'), uint8('N'), uint8('S'), uint8('A'), uint8('C'), + uint8('T'), uint8('I'), uint8('O'), uint8('N'), uint8('A'), uint8('T'), uint8('U'), uint8('R'), uint8('A'), uint8('L'), uint8('T'), uint8('E'), uint8('R'), uint8('A'), uint8('I'), uint8('S'), uint8('E'), uint8('X'), + uint8('C'), uint8('L'), uint8('U'), uint8('S'), uint8('I'), uint8('V'), uint8('E'), uint8('X'), uint8('I'), uint8('S'), uint8('T'), uint8('S'), uint8('C'), uint8('O'), uint8('N'), uint8('S'), uint8('T'), uint8('R'), + uint8('A'), uint8('I'), uint8('N'), uint8('T'), uint8('O'), uint8('F'), uint8('F'), uint8('S'), uint8('E'), uint8('T'), uint8('R'), uint8('I'), uint8('G'), uint8('G'), uint8('E'), uint8('R'), uint8('A'), uint8('N'), + uint8('G'), uint8('E'), uint8('N'), uint8('E'), uint8('R'), uint8('A'), uint8('T'), uint8('E'), uint8('D'), uint8('E'), uint8('T'), uint8('A'), uint8('C'), uint8('H'), uint8('A'), uint8('V'), uint8('I'), uint8('N'), + uint8('G'), uint8('L'), uint8('O'), uint8('B'), uint8('E'), uint8('G'), uint8('I'), uint8('N'), uint8('N'), uint8('E'), uint8('R'), uint8('E'), uint8('F'), uint8('E'), uint8('R'), uint8('E'), uint8('N'), uint8('C'), + uint8('E'), uint8('S'), uint8('U'), uint8('N'), uint8('I'), uint8('Q'), uint8('U'), uint8('E'), uint8('R'), uint8('Y'), uint8('W'), uint8('I'), uint8('T'), uint8('H'), uint8('O'), uint8('U'), uint8('T'), uint8('E'), + uint8('R'), uint8('E'), uint8('L'), uint8('E'), uint8('A'), uint8('S'), uint8('E'), uint8('A'), uint8('T'), uint8('T'), uint8('A'), uint8('C'), uint8('H'), uint8('B'), uint8('E'), uint8('T'), uint8('W'), uint8('E'), + uint8('E'), uint8('N'), uint8('O'), uint8('T'), uint8('H'), uint8('I'), uint8('N'), uint8('G'), uint8('R'), uint8('O'), uint8('U'), uint8('P'), uint8('S'), uint8('C'), uint8('A'), uint8('S'), uint8('C'), uint8('A'), + uint8('D'), uint8('E'), uint8('F'), uint8('A'), uint8('U'), uint8('L'), uint8('T'), uint8('C'), uint8('A'), uint8('S'), uint8('E'), uint8('C'), uint8('O'), uint8('L'), uint8('L'), uint8('A'), uint8('T'), uint8('E'), + uint8('C'), uint8('R'), uint8('E'), uint8('A'), uint8('T'), uint8('E'), uint8('C'), uint8('U'), uint8('R'), uint8('R'), uint8('E'), uint8('N'), uint8('T'), uint8('_'), uint8('D'), uint8('A'), uint8('T'), uint8('E'), + uint8('I'), uint8('M'), uint8('M'), uint8('E'), uint8('D'), uint8('I'), uint8('A'), uint8('T'), uint8('E'), uint8('J'), uint8('O'), uint8('I'), uint8('N'), uint8('S'), uint8('E'), uint8('R'), uint8('T'), uint8('M'), + uint8('A'), uint8('T'), uint8('C'), uint8('H'), uint8('P'), uint8('L'), uint8('A'), uint8('N'), uint8('A'), uint8('L'), uint8('Y'), uint8('Z'), uint8('E'), uint8('P'), uint8('R'), uint8('A'), uint8('G'), uint8('M'), + uint8('A'), uint8('T'), uint8('E'), uint8('R'), uint8('I'), uint8('A'), uint8('L'), uint8('I'), uint8('Z'), uint8('E'), uint8('D'), uint8('E'), uint8('F'), uint8('E'), uint8('R'), uint8('R'), uint8('E'), uint8('D'), + uint8('I'), uint8('S'), uint8('T'), uint8('I'), uint8('N'), uint8('C'), uint8('T'), uint8('U'), uint8('P'), uint8('D'), uint8('A'), uint8('T'), uint8('E'), uint8('V'), uint8('A'), uint8('L'), uint8('U'), uint8('E'), + uint8('S'), uint8('V'), uint8('I'), uint8('R'), uint8('T'), uint8('U'), uint8('A'), uint8('L'), uint8('W'), uint8('A'), uint8('Y'), uint8('S'), uint8('W'), uint8('H'), uint8('E'), uint8('N'), uint8('W'), uint8('H'), + uint8('E'), uint8('R'), uint8('E'), uint8('C'), uint8('U'), uint8('R'), uint8('S'), uint8('I'), uint8('V'), uint8('E'), uint8('A'), uint8('B'), uint8('O'), uint8('R'), uint8('T'), uint8('A'), uint8('F'), uint8('T'), + uint8('E'), uint8('R'), uint8('E'), uint8('N'), uint8('A'), uint8('M'), uint8('E'), uint8('A'), uint8('N'), uint8('D'), uint8('R'), uint8('O'), uint8('P'), uint8('A'), uint8('R'), uint8('T'), uint8('I'), uint8('T'), + uint8('I'), uint8('O'), uint8('N'), uint8('A'), uint8('U'), uint8('T'), uint8('O'), uint8('I'), uint8('N'), uint8('C'), uint8('R'), uint8('E'), uint8('M'), uint8('E'), uint8('N'), uint8('T'), uint8('C'), uint8('A'), + uint8('S'), uint8('T'), uint8('C'), uint8('O'), uint8('L'), uint8('U'), uint8('M'), uint8('N'), uint8('C'), uint8('O'), uint8('M'), uint8('M'), uint8('I'), uint8('T'), uint8('C'), uint8('O'), uint8('N'), uint8('F'), + uint8('L'), uint8('I'), uint8('C'), uint8('T'), uint8('C'), uint8('R'), uint8('O'), uint8('S'), uint8('S'), uint8('C'), uint8('U'), uint8('R'), uint8('R'), uint8('E'), uint8('N'), uint8('T'), uint8('_'), uint8('T'), + uint8('I'), uint8('M'), uint8('E'), uint8('S'), uint8('T'), uint8('A'), uint8('M'), uint8('P'), uint8('R'), uint8('E'), uint8('C'), uint8('E'), uint8('D'), uint8('I'), uint8('N'), uint8('G'), uint8('F'), uint8('A'), + uint8('I'), uint8('L'), uint8('A'), uint8('S'), uint8('T'), uint8('F'), uint8('I'), uint8('L'), uint8('T'), uint8('E'), uint8('R'), uint8('E'), uint8('P'), uint8('L'), uint8('A'), uint8('C'), uint8('E'), uint8('F'), + uint8('I'), uint8('R'), uint8('S'), uint8('T'), uint8('F'), uint8('O'), uint8('L'), uint8('L'), uint8('O'), uint8('W'), uint8('I'), uint8('N'), uint8('G'), uint8('F'), uint8('R'), uint8('O'), uint8('M'), uint8('F'), + uint8('U'), uint8('L'), uint8('L'), uint8('I'), uint8('M'), uint8('I'), uint8('T'), uint8('I'), uint8('F'), uint8('O'), uint8('R'), uint8('D'), uint8('E'), uint8('R'), uint8('E'), uint8('S'), uint8('T'), uint8('R'), + uint8('I'), uint8('C'), uint8('T'), uint8('O'), uint8('T'), uint8('H'), uint8('E'), uint8('R'), uint8('S'), uint8('O'), uint8('V'), uint8('E'), uint8('R'), uint8('E'), uint8('T'), uint8('U'), uint8('R'), uint8('N'), + uint8('I'), uint8('N'), uint8('G'), uint8('R'), uint8('I'), uint8('G'), uint8('H'), uint8('T'), uint8('R'), uint8('O'), uint8('L'), uint8('L'), uint8('B'), uint8('A'), uint8('C'), uint8('K'), uint8('R'), uint8('O'), + uint8('W'), uint8('S'), uint8('U'), uint8('N'), uint8('B'), uint8('O'), uint8('U'), uint8('N'), uint8('D'), uint8('E'), uint8('D'), uint8('U'), uint8('N'), uint8('I'), uint8('O'), uint8('N'), uint8('U'), uint8('S'), + uint8('I'), uint8('N'), uint8('G'), uint8('V'), uint8('A'), uint8('C'), uint8('U'), uint8('U'), uint8('M'), uint8('V'), uint8('I'), uint8('E'), uint8('W'), uint8('I'), uint8('N'), uint8('D'), uint8('O'), uint8('W'), + uint8('B'), uint8('Y'), uint8('I'), uint8('N'), uint8('I'), uint8('T'), uint8('I'), uint8('A'), uint8('L'), uint8('L'), uint8('Y'), uint8('P'), uint8('R'), uint8('I'), uint8('M'), uint8('A'), uint8('R'), uint8('Y'), } /* sqlite3.c:163515:19 */ // aKWHash[i] is the hash value for the i-th keyword var aKWHash = [127]uint8{ @@ -143682,20 +143998,20 @@ func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sq var j int32 var zKW uintptr if n >= 2 { - i = ((((int32(Xsqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(z)))]) * 4) ^ (int32(Xsqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(z + uintptr((n - 1)))))]) * 3)) ^ (n * 1)) % 127) + i = ((((int32(Xsqlite3UpperToLower[uint8(*(*uint8)(unsafe.Pointer(z)))]) * 4) ^ (int32(Xsqlite3UpperToLower[uint8(*(*uint8)(unsafe.Pointer(z + uintptr((n - 1)))))]) * 3)) ^ (n * 1)) % 127) for i = ((int32(aKWHash[i])) - 1); i >= 0; i = ((int32(aKWNext[i])) - 1) { if int32(aKWLen[i]) != n { continue } zKW = (uintptr(unsafe.Pointer(&zKWText)) + uintptr(aKWOffset[i])) - if (int32(*(*int8)(unsafe.Pointer(z))) & libc.CplInt32(0x20)) != int32(*(*int8)(unsafe.Pointer(zKW))) { + if (int32(*(*uint8)(unsafe.Pointer(z))) & libc.CplInt32(0x20)) != int32(*(*uint8)(unsafe.Pointer(zKW))) { continue } - if (int32(*(*int8)(unsafe.Pointer(z + 1))) & libc.CplInt32(0x20)) != int32(*(*int8)(unsafe.Pointer(zKW + 1))) { + if (int32(*(*uint8)(unsafe.Pointer(z + 1))) & libc.CplInt32(0x20)) != int32(*(*uint8)(unsafe.Pointer(zKW + 1))) { continue } j = 2 - for (j < n) && ((int32(*(*int8)(unsafe.Pointer(z + uintptr(j)))) & libc.CplInt32(0x20)) == int32(*(*int8)(unsafe.Pointer(zKW + uintptr(j))))) { + for (j < n) && ((int32(*(*uint8)(unsafe.Pointer(z + uintptr(j)))) & libc.CplInt32(0x20)) == int32(*(*uint8)(unsafe.Pointer(zKW + uintptr(j))))) { j++ } if j < n { @@ -144407,7 +144723,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin zSql += uintptr(n) continue } - if int32(*(*int8)(unsafe.Pointer(zSql))) == 0 { + if int32(*(*uint8)(unsafe.Pointer(zSql))) == 0 { // Upon reaching the end of input, call the parser two more times // with tokens TK_SEMI and 0, in that order. if lastTokenParsed == TK_SEMI { @@ -144566,8 +144882,8 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: var state U8 = U8(0) // Current state, using numbers defined in header comment var token U8 - for *(*int8)(unsafe.Pointer(zSql)) != 0 { - switch int32(*(*int8)(unsafe.Pointer(zSql))) { + for *(*uint8)(unsafe.Pointer(zSql)) != 0 { + switch int32(*(*uint8)(unsafe.Pointer(zSql))) { case ';': { // A semicolon token = U8(TkSEMI) @@ -144590,15 +144906,15 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: } case '/': { // C-style comments - if int32(*(*int8)(unsafe.Pointer(zSql + 1))) != '*' { + if int32(*(*uint8)(unsafe.Pointer(zSql + 1))) != '*' { token = U8(TkOTHER) break } zSql += uintptr(2) - for (*(*int8)(unsafe.Pointer(zSql)) != 0) && ((int32(*(*int8)(unsafe.Pointer(zSql))) != '*') || (int32(*(*int8)(unsafe.Pointer(zSql + 1))) != '/')) { + for (*(*uint8)(unsafe.Pointer(zSql)) != 0) && ((int32(*(*uint8)(unsafe.Pointer(zSql))) != '*') || (int32(*(*uint8)(unsafe.Pointer(zSql + 1))) != '/')) { zSql++ } - if int32(*(*int8)(unsafe.Pointer(zSql))) == 0 { + if int32(*(*uint8)(unsafe.Pointer(zSql))) == 0 { return 0 } zSql++ @@ -144608,14 +144924,14 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: } case '-': { // SQL-style comments from "--" to end of line - if int32(*(*int8)(unsafe.Pointer(zSql + 1))) != '-' { + if int32(*(*uint8)(unsafe.Pointer(zSql + 1))) != '-' { token = U8(TkOTHER) break } - for (*(*int8)(unsafe.Pointer(zSql)) != 0) && (int32(*(*int8)(unsafe.Pointer(zSql))) != '\n') { + for (*(*uint8)(unsafe.Pointer(zSql)) != 0) && (int32(*(*uint8)(unsafe.Pointer(zSql))) != '\n') { zSql++ } - if int32(*(*int8)(unsafe.Pointer(zSql))) == 0 { + if int32(*(*uint8)(unsafe.Pointer(zSql))) == 0 { return (libc.Bool32(int32(state) == 1)) } token = U8(TkWS) @@ -144625,10 +144941,10 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: case '[': { // Microsoft-style identifiers in [...] zSql++ - for (*(*int8)(unsafe.Pointer(zSql)) != 0) && (int32(*(*int8)(unsafe.Pointer(zSql))) != ']') { + for (*(*uint8)(unsafe.Pointer(zSql)) != 0) && (int32(*(*uint8)(unsafe.Pointer(zSql))) != ']') { zSql++ } - if int32(*(*int8)(unsafe.Pointer(zSql))) == 0 { + if int32(*(*uint8)(unsafe.Pointer(zSql))) == 0 { return 0 } token = U8(TkOTHER) @@ -144641,12 +144957,12 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough // single- and double-quoted strings case '\'': { - var c int32 = int32(*(*int8)(unsafe.Pointer(zSql))) + var c int32 = int32(*(*uint8)(unsafe.Pointer(zSql))) zSql++ - for (*(*int8)(unsafe.Pointer(zSql)) != 0) && (int32(*(*int8)(unsafe.Pointer(zSql))) != c) { + for (*(*uint8)(unsafe.Pointer(zSql)) != 0) && (int32(*(*uint8)(unsafe.Pointer(zSql))) != c) { zSql++ } - if int32(*(*int8)(unsafe.Pointer(zSql))) == 0 { + if int32(*(*uint8)(unsafe.Pointer(zSql))) == 0 { return 0 } token = U8(TkOTHER) @@ -144655,12 +144971,12 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: } default: { - if (int32(Xsqlite3CtypeMap[U8(*(*int8)(unsafe.Pointer(zSql)))]) & 0x46) != 0 { + if (int32(Xsqlite3CtypeMap[U8(*(*uint8)(unsafe.Pointer(zSql)))]) & 0x46) != 0 { // Keywords and unquoted identifiers var nId int32 - for nId = 1; (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zSql + uintptr(nId))))]) & 0x46) != 0; nId++ { + for nId = 1; (int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zSql + uintptr(nId))))]) & 0x46) != 0; nId++ { } - switch int32(*(*int8)(unsafe.Pointer(zSql))) { + switch int32(*(*uint8)(unsafe.Pointer(zSql))) { case 'c': fallthrough case 'C': @@ -145645,7 +145961,7 @@ func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:166213 if pDestructor != 0 { (*FuncDestructor)(unsafe.Pointer(pDestructor)).FnRef-- if (*FuncDestructor)(unsafe.Pointer(pDestructor)).FnRef == 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pDestructor + 4 /* &.xDestroy */))))(tls, (*FuncDestructor)(unsafe.Pointer(pDestructor)).FpUserData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*FuncDestructor)(unsafe.Pointer(pDestructor)).FxDestroy})).f(tls, (*FuncDestructor)(unsafe.Pointer(pDestructor)).FpUserData) Xsqlite3DbFree(tls, db, pDestructor) } } @@ -145707,7 +146023,9 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace) & SQLITE_TRACE_CLOSE) != 0 { - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 208 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_CLOSE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, db, uintptr(0)) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 208 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_CLOSE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, db, uintptr(0)) } // Force xDisconnect calls on all virtual tables @@ -145856,7 +146174,7 @@ func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c: // Invoke any destructors registered for collation sequence user data. for j = 0; j < 3; j++ { if (*CollSeq)(unsafe.Pointer(pColl+uintptr(j)*20)).FxDel != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pColl + uintptr(j)*20 + 16 /* &.xDel */))))(tls, (*CollSeq)(unsafe.Pointer(pColl+uintptr(j)*20)).FpUser) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(pColl + uintptr(j)*20)).FxDel})).f(tls, (*CollSeq)(unsafe.Pointer(pColl+uintptr(j)*20)).FpUser) } } Xsqlite3DbFree(tls, db, pColl) @@ -145937,7 +146255,7 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // If one has been configured, invoke the rollback-hook callback if ((*Sqlite3)(unsafe.Pointer(db)).FxRollbackCallback != 0) && ((inTrans != 0) || !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0)) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((db + 236 /* &.xRollbackCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpRollbackArg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxRollbackCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpRollbackArg) } } @@ -146057,7 +146375,9 @@ func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:16 if ((*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler == uintptr(0)) || ((*BusyHandler)(unsafe.Pointer(p)).FnBusy < 0) { return 0 } - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((p /* &.xBusyHandler */))))(tls, (*BusyHandler)(unsafe.Pointer(p)).FpBusyArg, (*BusyHandler)(unsafe.Pointer(p)).FnBusy) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler})).f(tls, (*BusyHandler)(unsafe.Pointer(p)).FpBusyArg, (*BusyHandler)(unsafe.Pointer(p)).FnBusy) if rc == 0 { (*BusyHandler)(unsafe.Pointer(p)).FnBusy = -1 } else { @@ -146236,7 +146556,7 @@ func createFunctionApi(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc goto __2 } Xsqlite3OomFault(tls, db) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestroy)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, p) goto out __2: ; @@ -146251,7 +146571,7 @@ __1: goto __3 } - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestroy)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, p) Xsqlite3_free(tls, pArg) __3: ; @@ -146522,7 +146842,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) - if (zDb != 0) && (*(*int8)(unsafe.Pointer(zDb)) != 0) { + if (zDb != 0) && (*(*uint8)(unsafe.Pointer(zDb)) != 0) { iDb = Xsqlite3FindDbName(tls, db, zDb) } else { iDb = (SQLITE_MAX_ATTACHED + 2) // This means process all schemas @@ -146765,7 +147085,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint var p uintptr = (aColl + uintptr(j)*20) if int32((*CollSeq)(unsafe.Pointer(p)).Fenc) == int32((*CollSeq)(unsafe.Pointer(pColl)).Fenc) { if (*CollSeq)(unsafe.Pointer(p)).FxDel != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p + 16 /* &.xDel */))))(tls, (*CollSeq)(unsafe.Pointer(p)).FpUser) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(p)).FxDel})).f(tls, (*CollSeq)(unsafe.Pointer(p)).FpUser) } (*CollSeq)(unsafe.Pointer(p)).FxCmp = uintptr(0) } @@ -146866,7 +147186,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u var flags uint32 var zVfs uintptr var zFile uintptr - var c int8 + var c uint8 var nUri int32 var octet int32 var z uintptr @@ -146906,7 +147226,7 @@ __3: if !(iIn < nUri) { goto __5 } - nByte = nByte + (U64(libc.Bool32(int32(*(*int8)(unsafe.Pointer(zUri + uintptr(iIn)))) == '&'))) + nByte = nByte + (U64(libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zUri + uintptr(iIn)))) == '&'))) goto __4 __4: iIn++ @@ -146927,12 +147247,12 @@ __6: iIn = 5 // Discard the scheme and authority segments of the URI. - if !((int32(*(*int8)(unsafe.Pointer(zUri + 5))) == '/') && (int32(*(*int8)(unsafe.Pointer(zUri + 6))) == '/')) { + if !((int32(*(*uint8)(unsafe.Pointer(zUri + 5))) == '/') && (int32(*(*uint8)(unsafe.Pointer(zUri + 6))) == '/')) { goto __7 } iIn = 7 __8: - if !((*(*int8)(unsafe.Pointer(zUri + uintptr(iIn))) != 0) && (int32(*(*int8)(unsafe.Pointer(zUri + uintptr(iIn)))) != '/')) { + if !((*(*uint8)(unsafe.Pointer(zUri + uintptr(iIn))) != 0) && (int32(*(*uint8)(unsafe.Pointer(zUri + uintptr(iIn)))) != '/')) { goto __9 } iIn++ @@ -146962,17 +147282,17 @@ __7: // 2: Parsing value section of a name=value query parameter. eState = 0 __11: - if !(((int32(libc.AssignInt8(&c, *(*int8)(unsafe.Pointer(zUri + uintptr(iIn)))))) != 0) && (int32(c) != '#')) { + if !(((int32(libc.AssignUint8(&c, *(*uint8)(unsafe.Pointer(zUri + uintptr(iIn)))))) != 0) && (int32(c) != '#')) { goto __12 } iIn++ if !(((int32(c) == '%') && - ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zUri + uintptr(iIn))))]) & 0x08) != 0)) && - ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zUri + uintptr((iIn + 1)))))]) & 0x08) != 0)) { + ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zUri + uintptr(iIn))))]) & 0x08) != 0)) && + ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zUri + uintptr((iIn + 1)))))]) & 0x08) != 0)) { goto __13 } - octet = (int32(Xsqlite3HexToInt(tls, int32(*(*int8)(unsafe.Pointer(zUri + uintptr(libc.PostIncInt32(&iIn, 1))))))) << 4) - octet = octet + (int32(Xsqlite3HexToInt(tls, int32(*(*int8)(unsafe.Pointer(zUri + uintptr(libc.PostIncInt32(&iIn, 1)))))))) + octet = (int32(Xsqlite3HexToInt(tls, int32(*(*uint8)(unsafe.Pointer(zUri + uintptr(libc.PostIncInt32(&iIn, 1))))))) << 4) + octet = octet + (int32(Xsqlite3HexToInt(tls, int32(*(*uint8)(unsafe.Pointer(zUri + uintptr(libc.PostIncInt32(&iIn, 1)))))))) if !(octet == 0) { goto __15 @@ -146982,7 +147302,7 @@ __11: // value currently being parsed. So ignore the current character // and skip to the next "?", "=" or "&", as appropriate. __16: - if !((((((int32(libc.AssignInt8(&c, *(*int8)(unsafe.Pointer(zUri + uintptr(iIn)))))) != 0) && (int32(c) != '#')) && + if !((((((int32(libc.AssignUint8(&c, *(*uint8)(unsafe.Pointer(zUri + uintptr(iIn)))))) != 0) && (int32(c) != '#')) && ((eState != 0) || (int32(c) != '?'))) && ((eState != 1) || ((int32(c) != '=') && (int32(c) != '&')))) && ((eState != 2) || (int32(c) != '&'))) { @@ -146995,18 +147315,18 @@ __17: goto __11 __15: ; - c = int8(octet) + c = uint8(octet) goto __14 __13: if !((eState == 1) && ((int32(c) == '&') || (int32(c) == '='))) { goto __18 } - if !(int32(*(*int8)(unsafe.Pointer(zFile + uintptr((iOut - 1))))) == 0) { + if !(int32(*(*uint8)(unsafe.Pointer(zFile + uintptr((iOut - 1))))) == 0) { goto __20 } // An empty option name. Ignore this option altogether. __21: - if !(((*(*int8)(unsafe.Pointer(zUri + uintptr(iIn))) != 0) && (int32(*(*int8)(unsafe.Pointer(zUri + uintptr(iIn)))) != '#')) && (int32(*(*int8)(unsafe.Pointer(zUri + uintptr((iIn - 1))))) != '&')) { + if !(((*(*uint8)(unsafe.Pointer(zUri + uintptr(iIn))) != 0) && (int32(*(*uint8)(unsafe.Pointer(zUri + uintptr(iIn)))) != '#')) && (int32(*(*uint8)(unsafe.Pointer(zUri + uintptr((iIn - 1))))) != '&')) { goto __22 } iIn++ @@ -147019,19 +147339,19 @@ __20: if !(int32(c) == '&') { goto __23 } - *(*int8)(unsafe.Pointer(zFile + uintptr(libc.PostIncInt32(&iOut, 1)))) = int8(0) + *(*uint8)(unsafe.Pointer(zFile + uintptr(libc.PostIncInt32(&iOut, 1)))) = uint8(0) goto __24 __23: eState = 2 __24: ; - c = int8(0) + c = uint8(0) goto __19 __18: if !(((eState == 0) && (int32(c) == '?')) || ((eState == 2) && (int32(c) == '&'))) { goto __25 } - c = int8(0) + c = uint8(0) eState = 1 __25: ; @@ -147039,14 +147359,14 @@ __19: ; __14: ; - *(*int8)(unsafe.Pointer(zFile + uintptr(libc.PostIncInt32(&iOut, 1)))) = c + *(*uint8)(unsafe.Pointer(zFile + uintptr(libc.PostIncInt32(&iOut, 1)))) = c goto __11 __12: ; if !(eState == 1) { goto __26 } - *(*int8)(unsafe.Pointer(zFile + uintptr(libc.PostIncInt32(&iOut, 1)))) = int8(0) + *(*uint8)(unsafe.Pointer(zFile + uintptr(libc.PostIncInt32(&iOut, 1)))) = uint8(0) __26: ; libc.Xmemset(tls, (zFile + uintptr(iOut)), 0, uint32(4)) // end-of-options + empty journal filenames @@ -147057,7 +147377,7 @@ __26: // method. zOpt = (zFile + uintptr((Xsqlite3Strlen30(tls, zFile) + 1))) __27: - if !(*(*int8)(unsafe.Pointer(zOpt)) != 0) { + if !(*(*uint8)(unsafe.Pointer(zOpt)) != 0) { goto __28 } nOpt = Xsqlite3Strlen30(tls, zOpt) @@ -147214,7 +147534,7 @@ var aOpenMode = [5]OpenMode{ // database filename for the sqlite3_uri_parameter() interface. func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* sqlite3.c:168159:19: */ zFilename += (uintptr(Xsqlite3Strlen30(tls, zFilename) + 1)) - for *(*int8)(unsafe.Pointer(zFilename)) != 0 { + for *(*uint8)(unsafe.Pointer(zFilename)) != 0 { var x int32 = libc.Xstrcmp(tls, zFilename, zParam) zFilename += (uintptr(Xsqlite3Strlen30(tls, zFilename) + 1)) if x == 0 { @@ -148128,7 +148448,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit { var x int32 = 0 - rc = libc.AtomicLoadInt32(&x) + rc = x break } @@ -148408,7 +148728,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // // This only works if the filename passed in was obtained from the Pager. func databaseName(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:169409:19: */ - for (((int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0) || (int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0)) || (int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0)) || (int32(*(*int8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0) { + for (((int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-1)))) != 0) || (int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-2)))) != 0)) || (int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-3)))) != 0)) || (int32(*(*uint8)(unsafe.Pointer(zName + libc.UintptrFromInt32(-4)))) != 0) { zName-- } return zName @@ -148448,11 +148768,11 @@ func Xsqlite3_create_filename(tls *libc.TLS, zDatabase uintptr, zJournal uintptr for i = 0; i < (nParam * 2); i++ { p = appendText(tls, p, *(*uintptr)(unsafe.Pointer(azParam + uintptr(i)*4))) } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = int8(0) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = uint8(0) p = appendText(tls, p, zJournal) p = appendText(tls, p, zWal) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = int8(0) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = int8(0) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = uint8(0) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = uint8(0) return (pResult + uintptr(4)) } @@ -148492,11 +148812,11 @@ func Xsqlite3_uri_key(tls *libc.TLS, zFilename uintptr, N int32) uintptr { /* sq } zFilename = databaseName(tls, zFilename) zFilename += (uintptr(Xsqlite3Strlen30(tls, zFilename) + 1)) - for (*(*int8)(unsafe.Pointer(zFilename)) != 0) && ((libc.PostDecInt32(&N, 1)) > 0) { + for (*(*uint8)(unsafe.Pointer(zFilename)) != 0) && ((libc.PostDecInt32(&N, 1)) > 0) { zFilename += (uintptr(Xsqlite3Strlen30(tls, zFilename) + 1)) zFilename += (uintptr(Xsqlite3Strlen30(tls, zFilename) + 1)) } - if *(*int8)(unsafe.Pointer(zFilename)) != 0 { + if *(*uint8)(unsafe.Pointer(zFilename)) != 0 { return zFilename } return uintptr(0) @@ -148541,7 +148861,7 @@ func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* s func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:169547:23: */ zFilename = databaseName(tls, zFilename) zFilename += (uintptr(Xsqlite3Strlen30(tls, zFilename) + 1)) - for *(*int8)(unsafe.Pointer(zFilename)) != 0 { + for *(*uint8)(unsafe.Pointer(zFilename)) != 0 { zFilename += (uintptr(Xsqlite3Strlen30(tls, zFilename) + 1)) zFilename += (uintptr(Xsqlite3Strlen30(tls, zFilename) + 1)) } @@ -148709,7 +149029,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql // adequate. No need for a binary search. for i = 0; i < *(*int32)(unsafe.Pointer(bp /* nOpt */)); i++ { if (Xsqlite3_strnicmp(tls, zOptName, *(*uintptr)(unsafe.Pointer(azCompileOpt + uintptr(i)*4)), n) == 0) && - (Xsqlite3IsIdChar(tls, uint8(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(azCompileOpt + uintptr(i)*4)) + uintptr(n))))) == 0) { + (Xsqlite3IsIdChar(tls, uint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(azCompileOpt + uintptr(i)*4)) + uintptr(n))))) == 0) { return 1 } } @@ -148840,7 +149160,9 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin // The blocking transaction has been concluded. Or there never was a // blocking transaction. In either case, invoke the notify callback // immediately. - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&xNotify)))(tls, bp /* &pArg */, 1) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xNotify})).f(tls, bp /* &pArg */, 1) } else { var p uintptr @@ -148927,7 +149249,9 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:170018 if (*Sqlite3)(unsafe.Pointer(p)).FpUnlockConnection == db { if ((*Sqlite3)(unsafe.Pointer(p)).FxUnlockNotify != xUnlockNotify) && (nArg != 0) { - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&xUnlockNotify)))(tls, aArg, nArg) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xUnlockNotify})).f(tls, aArg, nArg) nArg = 0 } @@ -148965,7 +149289,9 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:170018 // reduce the applications ability to prioritize multiple // connections. But it is the best that can be done under the // circumstances. - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&xUnlockNotify)))(tls, aArg, nArg) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xUnlockNotify})).f(tls, aArg, nArg) nArg = 0 } } @@ -148989,7 +149315,9 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:170018 } if nArg != 0 { - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&xUnlockNotify)))(tls, aArg, nArg) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xUnlockNotify})).f(tls, aArg, nArg) } Xsqlite3_free(tls, aDyn) leaveMutex(tls) // Leave STATIC_MAIN mutex @@ -149597,45 +149925,45 @@ func Xsqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { /* sqlite3.c:170117:2 // Growing our own isspace() routine this way is twice as fast as // the library isspace() function, resulting in a 7% overall performance // increase for the parser. (Ubuntu14.10 gcc 4.8.4 x64 with -Os). -var jsonIsSpace = [256]int8{ - int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(1), int8(1), int8(0), int8(0), int8(1), int8(0), int8(0), - int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), - int8(1), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), - int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), - int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), - int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), - int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), - int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), - int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), - int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), - int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), - int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), - int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), - int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), - int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), - int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), +var jsonIsSpace = [256]uint8{ + uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(1), uint8(0), uint8(0), uint8(1), uint8(0), uint8(0), + uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), + uint8(1), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), + uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), + uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), + uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), + uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), + uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), + uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), + uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), + uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), + uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), + uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), + uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), + uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), + uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), } /* sqlite3.c:189706:19 */ // Objects type JsonString1 = struct { - FpCtx uintptr - FzBuf uintptr - FnAlloc U64 - FnUsed U64 - FbStatic U8 - FbErr U8 - FzSpace [100]int8 - _ [2]byte + FpCtx uintptr + FzBuf uintptr + FnAlloc U64 + FnUsed U64 + FbStatic U8 + FbErr U8 + FzSpace [100]uint8 + F__ccgo_pad1 [2]byte } /* sqlite3.c:189736:9 */ // Objects type JsonString = JsonString1 /* sqlite3.c:189736:27 */ type JsonNode1 = struct { - FeType U8 - FjnFlags U8 - _ [2]byte - Fn U32 - Fu struct{ FzJContent uintptr } + FeType U8 + FjnFlags U8 + F__ccgo_pad1 [2]byte + Fn U32 + Fu struct{ FzJContent uintptr } } /* sqlite3.c:189737:9 */ type JsonNode = JsonNode1 /* sqlite3.c:189737:25 */ @@ -149677,7 +150005,7 @@ var jsonType = [8]uintptr{ // Set the JsonString object to an empty string func jsonZero(tls *libc.TLS, p uintptr) { /* sqlite3.c:189831:13: */ (*JsonString)(unsafe.Pointer(p)).FzBuf = p + 26 /* &.zSpace */ - (*JsonString)(unsafe.Pointer(p)).FnAlloc = U64(unsafe.Sizeof([100]int8{})) + (*JsonString)(unsafe.Pointer(p)).FnAlloc = U64(unsafe.Sizeof([100]uint8{})) (*JsonString)(unsafe.Pointer(p)).FnUsed = uint64(0) (*JsonString)(unsafe.Pointer(p)).FbStatic = U8(1) } @@ -149765,23 +150093,23 @@ func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) } // Append a single character -func jsonAppendChar(tls *libc.TLS, p uintptr, c int8) { /* sqlite3.c:189914:13: */ +func jsonAppendChar(tls *libc.TLS, p uintptr, c uint8) { /* sqlite3.c:189914:13: */ if ((*JsonString)(unsafe.Pointer(p)).FnUsed >= (*JsonString)(unsafe.Pointer(p)).FnAlloc) && (jsonGrow(tls, p, uint32(1)) != 0) { return } - *(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = c + *(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = c } // Append a comma separator to the output buffer, if the previous // character is not '[' or '{'. func jsonAppendSeparator(tls *libc.TLS, p uintptr) { /* sqlite3.c:189922:13: */ - var c int8 + var c uint8 if (*JsonString)(unsafe.Pointer(p)).FnUsed == uint64(0) { return } - c = *(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(((*JsonString)(unsafe.Pointer(p)).FnUsed - uint64(1))))) + c = *(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(((*JsonString)(unsafe.Pointer(p)).FnUsed - uint64(1))))) if (int32(c) != '[') && (int32(c) != '{') { - jsonAppendChar(tls, p, int8(',')) + jsonAppendChar(tls, p, uint8(',')) } } @@ -149798,7 +150126,7 @@ func jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N U32) { /* sqlite3 return __1: ; - *(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('"') + *(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('"') i = U32(0) __2: if !(i < N) { @@ -149815,7 +150143,7 @@ json_simple_escape: return __7: ; - *(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('\\') + *(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('\\') goto __6 __5: if !(int32(c) <= 0x1f) { @@ -149835,17 +150163,17 @@ __9: return __10: ; - *(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('\\') - *(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('u') - *(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0') - *(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0') - *(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = (int8('0' + (int32(c) >> 4))) - c = uint8(*(*int8)(unsafe.Pointer(ts + 22773 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) + *(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('\\') + *(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('u') + *(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('0') + *(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('0') + *(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = (uint8('0' + (int32(c) >> 4))) + c = uint8(*(*uint8)(unsafe.Pointer(ts + 22773 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) __8: ; __6: ; - *(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8(c) + *(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8(c) goto __3 __3: i++ @@ -149853,13 +150181,13 @@ __3: goto __4 __4: ; - *(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('"') + *(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('"') } -var aSpecial = [32]int8{ - int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8('b'), int8('t'), int8('n'), int8(0), int8('f'), int8('r'), int8(0), int8(0), - int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), int8(0), +var aSpecial = [32]uint8{ + uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8('b'), uint8('t'), uint8('n'), uint8(0), uint8('f'), uint8('r'), uint8(0), uint8(0), + uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), } /* sqlite3.c:189945:25 */ // Append a function parameter value to the JSON string under @@ -150010,7 +150338,7 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr case JSON_ARRAY: { var j U32 = U32(1) - jsonAppendChar(tls, pOut, int8('[')) + jsonAppendChar(tls, pOut, uint8('[')) for { for j <= (*JsonNode)(unsafe.Pointer(pNode)).Fn { if (int32((*JsonNode)(unsafe.Pointer(pNode+uintptr(j)*12)).FjnFlags) & JNODE_REMOVE) == 0 { @@ -150025,20 +150353,20 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr pNode = (pNode + uintptr(*(*U32)(unsafe.Pointer(pNode + 8 /* &.u */)))*12) j = U32(1) } - jsonAppendChar(tls, pOut, int8(']')) + jsonAppendChar(tls, pOut, uint8(']')) break } case JSON_OBJECT: { var j U32 = U32(1) - jsonAppendChar(tls, pOut, int8('{')) + jsonAppendChar(tls, pOut, uint8('{')) for { for j <= (*JsonNode)(unsafe.Pointer(pNode)).Fn { if (int32((*JsonNode)(unsafe.Pointer(pNode+uintptr((j+U32(1)))*12)).FjnFlags) & JNODE_REMOVE) == 0 { jsonAppendSeparator(tls, pOut) jsonRenderNode(tls, (pNode + uintptr(j)*12), pOut, aReplace) - jsonAppendChar(tls, pOut, int8(':')) + jsonAppendChar(tls, pOut, uint8(':')) jsonRenderNode(tls, (pNode + uintptr((j+U32(1)))*12), pOut, aReplace) } j = j + (U32(1) + jsonNodeSize(tls, (pNode+uintptr((j+U32(1)))*12))) @@ -150049,7 +150377,7 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr pNode = (pNode + uintptr(*(*U32)(unsafe.Pointer(pNode + 8 /* &.u */)))*12) j = U32(1) } - jsonAppendChar(tls, pOut, int8('}')) + jsonAppendChar(tls, pOut, uint8('}')) break } @@ -150082,10 +150410,10 @@ func jsonHexToInt(tls *libc.TLS, h int32) U8 { /* sqlite3.c:190169:11: */ func jsonHexToInt4(tls *libc.TLS, z uintptr) U32 { /* sqlite3.c:190182:12: */ var v U32 - v = (U32((((int32(jsonHexToInt(tls, int32(*(*int8)(unsafe.Pointer(z))))) << 12) + - (int32(jsonHexToInt(tls, int32(*(*int8)(unsafe.Pointer(z + 1))))) << 8)) + - (int32(jsonHexToInt(tls, int32(*(*int8)(unsafe.Pointer(z + 2))))) << 4)) + - int32(jsonHexToInt(tls, int32(*(*int8)(unsafe.Pointer(z + 3))))))) + v = (U32((((int32(jsonHexToInt(tls, int32(*(*uint8)(unsafe.Pointer(z))))) << 12) + + (int32(jsonHexToInt(tls, int32(*(*uint8)(unsafe.Pointer(z + 1))))) << 8)) + + (int32(jsonHexToInt(tls, int32(*(*uint8)(unsafe.Pointer(z + 2))))) << 4)) + + int32(jsonHexToInt(tls, int32(*(*uint8)(unsafe.Pointer(z + 3))))))) return v } @@ -150102,7 +150430,7 @@ func jsonReturn(tls *libc.TLS, pNode uintptr, pCtx uintptr, aReplace uintptr) { var z1 uintptr var vlo U32 var v1 U32 - var c int8 + var c uint8 // Translate JSON formatted string into raw text var i1 U32 var n U32 @@ -150144,17 +150472,17 @@ __4: __5: i = int64(0) z = *(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */)) - if !(int32(*(*int8)(unsafe.Pointer(z))) == '-') { + if !(int32(*(*uint8)(unsafe.Pointer(z))) == '-') { goto __10 } z++ __10: ; __11: - if !((int32(*(*int8)(unsafe.Pointer(z))) >= '0') && (int32(*(*int8)(unsafe.Pointer(z))) <= '9')) { + if !((int32(*(*uint8)(unsafe.Pointer(z))) >= '0') && (int32(*(*uint8)(unsafe.Pointer(z))) <= '9')) { goto __12 } - v = (uint32(int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) - '0')) + v = (uint32(int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) - '0')) if !(i >= ((int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32)) / int64(10))) { goto __13 } @@ -150164,7 +150492,7 @@ __11: goto int_as_real __14: ; - if !((int32(*(*int8)(unsafe.Pointer(z))) >= '0') && (int32(*(*int8)(unsafe.Pointer(z))) <= '9')) { + if !((int32(*(*uint8)(unsafe.Pointer(z))) >= '0') && (int32(*(*uint8)(unsafe.Pointer(z))) <= '9')) { goto __15 } goto int_as_real @@ -150179,7 +150507,7 @@ __16: if !(v == uint32(8)) { goto __17 } - if !(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))))) == '-') { + if !(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))))) == '-') { goto __18 } Xsqlite3_result_int64(tls, pCtx, ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32)))) @@ -150197,7 +150525,7 @@ __13: goto __11 __12: ; - if !(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))))) == '-') { + if !(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))))) == '-') { goto __20 } i = -i @@ -150241,14 +150569,14 @@ __24: if !(i1 < (n - U32(1))) { goto __26 } - c = *(*int8)(unsafe.Pointer(z2 + uintptr(i1))) + c = *(*uint8)(unsafe.Pointer(z2 + uintptr(i1))) if !(int32(c) != '\\') { goto __27 } - *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = c + *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = c goto __28 __27: - c = *(*int8)(unsafe.Pointer(z2 + uintptr(libc.PreIncUint32(&i1, 1)))) + c = *(*uint8)(unsafe.Pointer(z2 + uintptr(libc.PreIncUint32(&i1, 1)))) if !(int32(c) == 'u') { goto __29 } @@ -150263,35 +150591,35 @@ __31: if !(v1 <= U32(0x7f)) { goto __32 } - *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = int8(v1) + *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = uint8(v1) goto __33 __32: if !(v1 <= U32(0x7ff)) { goto __34 } - *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = (int8(U32(0xc0) | (v1 >> 6))) - *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = (int8(U32(0x80) | (v1 & U32(0x3f)))) + *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = (uint8(U32(0xc0) | (v1 >> 6))) + *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = (uint8(U32(0x80) | (v1 & U32(0x3f)))) goto __35 __34: if !((((((v1 & U32(0xfc00)) == U32(0xd800)) && (i1 < (n - U32(6)))) && - (int32(*(*int8)(unsafe.Pointer(z2 + uintptr((i1 + U32(1)))))) == '\\')) && - (int32(*(*int8)(unsafe.Pointer(z2 + uintptr((i1 + U32(2)))))) == 'u')) && + (int32(*(*uint8)(unsafe.Pointer(z2 + uintptr((i1 + U32(1)))))) == '\\')) && + (int32(*(*uint8)(unsafe.Pointer(z2 + uintptr((i1 + U32(2)))))) == 'u')) && (((libc.AssignUint32(&vlo, jsonHexToInt4(tls, ((z2+uintptr(i1))+uintptr(3))))) & U32(0xfc00)) == U32(0xdc00))) { goto __36 } // We have a surrogate pair v1 = ((((v1 & U32(0x3ff)) << 10) + (vlo & U32(0x3ff))) + U32(0x10000)) i1 = i1 + (U32(6)) - *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = (int8(U32(0xf0) | (v1 >> 18))) - *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = (int8(U32(0x80) | ((v1 >> 12) & U32(0x3f)))) - *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = (int8(U32(0x80) | ((v1 >> 6) & U32(0x3f)))) - *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = (int8(U32(0x80) | (v1 & U32(0x3f)))) + *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = (uint8(U32(0xf0) | (v1 >> 18))) + *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = (uint8(U32(0x80) | ((v1 >> 12) & U32(0x3f)))) + *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = (uint8(U32(0x80) | ((v1 >> 6) & U32(0x3f)))) + *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = (uint8(U32(0x80) | (v1 & U32(0x3f)))) goto __37 __36: - *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = (int8(U32(0xe0) | (v1 >> 12))) - *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = (int8(U32(0x80) | ((v1 >> 6) & U32(0x3f)))) - *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = (int8(U32(0x80) | (v1 & U32(0x3f)))) + *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = (uint8(U32(0xe0) | (v1 >> 12))) + *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = (uint8(U32(0x80) | ((v1 >> 6) & U32(0x3f)))) + *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = (uint8(U32(0x80) | (v1 & U32(0x3f)))) __37: ; __35: @@ -150303,31 +150631,31 @@ __29: if !(int32(c) == 'b') { goto __38 } - c = int8('\b') + c = uint8('\b') goto __39 __38: if !(int32(c) == 'f') { goto __40 } - c = int8('\f') + c = uint8('\f') goto __41 __40: if !(int32(c) == 'n') { goto __42 } - c = int8('\n') + c = uint8('\n') goto __43 __42: if !(int32(c) == 'r') { goto __44 } - c = int8('\r') + c = uint8('\r') goto __45 __44: if !(int32(c) == 't') { goto __46 } - c = int8('\t') + c = uint8('\t') __46: ; __45: @@ -150338,7 +150666,7 @@ __41: ; __39: ; - *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = c + *(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncUint32(&j, 1)))) = c __30: ; __28: @@ -150350,7 +150678,7 @@ __25: goto __26 __26: ; - *(*int8)(unsafe.Pointer(zOut + uintptr(j))) = int8(0) + *(*uint8)(unsafe.Pointer(zOut + uintptr(j))) = uint8(0) Xsqlite3_result_text(tls, pCtx, zOut, int32(j), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) __22: ; @@ -150406,7 +150734,7 @@ func jsonParseAddNode(tls *libc.TLS, pParse uintptr, eType U32, n U32, zContent func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:190410:12: */ var i int32 for i = 0; i < 4; i++ { - if !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))]) & 0x08) != 0) { + if !((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z + uintptr(i))))]) & 0x08) != 0) { return 0 } } @@ -150420,23 +150748,23 @@ func jsonIs4Hex(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:190410:12: */ // first non-whitespace character is '}' and return -3 if the first // non-whitespace character is ']'. func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:190424:12: */ - var c int8 + var c uint8 var j U32 var iThis int32 var x int32 var pNode uintptr var z uintptr = (*JsonParse)(unsafe.Pointer(pParse)).FzJson - for jsonIsSpace[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))] != 0 { + for jsonIsSpace[uint8(*(*uint8)(unsafe.Pointer(z + uintptr(i))))] != 0 { i++ } - if (int32(libc.AssignInt8(&c, *(*int8)(unsafe.Pointer(z + uintptr(i)))))) == '{' { + if (int32(libc.AssignUint8(&c, *(*uint8)(unsafe.Pointer(z + uintptr(i)))))) == '{' { // Parse object iThis = jsonParseAddNode(tls, pParse, uint32(JSON_OBJECT), uint32(0), uintptr(0)) if iThis < 0 { return -1 } for j = (i + U32(1)); ; j++ { - for jsonIsSpace[uint8(*(*int8)(unsafe.Pointer(z + uintptr(j))))] != 0 { + for jsonIsSpace[uint8(*(*uint8)(unsafe.Pointer(z + uintptr(j))))] != 0 { j++ } if int32(libc.PreIncUint16(&(*JsonParse)(unsafe.Pointer(pParse)).FiDepth, 1)) > JSON_MAX_DEPTH { @@ -150459,10 +150787,10 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 } *(*U8)(unsafe.Pointer(pNode + 1 /* &.jnFlags */)) |= U8((JNODE_LABEL)) j = U32(x) - for jsonIsSpace[uint8(*(*int8)(unsafe.Pointer(z + uintptr(j))))] != 0 { + for jsonIsSpace[uint8(*(*uint8)(unsafe.Pointer(z + uintptr(j))))] != 0 { j++ } - if int32(*(*int8)(unsafe.Pointer(z + uintptr(j)))) != ':' { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(j)))) != ':' { return -1 } j++ @@ -150472,10 +150800,10 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 return -1 } j = U32(x) - for jsonIsSpace[uint8(*(*int8)(unsafe.Pointer(z + uintptr(j))))] != 0 { + for jsonIsSpace[uint8(*(*uint8)(unsafe.Pointer(z + uintptr(j))))] != 0 { j++ } - c = *(*int8)(unsafe.Pointer(z + uintptr(j))) + c = *(*uint8)(unsafe.Pointer(z + uintptr(j))) if int32(c) == ',' { continue } @@ -150493,7 +150821,7 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 return -1 } for j = (i + U32(1)); ; j++ { - for jsonIsSpace[uint8(*(*int8)(unsafe.Pointer(z + uintptr(j))))] != 0 { + for jsonIsSpace[uint8(*(*uint8)(unsafe.Pointer(z + uintptr(j))))] != 0 { j++ } if int32(libc.PreIncUint16(&(*JsonParse)(unsafe.Pointer(pParse)).FiDepth, 1)) > JSON_MAX_DEPTH { @@ -150508,10 +150836,10 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 return -1 } j = U32(x) - for jsonIsSpace[uint8(*(*int8)(unsafe.Pointer(z + uintptr(j))))] != 0 { + for jsonIsSpace[uint8(*(*uint8)(unsafe.Pointer(z + uintptr(j))))] != 0 { j++ } - c = *(*int8)(unsafe.Pointer(z + uintptr(j))) + c = *(*uint8)(unsafe.Pointer(z + uintptr(j))) if int32(c) == ',' { continue } @@ -150527,13 +150855,13 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 var jnFlags U8 = U8(0) j = (i + U32(1)) for { - c = *(*int8)(unsafe.Pointer(z + uintptr(j))) + c = *(*uint8)(unsafe.Pointer(z + uintptr(j))) if (int32(c) & libc.CplInt32(0x1f)) == 0 { // Control characters are not allowed in strings return -1 } if int32(c) == '\\' { - c = *(*int8)(unsafe.Pointer(z + uintptr(libc.PreIncUint32(&j, 1)))) + c = *(*uint8)(unsafe.Pointer(z + uintptr(libc.PreIncUint32(&j, 1)))) if ((((((((int32(c) == '"') || (int32(c) == '\\')) || (int32(c) == '/')) || (int32(c) == 'b')) || (int32(c) == 'f')) || (int32(c) == 'n')) || (int32(c) == 'r')) || (int32(c) == 't')) || ((int32(c) == 'u') && (jsonIs4Hex(tls, ((z+uintptr(j))+uintptr(1))) != 0)) { @@ -150553,17 +150881,17 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 return (int32(j + U32(1))) } else if ((int32(c) == 'n') && (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5258 /* "null" */, uint32(4)) == 0)) && - !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr((i + U32(4))))))]) & 0x06) != 0) { + !((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z + uintptr((i + U32(4))))))]) & 0x06) != 0) { jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0)) return (int32(i + U32(4))) } else if ((int32(c) == 't') && (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5770 /* "true" */, uint32(4)) == 0)) && - !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr((i + U32(4))))))]) & 0x06) != 0) { + !((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z + uintptr((i + U32(4))))))]) & 0x06) != 0) { jsonParseAddNode(tls, pParse, uint32(JSON_TRUE), uint32(0), uintptr(0)) return (int32(i + U32(4))) } else if ((int32(c) == 'f') && (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5775 /* "false" */, uint32(5)) == 0)) && - !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr((i + U32(5))))))]) & 0x06) != 0) { + !((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(z + uintptr((i + U32(5))))))]) & 0x06) != 0) { jsonParseAddNode(tls, pParse, uint32(JSON_FALSE), uint32(0), uintptr(0)) return (int32(i + U32(5))) } else if (int32(c) == '-') || ((int32(c) >= '0') && (int32(c) <= '9')) { @@ -150577,18 +150905,18 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 } else { j = i } - if ((int32(*(*int8)(unsafe.Pointer(z + uintptr(j)))) == '0') && (int32(*(*int8)(unsafe.Pointer(z + uintptr((j + U32(1)))))) >= '0')) && (int32(*(*int8)(unsafe.Pointer(z + uintptr((j + U32(1)))))) <= '9') { + if ((int32(*(*uint8)(unsafe.Pointer(z + uintptr(j)))) == '0') && (int32(*(*uint8)(unsafe.Pointer(z + uintptr((j + U32(1)))))) >= '0')) && (int32(*(*uint8)(unsafe.Pointer(z + uintptr((j + U32(1)))))) <= '9') { return -1 } } j = (i + U32(1)) for ; ; j++ { - c = *(*int8)(unsafe.Pointer(z + uintptr(j))) + c = *(*uint8)(unsafe.Pointer(z + uintptr(j))) if (int32(c) >= '0') && (int32(c) <= '9') { continue } if int32(c) == '.' { - if int32(*(*int8)(unsafe.Pointer(z + uintptr((j - U32(1)))))) == '-' { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr((j - U32(1)))))) == '-' { return -1 } if seenDP != 0 { @@ -150598,17 +150926,17 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 continue } if (int32(c) == 'e') || (int32(c) == 'E') { - if int32(*(*int8)(unsafe.Pointer(z + uintptr((j - U32(1)))))) < '0' { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr((j - U32(1)))))) < '0' { return -1 } if seenE != 0 { return -1 } seenDP = libc.AssignUint8(&seenE, U8(1)) - c = *(*int8)(unsafe.Pointer(z + uintptr((j + U32(1))))) + c = *(*uint8)(unsafe.Pointer(z + uintptr((j + U32(1))))) if (int32(c) == '+') || (int32(c) == '-') { j++ - c = *(*int8)(unsafe.Pointer(z + uintptr((j + U32(1))))) + c = *(*uint8)(unsafe.Pointer(z + uintptr((j + U32(1))))) } if (int32(c) < '0') || (int32(c) > '9') { return -1 @@ -150617,7 +150945,7 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 } break } - if int32(*(*int8)(unsafe.Pointer(z + uintptr((j - U32(1)))))) < '0' { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr((j - U32(1)))))) < '0' { return -1 } jsonParseAddNode(tls, pParse, func() uint32 { @@ -150658,10 +150986,10 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32 } if i > 0 { - for jsonIsSpace[uint8(*(*int8)(unsafe.Pointer(zJson + uintptr(i))))] != 0 { + for jsonIsSpace[uint8(*(*uint8)(unsafe.Pointer(zJson + uintptr(i))))] != 0 { i++ } - if *(*int8)(unsafe.Pointer(zJson + uintptr(i))) != 0 { + if *(*uint8)(unsafe.Pointer(zJson + uintptr(i))) != 0 { i = -1 } } @@ -150817,23 +151145,23 @@ func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pAp var nKey U32 var zKey uintptr var pRoot uintptr = ((*JsonParse)(unsafe.Pointer(pParse)).FaNode + uintptr(iRoot)*12) - if int32(*(*int8)(unsafe.Pointer(zPath))) == 0 { + if int32(*(*uint8)(unsafe.Pointer(zPath))) == 0 { return pRoot } if (int32((*JsonNode)(unsafe.Pointer(pRoot)).FjnFlags) & JNODE_REPLACE) != 0 { return uintptr(0) } - if int32(*(*int8)(unsafe.Pointer(zPath))) == '.' { + if int32(*(*uint8)(unsafe.Pointer(zPath))) == '.' { if int32((*JsonNode)(unsafe.Pointer(pRoot)).FeType) != JSON_OBJECT { return uintptr(0) } zPath++ - if int32(*(*int8)(unsafe.Pointer(zPath))) == '"' { + if int32(*(*uint8)(unsafe.Pointer(zPath))) == '"' { zKey = (zPath + uintptr(1)) - for i = U32(1); (*(*int8)(unsafe.Pointer(zPath + uintptr(i))) != 0) && (int32(*(*int8)(unsafe.Pointer(zPath + uintptr(i)))) != '"'); i++ { + for i = U32(1); (*(*uint8)(unsafe.Pointer(zPath + uintptr(i))) != 0) && (int32(*(*uint8)(unsafe.Pointer(zPath + uintptr(i)))) != '"'); i++ { } nKey = (i - U32(1)) - if *(*int8)(unsafe.Pointer(zPath + uintptr(i))) != 0 { + if *(*uint8)(unsafe.Pointer(zPath + uintptr(i))) != 0 { i++ } else { *(*uintptr)(unsafe.Pointer(pzErr)) = zPath @@ -150841,7 +151169,7 @@ func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pAp } } else { zKey = zPath - for i = U32(0); ((*(*int8)(unsafe.Pointer(zPath + uintptr(i))) != 0) && (int32(*(*int8)(unsafe.Pointer(zPath + uintptr(i)))) != '.')) && (int32(*(*int8)(unsafe.Pointer(zPath + uintptr(i)))) != '['); i++ { + for i = U32(0); ((*(*uint8)(unsafe.Pointer(zPath + uintptr(i))) != 0) && (int32(*(*uint8)(unsafe.Pointer(zPath + uintptr(i)))) != '.')) && (int32(*(*uint8)(unsafe.Pointer(zPath + uintptr(i)))) != '['); i++ { } nKey = i } @@ -150884,15 +151212,15 @@ func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pAp } return pNode } - } else if int32(*(*int8)(unsafe.Pointer(zPath))) == '[' { + } else if int32(*(*uint8)(unsafe.Pointer(zPath))) == '[' { i = U32(0) j = U32(1) - for (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zPath + uintptr(j))))]) & 0x04) != 0 { - i = (((i * U32(10)) + U32(*(*int8)(unsafe.Pointer(zPath + uintptr(j))))) - U32('0')) + for (int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zPath + uintptr(j))))]) & 0x04) != 0 { + i = (((i * U32(10)) + U32(*(*uint8)(unsafe.Pointer(zPath + uintptr(j))))) - U32('0')) j++ } - if (j < U32(2)) || (int32(*(*int8)(unsafe.Pointer(zPath + uintptr(j)))) != ']') { - if int32(*(*int8)(unsafe.Pointer(zPath + 1))) == '#' { + if (j < U32(2)) || (int32(*(*uint8)(unsafe.Pointer(zPath + uintptr(j)))) != ']') { + if int32(*(*uint8)(unsafe.Pointer(zPath + 1))) == '#' { var pBase uintptr = pRoot var iBase int32 = int32(iRoot) if int32((*JsonNode)(unsafe.Pointer(pRoot)).FeType) != JSON_ARRAY { @@ -150913,11 +151241,11 @@ func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pAp j = U32(1) } j = U32(2) - if (int32(*(*int8)(unsafe.Pointer(zPath + 2))) == '-') && ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zPath + 3)))]) & 0x04) != 0) { + if (int32(*(*uint8)(unsafe.Pointer(zPath + 2))) == '-') && ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zPath + 3)))]) & 0x04) != 0) { var x uint32 = uint32(0) j = U32(3) - for ok := true; ok; ok = ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zPath + uintptr(j))))]) & 0x04) != 0) { - x = (((x * uint32(10)) + uint32(*(*int8)(unsafe.Pointer(zPath + uintptr(j))))) - uint32('0')) + for ok := true; ok; ok = ((int32(Xsqlite3CtypeMap[uint8(*(*uint8)(unsafe.Pointer(zPath + uintptr(j))))]) & 0x04) != 0) { + x = (((x * uint32(10)) + uint32(*(*uint8)(unsafe.Pointer(zPath + uintptr(j))))) - uint32('0')) j++ } if x > i { @@ -150925,7 +151253,7 @@ func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pAp } i = i - (x) } - if int32(*(*int8)(unsafe.Pointer(zPath + uintptr(j)))) != ']' { + if int32(*(*uint8)(unsafe.Pointer(zPath + uintptr(j)))) != ']' { *(*uintptr)(unsafe.Pointer(pzErr)) = zPath return uintptr(0) } @@ -150981,14 +151309,14 @@ func jsonLookupStep(tls *libc.TLS, pParse uintptr, iRoot U32, zPath uintptr, pAp // to the inserted node, or return NULL if the append fails. func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pzErr uintptr) uintptr { /* sqlite3.c:190899:17: */ *(*int32)(unsafe.Pointer(pApnd)) = 1 - if int32(*(*int8)(unsafe.Pointer(zPath))) == 0 { + if int32(*(*uint8)(unsafe.Pointer(zPath))) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0)) if (*JsonParse)(unsafe.Pointer(pParse)).Foom != 0 { return uintptr(0) } return ((*JsonParse)(unsafe.Pointer(pParse)).FaNode + uintptr(((*JsonParse)(unsafe.Pointer(pParse)).FnNode-U32(1)))*12) } - if int32(*(*int8)(unsafe.Pointer(zPath))) == '.' { + if int32(*(*uint8)(unsafe.Pointer(zPath))) == '.' { jsonParseAddNode(tls, pParse, uint32(JSON_OBJECT), uint32(0), uintptr(0)) } else if libc.Xstrncmp(tls, zPath, ts+22834 /* "[0]" */, uint32(3)) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0)) @@ -151035,7 +151363,7 @@ func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCt return uintptr(0) __1: ; - if !(int32(*(*int8)(unsafe.Pointer(zPath))) != '$') { + if !(int32(*(*uint8)(unsafe.Pointer(zPath))) != '$') { goto __2 } *(*uintptr)(unsafe.Pointer(bp /* zErr */)) = zPath @@ -151137,12 +151465,12 @@ func jsonArrayFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq // var jx JsonString at bp, 128 jsonInit(tls, bp /* &jx */, ctx) - jsonAppendChar(tls, bp /* &jx */, int8('[')) + jsonAppendChar(tls, bp /* &jx */, uint8('[')) for i = 0; i < argc; i++ { jsonAppendSeparator(tls, bp /* &jx */) jsonAppendValue(tls, bp /* &jx */, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) } - jsonAppendChar(tls, bp /* &jx */, int8(']')) + jsonAppendChar(tls, bp /* &jx */, uint8(']')) jsonResult(tls, bp /* &jx */) Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -151206,7 +151534,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* return } jsonInit(tls, bp /* &jx */, ctx) - jsonAppendChar(tls, bp /* &jx */, int8('[')) + jsonAppendChar(tls, bp /* &jx */, uint8('[')) for i = 1; i < argc; i++ { zPath = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) pNode = jsonLookup(tls, p, zPath, uintptr(0), ctx) @@ -151225,7 +151553,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* } } if (argc > 2) && (i == argc) { - jsonAppendChar(tls, bp /* &jx */, int8(']')) + jsonAppendChar(tls, bp /* &jx */, uint8(']')) jsonResult(tls, bp /* &jx */) Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -151350,7 +151678,7 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s return } jsonInit(tls, bp /* &jx */, ctx) - jsonAppendChar(tls, bp /* &jx */, int8('{')) + jsonAppendChar(tls, bp /* &jx */, uint8('{')) for i = 0; i < argc; i = i + (2) { if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) != SQLITE_TEXT { Xsqlite3_result_error(tls, ctx, ts+22958 /* "json_object() la..." */, -1) @@ -151361,10 +151689,10 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) n = U32(Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) jsonAppendString(tls, bp /* &jx */, z, n) - jsonAppendChar(tls, bp /* &jx */, int8(':')) + jsonAppendChar(tls, bp /* &jx */, uint8(':')) jsonAppendValue(tls, bp /* &jx */, *(*uintptr)(unsafe.Pointer(argv + uintptr((i+1))*4))) } - jsonAppendChar(tls, bp /* &jx */, int8('}')) + jsonAppendChar(tls, bp /* &jx */, uint8('}')) jsonResult(tls, bp /* &jx */) Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -151663,9 +151991,9 @@ func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq if pStr != 0 { if (*JsonString)(unsafe.Pointer(pStr)).FzBuf == uintptr(0) { jsonInit(tls, pStr, ctx) - jsonAppendChar(tls, pStr, int8('[')) + jsonAppendChar(tls, pStr, uint8('[')) } else if (*JsonString)(unsafe.Pointer(pStr)).FnUsed > uint64(1) { - jsonAppendChar(tls, pStr, int8(',')) + jsonAppendChar(tls, pStr, uint8(',')) } (*JsonString)(unsafe.Pointer(pStr)).FpCtx = ctx jsonAppendValue(tls, pStr, *(*uintptr)(unsafe.Pointer(argv))) @@ -151677,7 +152005,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { (*JsonString)(unsafe.Pointer(pStr)).FpCtx = ctx - jsonAppendChar(tls, pStr, int8(']')) + jsonAppendChar(tls, pStr, uint8(']')) if (*JsonString)(unsafe.Pointer(pStr)).FbErr != 0 { if int32((*JsonString)(unsafe.Pointer(pStr)).FbErr) == 1 { Xsqlite3_result_error_nomem(tls, ctx) @@ -151719,7 +152047,7 @@ func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* var inStr int32 = 0 var nNest int32 = 0 var z uintptr - var c int8 + var c uint8 var pStr uintptr _ = argc _ = argv @@ -151730,7 +152058,7 @@ func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* return } z = (*JsonString)(unsafe.Pointer(pStr)).FzBuf - for i = uint32(1); (U64(i) < (*JsonString)(unsafe.Pointer(pStr)).FnUsed) && ((((int32(libc.AssignInt8(&c, *(*int8)(unsafe.Pointer(z + uintptr(i)))))) != ',') || (inStr != 0)) || (nNest != 0)); i++ { + for i = uint32(1); (U64(i) < (*JsonString)(unsafe.Pointer(pStr)).FnUsed) && ((((int32(libc.AssignUint8(&c, *(*uint8)(unsafe.Pointer(z + uintptr(i)))))) != ',') || (inStr != 0)) || (nNest != 0)); i++ { if int32(c) == '"' { inStr = libc.BoolInt32(!(inStr != 0)) } else if int32(c) == '\\' { @@ -151747,7 +152075,7 @@ func jsonGroupInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* if U64(i) < (*JsonString)(unsafe.Pointer(pStr)).FnUsed { *(*U64)(unsafe.Pointer(pStr + 16 /* &.nUsed */)) -= (U64(i)) libc.Xmemmove(tls, (z + 1), (z + uintptr((i + uint32(1)))), (Size_t((*JsonString)(unsafe.Pointer(pStr)).FnUsed) - Size_t(1))) - *(*int8)(unsafe.Pointer(z + uintptr((*JsonString)(unsafe.Pointer(pStr)).FnUsed))) = int8(0) + *(*uint8)(unsafe.Pointer(z + uintptr((*JsonString)(unsafe.Pointer(pStr)).FnUsed))) = uint8(0) } else { (*JsonString)(unsafe.Pointer(pStr)).FnUsed = uint64(1) } @@ -151765,15 +152093,15 @@ func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s if pStr != 0 { if (*JsonString)(unsafe.Pointer(pStr)).FzBuf == uintptr(0) { jsonInit(tls, pStr, ctx) - jsonAppendChar(tls, pStr, int8('{')) + jsonAppendChar(tls, pStr, uint8('{')) } else if (*JsonString)(unsafe.Pointer(pStr)).FnUsed > uint64(1) { - jsonAppendChar(tls, pStr, int8(',')) + jsonAppendChar(tls, pStr, uint8(',')) } (*JsonString)(unsafe.Pointer(pStr)).FpCtx = ctx z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) n = U32(Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))) jsonAppendString(tls, pStr, z, n) - jsonAppendChar(tls, pStr, int8(':')) + jsonAppendChar(tls, pStr, uint8(':')) jsonAppendValue(tls, pStr, *(*uintptr)(unsafe.Pointer(argv + 1*4))) } } @@ -151782,7 +152110,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) if pStr != 0 { - jsonAppendChar(tls, pStr, int8('}')) + jsonAppendChar(tls, pStr, uint8('}')) if (*JsonString)(unsafe.Pointer(pStr)).FbErr != 0 { if int32((*JsonString)(unsafe.Pointer(pStr)).FbErr) == 1 { Xsqlite3_result_error_nomem(tls, ctx) @@ -151820,17 +152148,17 @@ func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:191673:13: */ // The json_each virtual table // type JsonEachCursor1 = struct { - Fbase Sqlite3_vtab_cursor - FiRowid U32 - FiBegin U32 - Fi U32 - FiEnd U32 - FeType U8 - FbRecursive U8 - _ [2]byte - FzJson uintptr - FzRoot uintptr - FsParse JsonParse + Fbase Sqlite3_vtab_cursor + FiRowid U32 + FiBegin U32 + Fi U32 + FiEnd U32 + FeType U8 + FbRecursive U8 + F__ccgo_pad1 [2]byte + FzJson uintptr + FzRoot uintptr + FsParse JsonParse } /* sqlite3.c:191683:9 */ // *************************************************************************** @@ -151985,7 +152313,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql var pUp uintptr var iUp U32 if i == U32(0) { - jsonAppendChar(tls, pStr, int8('$')) + jsonAppendChar(tls, pStr, uint8('$')) return } iUp = *(*U32)(unsafe.Pointer((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaUp + uintptr(i)*4)) @@ -152090,7 +152418,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* if (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot != 0 { jsonAppendRaw(tls, bp+24 /* &x */, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot, uint32(int32(libc.Xstrlen(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot)))) } else { - jsonAppendChar(tls, bp+24 /* &x */, int8('$')) + jsonAppendChar(tls, bp+24 /* &x */, uint8('$')) } if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY { jsonPrintf(tls, 30, bp+24 /* &x */, ts+23092 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) @@ -152275,7 +152603,7 @@ func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, ar return SQLITE_NOMEM } libc.Xmemcpy(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot, zRoot, (Size_t(n) + Size_t(1))) - if int32(*(*int8)(unsafe.Pointer(zRoot))) != '$' { + if int32(*(*uint8)(unsafe.Pointer(zRoot))) != '$' { *(*uintptr)(unsafe.Pointer(bp /* zErr */)) = zRoot } else { pNode = jsonLookupStep(tls, (p + 32 /* &.sParse */), uint32(0), ((*JsonEachCursor)(unsafe.Pointer(p)).FzRoot + uintptr(1)), uintptr(0), bp /* &zErr */) @@ -152446,12 +152774,12 @@ type Rtree1 = struct { FinWrTrans U8 FnAux U8 FnAuxNotNull U8 - _ [1]byte + F__ccgo_pad1 [1]byte FiDepth int32 FzDb uintptr FzName uintptr FnBusy U32 - _ [4]byte + F__ccgo_pad2 [4]byte FnRowEst I64 FnCursor U32 FnNodeRef U32 @@ -152486,7 +152814,7 @@ type RtreeCursor1 = struct { FatEOF U8 FbPoint U8 FbAuxValid U8 - _ [1]byte + F__ccgo_pad1 [1]byte FiStrategy int32 FnConstraint int32 FaConstraint uintptr @@ -152502,13 +152830,13 @@ type RtreeCursor1 = struct { type RtreeCursor = RtreeCursor1 /* sqlite3.c:192363:28 */ type RtreeNode1 = struct { - FpParent uintptr - _ [4]byte - FiNode I64 - FnRef int32 - FisDirty int32 - FzData uintptr - FpNext uintptr + FpParent uintptr + F__ccgo_pad1 [4]byte + FiNode I64 + FnRef int32 + FisDirty int32 + FzData uintptr + FpNext uintptr } /* sqlite3.c:192362:9 */ type RtreeNode = RtreeNode1 /* sqlite3.c:192364:26 */ @@ -152519,21 +152847,21 @@ type RtreeCell1 = struct { type RtreeCell = RtreeCell1 /* sqlite3.c:192365:26 */ type RtreeConstraint1 = struct { - FiCoord int32 - Fop int32 - Fu struct{ FrValue RtreeDValue } - FpInfo uintptr - _ [4]byte + FiCoord int32 + Fop int32 + Fu struct{ FrValue RtreeDValue } + FpInfo uintptr + F__ccgo_pad1 [4]byte } /* sqlite3.c:192363:9 */ type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:192366:32 */ type RtreeMatchArg1 = struct { - FiSize U32 - Fcb RtreeGeomCallback - FnParam int32 - FapSqlParam uintptr - _ [4]byte - FaParam [1]RtreeDValue + FiSize U32 + Fcb RtreeGeomCallback + FnParam int32 + FapSqlParam uintptr + F__ccgo_pad1 [4]byte + FaParam [1]RtreeDValue } /* sqlite3.c:192367:9 */ type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:192367:30 */ @@ -152549,12 +152877,12 @@ type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:192365:9 */ type RtreeCoord = RtreeCoord1 /* sqlite3.c:192369:26 */ type RtreeSearchPoint1 = struct { - FrScore RtreeDValue - Fid Sqlite3_int64 - FiLevel U8 - FeWithin U8 - FiCell U8 - _ [5]byte + FrScore RtreeDValue + Fid Sqlite3_int64 + FiLevel U8 + FeWithin U8 + FiCell U8 + F__ccgo_pad1 [5]byte } /* sqlite3.c:192363:9 */ type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:192370:33 */ @@ -153067,7 +153395,7 @@ func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:193357:13: */ var pInfo uintptr = (*RtreeConstraint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(pCsr)).FaConstraint + uintptr(i)*24)).FpInfo if pInfo != 0 { if (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FxDelUser != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pInfo + 16 /* &.xDelUser */))))(tls, (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FpUser) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FxDelUser})).f(tls, (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FpUser) } Xsqlite3_free(tls, pInfo) } @@ -153203,7 +153531,9 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe } if (*RtreeConstraint)(unsafe.Pointer(pConstraint)).Fop == RTREE_MATCH { *(*int32)(unsafe.Pointer(bp + 88 /* eWithin */)) = 0 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pConstraint + 8 /* &.u */ /* &.xGeom */))))(tls, pInfo, + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(pConstraint + 8 /* &.u */))})).f(tls, pInfo, nCoord, bp+8 /* &aCoord[0] */, bp+88 /* &eWithin */) if *(*int32)(unsafe.Pointer(bp + 88 /* eWithin */)) == 0 { *(*int32)(unsafe.Pointer(peWithin)) = NOT_WITHIN @@ -153214,7 +153544,9 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FiLevel = (int32((*RtreeSearchPoint)(unsafe.Pointer(pSearch)).FiLevel) - 1) (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FrScore = libc.AssignPtrFloat64(pInfo+48 /* &.rParentScore */, (*RtreeSearchPoint)(unsafe.Pointer(pSearch)).FrScore) (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FeWithin = libc.AssignPtrInt32(pInfo+56 /* &.eParentWithin */, int32((*RtreeSearchPoint)(unsafe.Pointer(pSearch)).FeWithin)) - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pConstraint + 8 /* &.u */ /* &.xQueryFunc */))))(tls, pInfo) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(pConstraint + 8 /* &.u */))})).f(tls, pInfo) if (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FeWithin < *(*int32)(unsafe.Pointer(peWithin)) { *(*int32)(unsafe.Pointer(peWithin)) = (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FeWithin } @@ -153867,8 +154199,8 @@ func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintpt for ii = 0; ii < argc; ii++ { var p uintptr = ((*RtreeCursor)(unsafe.Pointer(pCsr)).FaConstraint + uintptr(ii)*24) var eType int32 = Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4))) - (*RtreeConstraint)(unsafe.Pointer(p)).Fop = int32(*(*int8)(unsafe.Pointer(idxStr + uintptr((ii * 2))))) - (*RtreeConstraint)(unsafe.Pointer(p)).FiCoord = (int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(((ii * 2) + 1))))) - '0') + (*RtreeConstraint)(unsafe.Pointer(p)).Fop = int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr((ii * 2))))) + (*RtreeConstraint)(unsafe.Pointer(p)).FiCoord = (int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr(((ii * 2) + 1))))) - '0') if (*RtreeConstraint)(unsafe.Pointer(p)).Fop >= RTREE_MATCH { // A MATCH operator. The right-hand-side must be a blob that // can be cast into an RtreeMatchArg object. One created using @@ -153960,9 +154292,9 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql var nRow I64 // Estimated rows returned by this scan var iIdx int32 = 0 - // var zIdxStr [41]int8 at bp+8, 41 + // var zIdxStr [41]uint8 at bp+8, 41 - libc.Xmemset(tls, bp+8 /* &zIdxStr[0] */, 0, uint32(unsafe.Sizeof([41]int8{}))) + libc.Xmemset(tls, bp+8 /* &zIdxStr[0] */, 0, uint32(unsafe.Sizeof([41]uint8{}))) // Check if there exists a MATCH constraint - even an unusable one. If there // is, do not consider the lookup-by-rowid plan as using such a plan would @@ -153974,7 +154306,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql } } - for ii = 0; (ii < (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) && (iIdx < (int32(uint32(unsafe.Sizeof([41]int8{})) - uint32(1)))); ii++ { + for ii = 0; (ii < (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) && (iIdx < (int32(uint32(unsafe.Sizeof([41]uint8{})) - uint32(1)))); ii++ { var p uintptr = ((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(ii)*12) if (((bMatch == 0) && ((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fusable != 0)) && @@ -154034,8 +154366,8 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql break } if op != 0 { - *(*int8)(unsafe.Pointer(bp + 8 /* &zIdxStr[0] */ + uintptr(libc.PostIncInt32(&iIdx, 1)))) = int8(op) - *(*int8)(unsafe.Pointer(bp + 8 /* &zIdxStr[0] */ + uintptr(libc.PostIncInt32(&iIdx, 1)))) = (int8(((*sqlite3_index_constraint)(unsafe.Pointer(p)).FiColumn - 1) + '0')) + *(*uint8)(unsafe.Pointer(bp + 8 /* &zIdxStr[0] */ + uintptr(libc.PostIncInt32(&iIdx, 1)))) = uint8(op) + *(*uint8)(unsafe.Pointer(bp + 8 /* &zIdxStr[0] */ + uintptr(libc.PostIncInt32(&iIdx, 1)))) = (uint8(((*sqlite3_index_constraint)(unsafe.Pointer(p)).FiColumn - 1) + '0')) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(ii)*8)).FargvIndex = (iIdx / 2) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(ii)*8)).Fomit = uint8(1) } @@ -154600,7 +154932,9 @@ func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHe (*RtreeNode)(unsafe.Pointer(pChild)).FpParent = pNode } } - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64, Sqlite3_int64) int32)(unsafe.Pointer(&xSetMapping)))(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{xSetMapping})).f(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) } func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:194817:12: */ @@ -155999,7 +156333,7 @@ __3: goto __5 } zArg = *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4)) - if !(int32(*(*int8)(unsafe.Pointer(zArg))) == '+') { + if !(int32(*(*uint8)(unsafe.Pointer(zArg))) == '+') { goto __6 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ @@ -156807,11 +157141,11 @@ func geopolySwab32(tls *libc.TLS, a uintptr) { /* sqlite3.c:196792:13: */ } // Skip whitespace. Return the next non-whitespace character. -func geopolySkipSpace(tls *libc.TLS, p uintptr) int8 { /* sqlite3.c:196802:13: */ +func geopolySkipSpace(tls *libc.TLS, p uintptr) uint8 { /* sqlite3.c:196802:13: */ for jsonIsSpace[*(*uint8)(unsafe.Pointer((*GeoParse)(unsafe.Pointer(p)).Fz))] != 0 { (*GeoParse)(unsafe.Pointer(p)).Fz++ } - return int8(*(*uint8)(unsafe.Pointer((*GeoParse)(unsafe.Pointer(p)).Fz))) + return uint8(*(*uint8)(unsafe.Pointer((*GeoParse)(unsafe.Pointer(p)).Fz))) } // Parse out a number. Write the value into *pVal if pVal!=0. @@ -156820,20 +157154,20 @@ func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlit bp := tls.Alloc(8) defer tls.Free(8) - var c int8 = geopolySkipSpace(tls, p) + var c uint8 = geopolySkipSpace(tls, p) var z uintptr = (*GeoParse)(unsafe.Pointer(p)).Fz var j int32 = 0 var seenDP int32 = 0 var seenE int32 = 0 if int32(c) == '-' { j = 1 - c = int8(*(*uint8)(unsafe.Pointer(z + uintptr(j)))) + c = uint8(*(*uint8)(unsafe.Pointer(z + uintptr(j)))) } if ((int32(c) == '0') && (int32(*(*uint8)(unsafe.Pointer(z + uintptr((j + 1))))) >= '0')) && (int32(*(*uint8)(unsafe.Pointer(z + uintptr((j + 1))))) <= '9') { return 0 } for ; ; j++ { - c = int8(*(*uint8)(unsafe.Pointer(z + uintptr(j)))) + c = uint8(*(*uint8)(unsafe.Pointer(z + uintptr(j)))) if (int32(Xsqlite3CtypeMap[uint8(c)]) & 0x04) != 0 { continue } @@ -156855,10 +157189,10 @@ func geopolyParseNumber(tls *libc.TLS, p uintptr, pVal uintptr) int32 { /* sqlit return -1 } seenDP = libc.AssignInt32(&seenE, 1) - c = int8(*(*uint8)(unsafe.Pointer(z + uintptr((j + 1))))) + c = uint8(*(*uint8)(unsafe.Pointer(z + uintptr((j + 1))))) if (int32(c) == '+') || (int32(c) == '-') { j++ - c = int8(*(*uint8)(unsafe.Pointer(z + uintptr((j + 1))))) + c = uint8(*(*uint8)(unsafe.Pointer(z + uintptr((j + 1))))) } if (int32(c) < '0') || (int32(c) > '9') { return 0 @@ -156897,7 +157231,7 @@ func geopolyParseJson(tls *libc.TLS, z uintptr, pRc uintptr) uintptr { /* sqlite var rc int32 var aNew uintptr var ii int32 - var c int8 + var c uint8 var pOut uintptr // var x int32 at bp+20, 4 rc = SQLITE_OK @@ -157148,16 +157482,16 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var db uintptr = Xsqlite3_context_db_handle(tls, context) var x uintptr = Xsqlite3_str_new(tls, db) var i int32 - var cSep int8 = int8('\'') + var cSep uint8 = uint8('\'') Xsqlite3_str_appendf(tls, x, ts+25750 /* "<polyline points..." */, 0) for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ { Xsqlite3_str_appendf(tls, x, ts+25768 /* "%c%g,%g" */, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) - cSep = int8(' ') + cSep = uint8(' ') } Xsqlite3_str_appendf(tls, x, ts+25776 /* " %g,%g'" */, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) for i = 1; i < argc; i++ { var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) - if (z != 0) && (*(*int8)(unsafe.Pointer(z)) != 0) { + if (z != 0) && (*(*uint8)(unsafe.Pointer(z)) != 0) { Xsqlite3_str_appendf(tls, x, ts+25784 /* " %s" */, libc.VaList(bp+40, z)) } } @@ -157681,24 +158015,24 @@ func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // Objects used by the overlap algorihm. type GeoEvent1 = struct { - Fx float64 - FeType int32 - FpSeg uintptr - FpNext uintptr - _ [4]byte + Fx float64 + FeType int32 + FpSeg uintptr + FpNext uintptr + F__ccgo_pad1 [4]byte } /* sqlite3.c:197516:9 */ // Objects used by the overlap algorihm. type GeoEvent = GeoEvent1 /* sqlite3.c:197516:25 */ type GeoSegment1 = struct { - FC float64 - FB float64 - Fy float64 - Fy0 float32 - Fside uint8 - _ [3]byte - Fidx uint32 - FpNext uintptr + FC float64 + FB float64 + Fy float64 + Fy0 float32 + Fside uint8 + F__ccgo_pad1 [3]byte + Fidx uint32 + FpNext uintptr } /* sqlite3.c:197516:9 */ type GeoSegment = GeoSegment1 /* sqlite3.c:197517:27 */ @@ -158810,11 +159144,11 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409 var rc int32 = SQLITE_OK var i int32 for i = 0; (uint32(i) < (uint32(unsafe.Sizeof(aFunc1)) / uint32(unsafe.Sizeof(struct { - FxFunc uintptr - FnArg int8 - FbPure uint8 - _ [2]byte - FzName uintptr + FxFunc uintptr + FnArg int8 + FbPure uint8 + F__ccgo_pad1 [2]byte + FzName uintptr }{})))) && (rc == SQLITE_OK); i++ { var enc int32 if aFunc1[i].FbPure != 0 { @@ -158842,11 +159176,11 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409 } var aFunc1 = [12]struct { - FxFunc uintptr - FnArg int8 - FbPure uint8 - _ [2]byte - FzName uintptr + FxFunc uintptr + FnArg int8 + FbPure uint8 + F__ccgo_pad1 [2]byte + FzName uintptr }{ {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25921 /* "geopoly_area" */}, {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25934 /* "geopoly_blob" */}, @@ -158915,7 +159249,7 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198469:20 func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:198508:13: */ var pInfo uintptr = p if (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pInfo + 8 /* &.xDestructor */))))(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor})).f(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) } Xsqlite3_free(tls, p) } @@ -159420,8 +159754,8 @@ type sqlite3rbu = struct { FzTarget uintptr FzRbu uintptr FzState uintptr - FzStateDb [5]int8 - _ [3]byte + FzStateDb [5]uint8 + F__ccgo_pad1 [3]byte Frc int32 FzErrmsg uintptr FnStep int32 @@ -159439,7 +159773,7 @@ type sqlite3rbu = struct { FaFrame uintptr Fpgsz int32 FaBuf uintptr - _ [4]byte + F__ccgo_pad2 [4]byte FiWalCksum I64 FszTemp I64 FszTempLimit I64 @@ -160006,10 +160340,10 @@ type RbuState1 = struct { FzIdx uintptr FiWalCksum I64 FnRow int32 - _ [4]byte + F__ccgo_pad1 [4]byte FnProgress I64 FiCookie U32 - _ [4]byte + F__ccgo_pad2 [4]byte FiOalSz I64 FnPhaseOneStep I64 } /* sqlite3.c:200255:9 */ @@ -160041,7 +160375,7 @@ type rbu_file = struct { FiCookie U32 FiWriteVer U8 FbNolock U8 - _ [2]byte + F__ccgo_pad1 [2]byte FnShm int32 FapShm uintptr FzDel uintptr @@ -160130,23 +160464,23 @@ func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, le var total uint32 = uint32(0) limit = rbuDeltaGetInt(tls, bp /* &zDelta */, bp+4 /* &lenDelta */) - if int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* zDelta */))))) != '\n' { + if int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* zDelta */))))) != '\n' { // ERROR: size integer not terminated by "\n" return -1 } *(*uintptr)(unsafe.Pointer(bp /* zDelta */))++ *(*int32)(unsafe.Pointer(bp + 4 /* lenDelta */))-- - for (*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* zDelta */)))) != 0) && (*(*int32)(unsafe.Pointer(bp + 4 /* lenDelta */)) > 0) { + for (*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* zDelta */)))) != 0) && (*(*int32)(unsafe.Pointer(bp + 4 /* lenDelta */)) > 0) { var cnt uint32 var ofst uint32 cnt = rbuDeltaGetInt(tls, bp /* &zDelta */, bp+4 /* &lenDelta */) - switch int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* zDelta */))))) { + switch int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* zDelta */))))) { case '@': { *(*uintptr)(unsafe.Pointer(bp /* zDelta */))++ *(*int32)(unsafe.Pointer(bp + 4 /* lenDelta */))-- ofst = rbuDeltaGetInt(tls, bp /* &zDelta */, bp+4 /* &lenDelta */) - if (*(*int32)(unsafe.Pointer(bp + 4 /* lenDelta */)) > 0) && (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* zDelta */))))) != ',') { + if (*(*int32)(unsafe.Pointer(bp + 4 /* lenDelta */)) > 0) && (int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* zDelta */))))) != ',') { // ERROR: copy command not terminated by ',' return -1 } @@ -160190,7 +160524,7 @@ func rbuDeltaApply(tls *libc.TLS, zSrc uintptr, lenSrc int32, zDelta uintptr, le { *(*uintptr)(unsafe.Pointer(bp /* zDelta */))++ *(*int32)(unsafe.Pointer(bp + 4 /* lenDelta */))-- - *(*int8)(unsafe.Pointer(zOut)) = int8(0) + *(*uint8)(unsafe.Pointer(zOut)) = uint8(0) if total != limit { // ERROR: generated size does not match predicted size return -1 @@ -160218,7 +160552,7 @@ func rbuDeltaOutputSize(tls *libc.TLS, zDelta uintptr, lenDelta int32) int32 { / var size int32 size = int32(rbuDeltaGetInt(tls, bp /* &zDelta */, bp+4 /* &lenDelta */)) - if int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* zDelta */))))) != '\n' { + if int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* zDelta */))))) != '\n' { // ERROR: size integer not terminated by "\n" return -1 } @@ -160492,9 +160826,9 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { } else { if (libc.Xstrlen(tls, zIn) > Size_t(4)) && (libc.Xmemcmp(tls, ts+23316 /* "data" */, zIn, uint32(4)) == 0) { var i int32 - for i = 4; (int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) >= '0') && (int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) <= '9'); i++ { + for i = 4; (int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) >= '0') && (int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) <= '9'); i++ { } - if (int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) == '_') && (*(*int8)(unsafe.Pointer(zIn + uintptr((i + 1)))) != 0) { + if (int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) == '_') && (*(*uint8)(unsafe.Pointer(zIn + uintptr((i + 1)))) != 0) { Xsqlite3_result_text(tls, pCtx, (zIn + uintptr((i + 1))), -1, uintptr(0)) } } @@ -161248,7 +161582,7 @@ __14: (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM goto __18 __17: - if !(int32(*(*int8)(unsafe.Pointer(zQuoted))) == 'N') { + if !(int32(*(*uint8)(unsafe.Pointer(zQuoted))) == 'N') { goto __19 } bFailed = 1 @@ -161529,7 +161863,7 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr } else { var zSep uintptr = ts + 755 /* "" */ for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ { - var c int8 = *(*int8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4))))) + var c uint8 = *(*uint8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4))))) if int32(c) == 'x' { zList = rbuMPrintf(tls, p, ts+27549, /* "%z%s\"%w\"=?%d" */ libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), (i+1))) @@ -161570,12 +161904,12 @@ func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* s if zRet != 0 { var i int32 for i = 0; i < nBind; i++ { - *(*int8)(unsafe.Pointer(zRet + uintptr((i * 2)))) = int8('?') - *(*int8)(unsafe.Pointer(zRet + uintptr(((i * 2) + 1)))) = func() int8 { + *(*uint8)(unsafe.Pointer(zRet + uintptr((i * 2)))) = uint8('?') + *(*uint8)(unsafe.Pointer(zRet + uintptr(((i * 2) + 1)))) = func() uint8 { if (i + 1) == nBind { - return int8(0) + return uint8(0) } - return int8(',') + return uint8(',') }() } } @@ -161857,8 +162191,8 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { var i int32 var iIdxCol int32 = 0 var nIdxAlloc int32 = 0 - for i = 0; *(*int8)(unsafe.Pointer(zSql + uintptr(i))) != 0; i++ { - var c int8 = *(*int8)(unsafe.Pointer(zSql + uintptr(i))) + for i = 0; *(*uint8)(unsafe.Pointer(zSql + uintptr(i))) != 0; i++ { + var c uint8 = *(*uint8)(unsafe.Pointer(zSql + uintptr(i))) // If necessary, grow the pIter->aIdxCol[] array if iIdxCol == nIdxAlloc { @@ -161892,8 +162226,8 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iIdxCol)*8)).FzSpan = (zSql + uintptr((i + 1))) } else if ((int32(c) == '"') || (int32(c) == '\'')) || (int32(c) == '`') { for i++; 1 != 0; i++ { - if int32(*(*int8)(unsafe.Pointer(zSql + uintptr(i)))) == int32(c) { - if int32(*(*int8)(unsafe.Pointer(zSql + uintptr((i + 1))))) != int32(c) { + if int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(i)))) == int32(c) { + if int32(*(*uint8)(unsafe.Pointer(zSql + uintptr((i + 1))))) != int32(c) { break } i++ @@ -161901,26 +162235,26 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { } } else if int32(c) == '[' { for i++; 1 != 0; i++ { - if int32(*(*int8)(unsafe.Pointer(zSql + uintptr(i)))) == ']' { + if int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(i)))) == ']' { break } } - } else if (int32(c) == '-') && (int32(*(*int8)(unsafe.Pointer(zSql + uintptr((i + 1))))) == '-') { - for i = (i + 2); (*(*int8)(unsafe.Pointer(zSql + uintptr(i))) != 0) && (int32(*(*int8)(unsafe.Pointer(zSql + uintptr(i)))) != '\n'); i++ { + } else if (int32(c) == '-') && (int32(*(*uint8)(unsafe.Pointer(zSql + uintptr((i + 1))))) == '-') { + for i = (i + 2); (*(*uint8)(unsafe.Pointer(zSql + uintptr(i))) != 0) && (int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(i)))) != '\n'); i++ { } - if int32(*(*int8)(unsafe.Pointer(zSql + uintptr(i)))) == 0 { + if int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(i)))) == 0 { break } - } else if (int32(c) == '/') && (int32(*(*int8)(unsafe.Pointer(zSql + uintptr((i + 1))))) == '*') { - for i = (i + 2); (*(*int8)(unsafe.Pointer(zSql + uintptr(i))) != 0) && ((int32(*(*int8)(unsafe.Pointer(zSql + uintptr(i)))) != '*') || (int32(*(*int8)(unsafe.Pointer(zSql + uintptr((i + 1))))) != '/')); i++ { + } else if (int32(c) == '/') && (int32(*(*uint8)(unsafe.Pointer(zSql + uintptr((i + 1))))) == '*') { + for i = (i + 2); (*(*uint8)(unsafe.Pointer(zSql + uintptr(i))) != 0) && ((int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(i)))) != '*') || (int32(*(*uint8)(unsafe.Pointer(zSql + uintptr((i + 1))))) != '/')); i++ { } - if int32(*(*int8)(unsafe.Pointer(zSql + uintptr(i)))) == 0 { + if int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(i)))) == 0 { break } i++ } } - if *(*int8)(unsafe.Pointer(zSql + uintptr(i))) != 0 { + if *(*uint8)(unsafe.Pointer(zSql + uintptr(i))) != 0 { zRet = rbuStrndup(tls, (zSql + uintptr(i)), bp+4 /* &rc */) } (*RbuObjIter)(unsafe.Pointer(pIter)).FnIdxCol = iIdxCol @@ -162471,12 +162805,12 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 var zExtra uintptr = uintptr(0) if (libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= Size_t(5)) && (0 == libc.Xmemcmp(tls, ts+22479 /* "file:" */, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint32(5))) { zExtra = ((*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5) - for *(*int8)(unsafe.Pointer(zExtra)) != 0 { - if int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zExtra, 1)))) == '?' { + for *(*uint8)(unsafe.Pointer(zExtra)) != 0 { + if int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zExtra, 1)))) == '?' { break } } - if int32(*(*int8)(unsafe.Pointer(zExtra))) == 0 { + if int32(*(*uint8)(unsafe.Pointer(zExtra))) == 0 { zExtra = uintptr(0) } } @@ -162578,9 +162912,11 @@ func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:203029:12: */ var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal // var ptr uintptr at bp, 4 - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 52 /* &.xShmMap */))))(tls, pDb, 0, (32 * 1024), 0, bp /* &ptr */) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})).f(tls, pDb, 0, (32 * 1024), 0, bp /* &ptr */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - iRet = ((I64(*(*U32)(unsafe.Pointer(libc.AtomicLoadPUintptr(bp /* ptr */) + 10*4))) << 32) + I64(*(*U32)(unsafe.Pointer(libc.AtomicLoadPUintptr(bp /* ptr */) + 11*4)))) + iRet = ((I64(*(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* ptr */)) + 10*4))) << 32) + I64(*(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* ptr */)) + 11*4)))) } } return iRet @@ -162669,7 +163005,9 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal var pWal uintptr = (*Rbu_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd)).FpReal - nSectorSize = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 44 /* &.xSectorSize */))))(tls, pDb) + nSectorSize = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSectorSize})).f(tls, pDb) if nSectorSize > (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz { (*Sqlite3rbu)(unsafe.Pointer(p)).FnPagePerSector = (nSectorSize / (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz) } else { @@ -162680,7 +163018,9 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c // directory in which the target database and the wal file reside, in // case it has not been synced since the rename() call in // rbuMoveOalFile(). - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pWal)).FpMethods + 20 /* &.xSync */))))(tls, pWal, SQLITE_SYNC_NORMAL) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxSync})).f(tls, pWal, SQLITE_SYNC_NORMAL) } } } @@ -162741,22 +163081,30 @@ func rbuCheckpointFrame(tls *libc.TLS, p uintptr, pFrame uintptr) { /* sqlite3.c var iOff I64 iOff = ((((I64((*RbuFrame)(unsafe.Pointer(pFrame)).FiWalFrame - U32(1))) * (I64((*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz + 24))) + int64(32)) + int64(24)) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pWal)).FpMethods + 8 /* &.xRead */))))(tls, pWal, (*Sqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxRead})).f(tls, pWal, (*Sqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return } iOff = ((I64((*RbuFrame)(unsafe.Pointer(pFrame)).FiDbPage - U32(1))) * I64((*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz)) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 12 /* &.xWrite */))))(tls, pDb, (*Sqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxWrite})).f(tls, pDb, (*Sqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff) } // Take an EXCLUSIVE lock on the database file. func rbuLockDatabase(tls *libc.TLS, p uintptr) { /* sqlite3.c:203202:13: */ var pReal uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 28 /* &.xLock */))))(tls, pReal, SQLITE_LOCK_SHARED) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxLock})).f(tls, pReal, SQLITE_LOCK_SHARED) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 28 /* &.xLock */))))(tls, pReal, SQLITE_LOCK_EXCLUSIVE) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxLock})).f(tls, pReal, SQLITE_LOCK_EXCLUSIVE) } } @@ -162993,7 +163341,7 @@ func rbuStep(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203472:12: */ if *(*uintptr)(unsafe.Pointer(bp + 4 /* pUpdate */)) != 0 { var i int32 for i = 0; ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol); i++ { - var c int8 = *(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* zMask */)) + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4))))) + var c uint8 = *(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* zMask */)) + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4))))) pVal = Xsqlite3_column_value(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect, i) if (*(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0) || (int32(c) != '.') { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_bind_value(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* pUpdate */)), (i + 1), pVal) @@ -163263,15 +163611,19 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal // Sync the db file - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 20 /* &.xSync */))))(tls, pDb, SQLITE_SYNC_NORMAL) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})).f(tls, pDb, SQLITE_SYNC_NORMAL) // Update nBackfill if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { // var ptr uintptr at bp+16, 4 - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 52 /* &.xShmMap */))))(tls, pDb, 0, (32 * 1024), 0, bp+16 /* &ptr */) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})).f(tls, pDb, 0, (32 * 1024), 0, bp+16 /* &ptr */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - *(*U32)(unsafe.Pointer((libc.AtomicLoadPUintptr(bp + 16 /* ptr */)) + 24*4)) = (*Sqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame + *(*U32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 16 /* ptr */))) + 24*4)) = (*Sqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame } } @@ -163376,7 +163728,9 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203879:13: */ if zOal != 0 { var pVfs uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) - (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pVfs + 28 /* &.xDelete */))))(tls, pVfs, zOal, 0) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDelete})).f(tls, pVfs, zOal, 0) Xsqlite3_free(tls, zOal) } } @@ -163391,10 +163745,10 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:203895:13: */ // var rnd int32 at bp+8, 4 - // var zRnd [64]int8 at bp+12, 64 + // var zRnd [64]uint8 at bp+12, 64 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8 /* &rnd */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+30118 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]uint8{})), bp+12 /* &zRnd[0] */, ts+30118 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12 /* &zRnd[0] */, uintptr(0)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12 /* &zRnd[0] */) @@ -163730,7 +164084,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:204232:13: */ for i = uint32(0); i < (nErrmsg - Size_t(8)); i++ { if libc.Xmemcmp(tls, ((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i)), ts+28515 /* "rbu_imp_" */, uint32(8)) == 0 { var nDel int32 = 8 - for (int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr((i + uint32(nDel)))))) >= '0') && (int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr((i + uint32(nDel)))))) <= '9') { + for (int32(*(*uint8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr((i + uint32(nDel)))))) >= '0') && (int32(*(*uint8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr((i + uint32(nDel)))))) <= '9') { nDel++ } libc.Xmemmove(tls, ((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i)), ((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr((i + uint32(nDel)))), (((nErrmsg + Size_t(1)) - i) - Size_t(nDel))) @@ -163753,7 +164107,9 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Sync the db file if currently doing an incremental checkpoint if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_CKPT) { var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 20 /* &.xSync */))))(tls, pDb, SQLITE_SYNC_NORMAL) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})).f(tls, pDb, SQLITE_SYNC_NORMAL) } rbuSaveState(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage) @@ -163877,7 +164233,9 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 // Sync the db file if (rc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_CKPT) { var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 20 /* &.xSync */))))(tls, pDb, SQLITE_SYNC_NORMAL) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})).f(tls, pDb, SQLITE_SYNC_NORMAL) } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -163973,7 +164331,9 @@ func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:204477:13: */ var i int32 for i = 0; i < SQLITE_SHM_NLOCK; i++ { if ((U32(int32(1) << i)) & (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FmLock) != 0 { - (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xShmLock)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, i, 1, (SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE)) + (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xShmLock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, i, 1, (SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE)) } } (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FmLock = U32(0) @@ -164077,13 +164437,17 @@ func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:204569:12: * if ((*Rbu_file)(unsafe.Pointer(p)).FopenFlags & SQLITE_OPEN_MAIN_DB) != 0 { rbuMainlistRemove(tls, p) rbuUnlockShm(tls, p) - (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 64 /* &.xShmUnmap */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, 0) + (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmUnmap})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, 0) } else if (((*Rbu_file)(unsafe.Pointer(p)).FopenFlags & SQLITE_OPEN_DELETEONCLOSE) != 0) && ((*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0) { rbuUpdateTempSize(tls, p, int64(0)) } // Close the underlying file handle - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 4 /* &.xClose */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxClose})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) return rc } @@ -164126,7 +164490,9 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq rc = SQLITE_OK libc.Xmemset(tls, zBuf, 0, uint32(iAmt)) } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 8 /* &.xRead */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxRead})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) // If this is being called to read the first page of the target // database as part of an rbu vacuum operation, synthesize the // contents of the first page if it does not yet exist. Otherwise, @@ -164136,7 +164502,9 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq (((*Rbu_file)(unsafe.Pointer(p)).FopenFlags & SQLITE_OPEN_MAIN_DB) != 0)) && ((*Sqlite3rbu)(unsafe.Pointer(pRbu)).Frc == SQLITE_OK) { var pFd uintptr = (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpRbuFd - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pFd)).FpMethods + 8 /* &.xRead */))))(tls, pFd, zBuf, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FxRead})).f(tls, pFd, zBuf, iAmt, iOfst) if rc == SQLITE_OK { var aBuf uintptr = zBuf var iRoot U32 @@ -164195,7 +164563,9 @@ func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst S } } } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 12 /* &.xWrite */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxWrite})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) if ((rc == SQLITE_OK) && (iOfst == int64(0))) && (((*Rbu_file)(unsafe.Pointer(p)).FopenFlags & SQLITE_OPEN_MAIN_DB) != 0) { // These look like magic numbers. But they are stable, as they are part // of the definition of the SQLite file format, which may not change. @@ -164216,7 +164586,9 @@ func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* return rc } } - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 16 /* &.xTruncate */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, size) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxTruncate})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, size) } // Sync an rbuVfs-file. @@ -164228,14 +164600,18 @@ func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c: } return SQLITE_OK } - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 20 /* &.xSync */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxSync})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, flags) } // Return the current file-size of an rbuVfs-file. func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:204763:12: */ var p uintptr = pFile var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 24 /* &.xFileSize */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, pSize) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxFileSize})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, pSize) // If this is an RBU vacuum operation and this is the target database, // pretend that it has at least one page. Otherwise, SQLite will not @@ -164261,7 +164637,9 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: // prevents it from checkpointing the database from sqlite3_close(). rc = SQLITE_BUSY } else { - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 28 /* &.xLock */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, eLock) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxLock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, eLock) } return rc @@ -164270,13 +164648,17 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: // Unlock an rbuVfs-file. func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:204806:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 32 /* &.xUnlock */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, eLock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxUnlock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, eLock) } // Check if another file-handle holds a RESERVED lock on an rbuVfs-file. func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:204814:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 36 /* &.xCheckReservedLock */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxCheckReservedLock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, pResOut) } // File control method. For custom operations on an rbuVfs-file. @@ -164294,13 +164676,17 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int // First try to find another RBU vfs lower down in the vfs stack. If // one is found, this vfs will operate in pass-through mode. The lower // level vfs will do the special RBU handling. - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, op, pArg) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, op, pArg) if rc == SQLITE_NOTFOUND { // Now search for a zipvfs instance lower down in the VFS stack. If // one is found, this is an error. *(*uintptr)(unsafe.Pointer(bp + 16 /* dummy */)) = uintptr(0) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16 /* &dummy */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16 /* &dummy */) if rc == SQLITE_OK { rc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30499 /* "rbu/zipvfs setup..." */, 0) @@ -164322,7 +164708,9 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int (*Rbu_file)(unsafe.Pointer(p)).FbNolock = U8(1) } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, op, pArg) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, op, pArg) if (rc == SQLITE_OK) && (op == SQLITE_FCNTL_VFSNAME) { var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs var zIn uintptr = *(*uintptr)(unsafe.Pointer(pArg)) @@ -164339,13 +164727,17 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int // Return the sector-size in bytes for an rbuVfs-file. func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:204878:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 44 /* &.xSectorSize */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxSectorSize})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // Return the device characteristic flags supported by an rbuVfs-file. func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:204886:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 48 /* &.xDeviceCharacteristics */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxDeviceCharacteristics})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // Take or release a shared-memory lock. @@ -164369,7 +164761,9 @@ func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 bCapture = 1 } if (bCapture == 0) || (0 == (flags & SQLITE_SHM_UNLOCK)) { - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 56 /* &.xShmLock */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, ofst, n, flags) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, ofst, n, flags) if (bCapture != 0) && (rc == SQLITE_OK) { *(*U32)(unsafe.Pointer(pRbu + 188 /* &.mLock */)) |= (U32(((int32(1) << n) - 1) << ofst)) } @@ -164422,13 +164816,15 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i } if rc == SQLITE_OK { - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = *(*uintptr)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FapShm + uintptr(iRegion)*4)) + *(*uintptr)(unsafe.Pointer(pp)) = *(*uintptr)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FapShm + uintptr(iRegion)*4)) } else { - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) } } else { - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 52 /* &.xShmMap */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, libc.AtomicLoadUintptr(&pp)) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmMap})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, pp) } return rc @@ -164437,7 +164833,7 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i // Memory barrier. func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:204990:13: */ var p uintptr = pFile - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 60 /* &.xShmBarrier */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // The xShmUnmap method. @@ -164456,7 +164852,9 @@ func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqli } else { // Release the checkpointer and writer locks rbuUnlockShm(tls, p) - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 64 /* &.xShmUnmap */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, delFlag) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmUnmap})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, delFlag) } return rc } @@ -164493,7 +164891,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) - *(*int8)(unsafe.Pointer((zOpen) + uintptr((nOpen - Size_t(3))))) = int8('o') + *(*uint8)(unsafe.Pointer((zOpen) + uintptr((nOpen - Size_t(3))))) = uint8('o') (*Rbu_file)(unsafe.Pointer(pFd)).FpRbu = (*Rbu_file)(unsafe.Pointer(pDb)).FpRbu } (*Rbu_file)(unsafe.Pointer(pDb)).FpWalFd = pFd @@ -164511,7 +164909,9 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags } if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRealVfs + 24 /* &.xOpen */))))(tls, pRealVfs, zOpen, (*Rbu_file)(unsafe.Pointer(pFd)).FpReal, oflags, pOutFlags) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxOpen})).f(tls, pRealVfs, zOpen, (*Rbu_file)(unsafe.Pointer(pFd)).FpReal, oflags, pOutFlags) } if (*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pFd)).FpReal)).FpMethods != 0 { // The xOpen() operation has succeeded. Set the sqlite3_file.pMethods @@ -164551,7 +164951,9 @@ var rbuvfs_io_methods = Sqlite3_io_methods{ // Delete the file located at zPath. func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:205115:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pRealVfs + 28 /* &.xDelete */))))(tls, pRealVfs, zPath, dirSync) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDelete})).f(tls, pRealVfs, zPath, dirSync) } // Test for access permissions. Return true if the requested permission @@ -164564,7 +164966,9 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRealVfs var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRealVfs + 32 /* &.xAccess */))))(tls, pRealVfs, zPath, flags, pResOut) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxAccess})).f(tls, pRealVfs, zPath, flags, pResOut) // If this call is to check if a *-wal file associated with an RBU target // database connection exists, and the RBU update is in RBU_STAGE_OAL, @@ -164601,13 +165005,17 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO // of at least (DEVSYM_MAX_PATHNAME+1) bytes. func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:205172:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRealVfs + 36 /* &.xFullPathname */))))(tls, pRealVfs, zPath, nOut, zOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxFullPathname})).f(tls, pRealVfs, zPath, nOut, zOut) } // Open the dynamic library located at zPath and return a handle. func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:205186:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pRealVfs + 40 /* &.xDlOpen */))))(tls, pRealVfs, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDlOpen})).f(tls, pRealVfs, zPath) } // Populate the buffer zErrMsg (size nByte bytes) with a human readable @@ -164615,39 +165023,51 @@ func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlit // with dynamic libraries. func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:205196:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pRealVfs + 44 /* &.xDlError */))))(tls, pRealVfs, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDlError})).f(tls, pRealVfs, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:205204:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((pRealVfs + 48 /* &.xDlSym */))))(tls, pRealVfs, pArg, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDlSym})).f(tls, pRealVfs, pArg, zSym) } // Close the dynamic library handle pHandle. func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:205216:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pRealVfs + 52 /* &.xDlClose */))))(tls, pRealVfs, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDlClose})).f(tls, pRealVfs, pHandle) } // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:205226:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRealVfs + 56 /* &.xRandomness */))))(tls, pRealVfs, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxRandomness})).f(tls, pRealVfs, nByte, zBufOut) } // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:205235:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pRealVfs + 60 /* &.xSleep */))))(tls, pRealVfs, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxSleep})).f(tls, pRealVfs, nMicro) } // Return the current time as a Julian Day number in *pTimeOut. func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:205243:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pRealVfs + 64 /* &.xCurrentTime */))))(tls, pRealVfs, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxCurrentTime})).f(tls, pRealVfs, pTimeOut) } // No-op. @@ -164898,13 +165318,13 @@ type SessionTable1 = struct { type SessionTable = SessionTable1 /* sqlite3.c:206655:29 */ type SessionChange1 = struct { - Fop U8 - FbIndirect U8 - _ [2]byte - FnMaxSize int32 - FnRecord int32 - FaRecord uintptr - FpNext uintptr + Fop U8 + FbIndirect U8 + F__ccgo_pad1 [2]byte + FnMaxSize int32 + FnRecord int32 + FaRecord uintptr + FpNext uintptr } /* sqlite3.c:11155:9 */ type SessionChange = SessionChange1 /* sqlite3.c:206656:30 */ @@ -165170,9 +165590,13 @@ func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew in // var pVal uintptr at bp, 4 if bNew != 0 { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) } else { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) } if rc != SQLITE_OK { return rc @@ -165491,10 +165915,14 @@ func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChang // this (that the method has already been called). if op == SQLITE_INSERT { // assert( db->pPreUpdate->pNewUnpacked || db->pPreUpdate->aNew ); - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) } else { // assert( db->pPreUpdate->pUnpacked ); - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) } if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != eType { @@ -165778,7 +166206,9 @@ func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) - var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 4 /* &.xOld */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxOld})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob } @@ -165792,7 +166222,9 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int var p uintptr = pCtx *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) - var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 8 /* &.xNew */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxNew})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob } @@ -165802,12 +166234,16 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207812:12: */ var p uintptr = pCtx - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 12 /* &.xCount */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxCount})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207816:12: */ var p uintptr = pCtx - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 16 /* &.xDepth */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxDepth})).f(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) } func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:207821:12: */ @@ -165820,7 +166256,9 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt var ii int32 for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { *(*uintptr)(unsafe.Pointer(bp /* p */)) = uintptr(0) - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp /* &p */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp /* &p */) sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp /* p */)), bp+8 /* &nNew */) } } @@ -165837,7 +166275,9 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt var nOld int32 = 0 var eType int32 *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) = uintptr(0) - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+16 /* &p */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+16 /* &p */) if *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) == uintptr(0) { return SQLITE_NOMEM } @@ -165965,7 +166405,9 @@ __2: // Check the number of columns in this xPreUpdate call matches the // number of columns in the table. - if !((*SessionTable)(unsafe.Pointer(pTab)).FnCol != (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 12 /* &.xCount */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx)) { + if !((*SessionTable)(unsafe.Pointer(pTab)).FnCol != (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx)) { goto __3 } (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_SCHEMA @@ -166068,14 +166510,18 @@ __16: if !(op != SQLITE_INSERT) { goto __19 } - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+32 /* &p1 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+32 /* &p1 */) goto __20 __19: if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { goto __21 } - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+32 /* &p1 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+32 /* &p1 */) __21: ; @@ -166127,13 +166573,17 @@ __25: if !(op != SQLITE_INSERT) { goto __28 } - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+48 /* &p2 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+48 /* &p2 */) goto __29 __28: if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { goto __30 } - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+48 /* &p2 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+48 /* &p2 */) __30: ; __29: @@ -166148,7 +166598,9 @@ __27: ; // Add the change to the hash-table - if !(((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect != 0) || ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 16 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) != 0)) { + if !(((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect != 0) || ((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) != 0)) { goto __31 } (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(1) @@ -166166,7 +166618,9 @@ __14: } // If the existing change is considered "indirect", but this current // change is "direct", mark the change object as direct. - if !(((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 16 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) == 0) && + if !(((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) == 0) && ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect == 0)) { goto __33 } @@ -166218,7 +166672,9 @@ func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uint // If there is a table-filter configured, invoke it. If it returns 0, // do not automatically add the new table. if ((*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter == uintptr(0)) || - ((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pSession + 32 /* &.xTableFilter */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx, zName) != 0) { + ((*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx, zName) != 0) { rc = Xsqlite3session_attach(tls, pSession, zName) if rc == SQLITE_OK { for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*SessionTable)(unsafe.Pointer(pRet)).FpNext != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { @@ -166933,9 +167389,9 @@ func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { / bp := tls.Alloc(32) defer tls.Free(32) - // var aBuf [24]int8 at bp+8, 24 + // var aBuf [24]uint8 at bp+8, 24 - Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof([24]int8{})) - uint32(1))), bp+8 /* &aBuf[0] */, ts+4089 /* "%d" */, libc.VaList(bp, iVal)) + Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof([24]uint8{})) - uint32(1))), bp+8 /* &aBuf[0] */, ts+4089 /* "%d" */, libc.VaList(bp, iVal)) sessionAppendStr(tls, p, bp+8 /* &aBuf[0] */, pRc) } @@ -166951,14 +167407,14 @@ func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { / if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { var zOut uintptr = ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)) var zIn uintptr = zStr - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') - for *(*int8)(unsafe.Pointer(zIn)) != 0 { - if int32(*(*int8)(unsafe.Pointer(zIn))) == '"' { - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = uint8('"') + for *(*uint8)(unsafe.Pointer(zIn)) != 0 { + if int32(*(*uint8)(unsafe.Pointer(zIn))) == '"' { + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = uint8('"') } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zIn, 1))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zIn, 1))) } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = uint8('"') (*SessionBuffer)(unsafe.Pointer(p)).FnBuf = ((int32(zOut) - int32((*SessionBuffer)(unsafe.Pointer(p)).FaBuf)) / 1) } } @@ -167429,7 +167885,9 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK)) && ((*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf > nNoop)) && ((*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf > sessions_strm_chunk_size) { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf) nNoop = -1 (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf = 0 } @@ -167451,7 +167909,9 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, *(*uintptr)(unsafe.Pointer(ppChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FaBuf (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FaBuf = uintptr(0) } else if (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf > 0 { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf) } } @@ -167652,7 +168112,9 @@ func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqli sessionDiscardData(tls, pIn) } if SQLITE_OK == sessionBufferGrow(tls, (pIn+20 /* &.buf */), int64(*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))), bp /* &rc */) { - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pIn + 32 /* &.xInput */))))(tls, (*SessionInput)(unsafe.Pointer(pIn)).FpIn, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf)), bp+4 /* &nNew */) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionInput)(unsafe.Pointer(pIn)).FxInput})).f(tls, (*SessionInput)(unsafe.Pointer(pIn)).FpIn, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf)), bp+4 /* &nNew */) if *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) == 0 { (*SessionInput)(unsafe.Pointer(pIn)).FbEof = 1 } else { @@ -168519,7 +168981,9 @@ __6: if !((xOutput != 0) && ((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf >= sessions_strm_chunk_size)) { goto __28 } - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf = 0 if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != SQLITE_OK) { goto __29 @@ -168544,7 +169008,9 @@ __30: if !((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf > 0) { goto __32 } - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) __32: ; __31: @@ -168616,7 +169082,7 @@ type SessionApplyCtx1 = struct { Frebase SessionBuffer FbRebaseStarted U8 FbRebase U8 - _ [2]byte + F__ccgo_pad1 [2]byte } /* sqlite3.c:210362:9 */ type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:210362:32 */ @@ -168962,7 +169428,9 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab if !(abPK != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { // var pVal uintptr at bp, 4 - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xValue)))(tls, pIter, i, bp /* &pVal */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xValue})).f(tls, pIter, i, bp /* &pVal */) if *(*uintptr)(unsafe.Pointer(bp /* pVal */)) == uintptr(0) { // The value in the changeset was "undefined". This indicates a // corrupt changeset blob. @@ -169131,7 +169599,9 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_ROW { // There exists another row with the new.* primary key. (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect - res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, eType, pIter) + res = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xConflict})).f(tls, pCtx, eType, pIter) (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = uintptr(0) *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) } else if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { @@ -169144,7 +169614,9 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr return SQLITE_OK } else { // No other row with the new.* primary key. - res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, (eType + 1), pIter) + res = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xConflict})).f(tls, pCtx, (eType + 1), pIter) if res == SQLITE_CHANGESET_REPLACE { *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_MISUSE } @@ -169499,7 +169971,9 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin // If an xFilter() callback was specified, invoke it now. If the // xFilter callback returns zero, skip this table. If it returns // non-zero, proceed. - schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&xFilter)))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 124 /* zNew */)))))) + schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xFilter})).f(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 124 /* zNew */)))))) if schemaMismatch != 0 { *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 124 /* zNew */)))) if *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) == uintptr(0) { @@ -169590,7 +170064,9 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin libc.Xmemset(tls, bp+152 /* &sIter */, 0, uint32(unsafe.Sizeof(Sqlite3_changeset_iter{}))) (*Sqlite3_changeset_iter)(unsafe.Pointer(bp + 152 /* &sIter */)).FnCol = *(*int32)(unsafe.Pointer(bp + 144 /* nFk */)) - res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+152 /* &sIter */) + res = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xConflict})).f(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+152 /* &sIter */) if res != SQLITE_CHANGESET_OMIT { rc = SQLITE_CONSTRAINT } @@ -170001,7 +170477,9 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+12 /* &rc */) sessionAppendBlob(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp+12 /* &rc */) if ((*(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf >= sessions_strm_chunk_size) { - *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf = 0 } } @@ -170011,7 +170489,9 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { if xOutput != 0 { if (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf > 0 { - *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) } } else { *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf @@ -170352,7 +170832,9 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu sessionAppendBlob(tls, bp+12 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), bp+24 /* &rc */) } if ((*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf > sessions_strm_chunk_size) { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf) (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &sOut */)).FnBuf = 0 } if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != 0 { @@ -170368,7 +170850,9 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { if xOutput != 0 { if (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf > 0 { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf) + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf) } } else { *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &sOut */)).FaBuf @@ -170532,14 +171016,14 @@ func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sq // warnings. type Fts5Global1 = struct { - Fapi Fts5_api - Fdb uintptr - _ [4]byte - FiNextId I64 - FpAux uintptr - FpTok uintptr - FpDfltTok uintptr - FpCsr uintptr + Fapi Fts5_api + Fdb uintptr + F__ccgo_pad1 [4]byte + FiNextId I64 + FpAux uintptr + FpTok uintptr + FpDfltTok uintptr + FpCsr uintptr } /* sqlite3.c:213118:9 */ //************* End of sqlite3session.c ************************************* @@ -170679,13 +171163,13 @@ type Fts5Buffer1 = struct { type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:213265:27 */ type Fts5PoslistReader1 = struct { - Fa uintptr - Fn int32 - Fi int32 - FbFlag U8 - FbEof U8 - _ [2]byte - FiPos I64 + Fa uintptr + Fn int32 + Fi int32 + FbFlag U8 + FbEof U8 + F__ccgo_pad1 [2]byte + FiPos I64 } /* sqlite3.c:213118:9 */ type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:213301:34 */ @@ -170715,7 +171199,7 @@ type Fts5Index1 = struct { FnWorkUnit int32 FpHash uintptr FnPendingData int32 - _ [4]byte + F__ccgo_pad1 [4]byte FiWriteRowid I64 FbDelete int32 Frc int32 @@ -170729,7 +171213,7 @@ type Fts5Index1 = struct { FpDataVersion uintptr FiStructVersion I64 FpStruct uintptr - _ [4]byte + F__ccgo_pad2 [4]byte } /* sqlite3.c:213118:9 */ // @@ -170743,11 +171227,11 @@ type Fts5Index1 = struct { type Fts5Index = Fts5Index1 /* sqlite3.c:213356:26 */ type Fts5IndexIter1 = struct { - FiRowid I64 - FpData uintptr - FnData int32 - FbEof U8 - _ [7]byte + FiRowid I64 + FpData uintptr + FnData int32 + FbEof U8 + F__ccgo_pad1 [7]byte } /* sqlite3.c:213118:9 */ type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:213357:30 */ @@ -170816,7 +171300,7 @@ type Fts5Storage1 = struct { FpConfig uintptr FpIndex uintptr FbTotalsValid int32 - _ [4]byte + F__ccgo_pad1 [4]byte FnTotalRow I64 FaTotalSize uintptr FaStmt [11]uintptr @@ -170858,15 +171342,15 @@ type Fts5Expr1 = struct { // Interface to code in fts5_expr.c. type Fts5Expr = Fts5Expr1 /* sqlite3.c:213681:25 */ type Fts5ExprNode1 = struct { - FeType int32 - FbEof int32 - FbNomatch int32 - FxNext uintptr - FiRowid I64 - FpNear uintptr - FnChild int32 - FapChild [1]uintptr - _ [4]byte + FeType int32 + FbEof int32 + FbNomatch int32 + FxNext uintptr + FiRowid I64 + FpNear uintptr + FnChild int32 + FapChild [1]uintptr + F__ccgo_pad1 [4]byte } /* sqlite3.c:213118:9 */ type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:213682:29 */ @@ -171012,8 +171496,8 @@ type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:213734:37 */ // fts5YY_MAX_REDUCE Maximum value for reduce actions //************ Begin control #defines **************************************** type Fts5YYMINORTYPE = struct { - Ffts5yyinit int32 - _ [4]byte + Ffts5yyinit int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:214010:3 */ //************ End control #defines ****************************************** @@ -171151,10 +171635,10 @@ var fts5yy_default = [35]uint8{ // actually contains the reduce action for the second half of the // SHIFTREDUCE. type fts5yyStackEntry = struct { - Fstateno uint8 - Fmajor uint8 - _ [2]byte - Fminor Fts5YYMINORTYPE + Fstateno uint8 + Fmajor uint8 + F__ccgo_pad1 [2]byte + Fminor Fts5YYMINORTYPE } /* sqlite3.c:214190:1 */ type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:214197:33 */ @@ -171197,7 +171681,7 @@ func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3 // to sqlite3Fts5Parser and sqlite3Fts5ParserFree. func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:214408:13: */ var fts5yypParser uintptr - fts5yypParser = (*(*func(*libc.TLS, U64) uintptr)(unsafe.Pointer(&mallocProc)))(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) + fts5yypParser = (*struct{ f func(*libc.TLS, U64) uintptr })(unsafe.Pointer(&struct{ uintptr }{mallocProc})).f(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) if fts5yypParser != 0 { sqlite3Fts5ParserInit(tls, fts5yypParser) @@ -171295,7 +171779,7 @@ func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqli return } sqlite3Fts5ParserFinalize(tls, p) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&freeProc)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{freeProc})).f(tls, p) } // Return the peak depth of the stack for a parser. @@ -171905,10 +172389,14 @@ func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:215400 // var io int32 at bp+8, 4 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(((*CInstIter)(unsafe.Pointer(pIter)).FpApi + 36 /* &.xInst */))))(tls, (*CInstIter)(unsafe.Pointer(pIter)).FpFts, (*CInstIter)(unsafe.Pointer(pIter)).FiInst, bp /* &ip */, bp+4 /* &ic */, bp+8 /* &io */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*CInstIter)(unsafe.Pointer(pIter)).FpApi)).FxInst})).f(tls, (*CInstIter)(unsafe.Pointer(pIter)).FpFts, (*CInstIter)(unsafe.Pointer(pIter)).FiInst, bp /* &ip */, bp+4 /* &ic */, bp+8 /* &io */) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp + 4 /* ic */)) == (*CInstIter)(unsafe.Pointer(pIter)).FiCol { - var iEnd int32 = ((*(*int32)(unsafe.Pointer(bp + 8 /* io */)) - 1) + (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*CInstIter)(unsafe.Pointer(pIter)).FpApi + 28 /* &.xPhraseSize */))))(tls, (*CInstIter)(unsafe.Pointer(pIter)).FpFts, *(*int32)(unsafe.Pointer(bp /* ip */)))) + var iEnd int32 = ((*(*int32)(unsafe.Pointer(bp + 8 /* io */)) - 1) + (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*CInstIter)(unsafe.Pointer(pIter)).FpApi)).FxPhraseSize})).f(tls, (*CInstIter)(unsafe.Pointer(pIter)).FpFts, *(*int32)(unsafe.Pointer(bp /* ip */)))) if (*CInstIter)(unsafe.Pointer(pIter)).FiStart < 0 { (*CInstIter)(unsafe.Pointer(pIter)).FiStart = *(*int32)(unsafe.Pointer(bp + 8 /* io */)) (*CInstIter)(unsafe.Pointer(pIter)).FiEnd = iEnd @@ -171936,7 +172424,9 @@ func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pI (*CInstIter)(unsafe.Pointer(pIter)).FpApi = pApi (*CInstIter)(unsafe.Pointer(pIter)).FpFts = pFts (*CInstIter)(unsafe.Pointer(pIter)).FiCol = iCol - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 32 /* &.xInstCount */))))(tls, pFts, (pIter + 16 /* &.nInst */)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, (pIter + 16 /* &.nInst */)) if rc == SQLITE_OK { rc = fts5CInstIterNext(tls, pIter) @@ -172064,7 +172554,9 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp libc.Xmemset(tls, bp /* &ctx */, 0, uint32(unsafe.Sizeof(HighlightContext{}))) (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzOpen = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*4))) (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzClose = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + 2*4))) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 44 /* &.xColumnText */))))(tls, pFts, iCol, (bp /* &ctx */ + 48 /* &.zIn */), (bp /* &ctx */ + 52 /* &.nIn */)) + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})).f(tls, pFts, iCol, (bp /* &ctx */ + 48 /* &.zIn */), (bp /* &ctx */ + 52 /* &.nIn */)) if (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn != 0 { if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { @@ -172072,7 +172564,9 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp } if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 20 /* &.xTokenize */))))(tls, pFts, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FnIn, bp /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxTokenize})).f(tls, pFts, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FnIn, bp /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5HighlightCb}))) } @@ -172146,9 +172640,9 @@ func fts5SentenceFinderCb(tls *libc.TLS, pContext uintptr, tflags int32, pToken var p uintptr = pContext if (*Fts5SFinder)(unsafe.Pointer(p)).FiPos > 0 { var i int32 - var c int8 = int8(0) + var c uint8 = uint8(0) for i = (iStartOff - 1); i >= 0; i-- { - c = *(*int8)(unsafe.Pointer((*Fts5SFinder)(unsafe.Pointer(p)).FzDoc + uintptr(i))) + c = *(*uint8)(unsafe.Pointer((*Fts5SFinder)(unsafe.Pointer(p)).FzDoc + uintptr(i))) if (((int32(c) != ' ') && (int32(c) != '\t')) && (int32(c) != '\n')) && (int32(c) != '\r') { break } @@ -172180,9 +172674,13 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, var iLast int32 = 0 var iEnd Sqlite3_int64 = (Sqlite3_int64(iPos) + Sqlite3_int64(nToken)) - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 32 /* &.xInstCount */))))(tls, pFts, bp /* &nInst */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, bp /* &nInst */) for i = 0; (i < *(*int32)(unsafe.Pointer(bp /* nInst */))) && (rc == SQLITE_OK); i++ { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 36 /* &.xInst */))))(tls, pFts, i, bp+4 /* &ip */, bp+8 /* &ic */, bp+12 /* &iOff */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, i, bp+4 /* &ip */, bp+8 /* &ic */, bp+12 /* &iOff */) if (((rc == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 8 /* ic */)) == iCol)) && (*(*int32)(unsafe.Pointer(bp + 12 /* iOff */)) >= iPos)) && (Sqlite3_int64(*(*int32)(unsafe.Pointer(bp + 12 /* iOff */))) < iEnd) { nScore = nScore + (func() int32 { if *(*uint8)(unsafe.Pointer(aSeen + uintptr(*(*int32)(unsafe.Pointer(bp + 4 /* ip */))))) != 0 { @@ -172194,7 +172692,9 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, if iFirst < 0 { iFirst = *(*int32)(unsafe.Pointer(bp + 12 /* iOff */)) } - iLast = (*(*int32)(unsafe.Pointer(bp + 12 /* iOff */)) + (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pApi + 28 /* &.xPhraseSize */))))(tls, pFts, *(*int32)(unsafe.Pointer(bp + 4 /* ip */)))) + iLast = (*(*int32)(unsafe.Pointer(bp + 12 /* iOff */)) + (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseSize})).f(tls, pFts, *(*int32)(unsafe.Pointer(bp + 4 /* ip */)))) } } @@ -172253,7 +172753,9 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr return } - nCol = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 8 /* &.xColumnCount */))))(tls, pFts) + nCol = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnCount})).f(tls, pFts) libc.Xmemset(tls, bp /* &ctx */, 0, uint32(unsafe.Sizeof(HighlightContext{}))) iCol = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal))) (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzOpen = fts5ValueToText(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*4))) @@ -172267,13 +172769,17 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr } return 0 }() - nPhrase = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 24 /* &.xPhraseCount */))))(tls, pFts) + nPhrase = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseCount})).f(tls, pFts) aSeen = Xsqlite3_malloc(tls, nPhrase) if aSeen == uintptr(0) { *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = SQLITE_NOMEM } if *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 32 /* &.xInstCount */))))(tls, pFts, bp+64 /* &nInst */) + *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, bp+64 /* &nInst */) } libc.Xmemset(tls, bp+68 /* &sFinder */, 0, uint32(unsafe.Sizeof(Fts5SFinder{}))) @@ -172286,18 +172792,24 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var ii int32 (*Fts5SFinder)(unsafe.Pointer(bp + 68 /* &sFinder */)).FiPos = 0 (*Fts5SFinder)(unsafe.Pointer(bp + 68 /* &sFinder */)).FnFirst = 0 - *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 44 /* &.xColumnText */))))(tls, pFts, i, (bp + 68 /* &sFinder */ + 16 /* &.zDoc */), bp+88 /* &nDoc */) + *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})).f(tls, pFts, i, (bp + 68 /* &sFinder */ + 16 /* &.zDoc */), bp+88 /* &nDoc */) if *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) != SQLITE_OK { break } - *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 20 /* &.xTokenize */))))(tls, pFts, + *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxTokenize})).f(tls, pFts, (*Fts5SFinder)(unsafe.Pointer(bp+68 /* &sFinder */)).FzDoc, *(*int32)(unsafe.Pointer(bp + 88 /* nDoc */)), bp+68 /* &sFinder */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5SentenceFinderCb}))) if *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) != SQLITE_OK { break } - *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 48 /* &.xColumnSize */))))(tls, pFts, i, bp+92 /* &nDocsize */) + *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnSize})).f(tls, pFts, i, bp+92 /* &nDocsize */) if *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) != SQLITE_OK { break } @@ -172315,7 +172827,9 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var jj int32 - *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 36 /* &.xInst */))))(tls, pFts, ii, bp+96 /* &ip */, bp+100 /* &ic */, bp+104 /* &io */) + *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, ii, bp+96 /* &ip */, bp+100 /* &ic */, bp+104 /* &io */) if *(*int32)(unsafe.Pointer(bp + 100 /* ic */)) != i { continue } @@ -172366,10 +172880,14 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr } if *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 44 /* &.xColumnText */))))(tls, pFts, iBestCol, (bp /* &ctx */ + 48 /* &.zIn */), (bp /* &ctx */ + 52 /* &.nIn */)) + *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})).f(tls, pFts, iBestCol, (bp /* &ctx */ + 48 /* &.zIn */), (bp /* &ctx */ + 52 /* &.nIn */)) } if (*(*int32)(unsafe.Pointer(bp + 120 /* rc */)) == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 116 /* nColSize */)) == 0) { - *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 48 /* &.xColumnSize */))))(tls, pFts, iBestCol, bp+116 /* &nColSize */) + *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnSize})).f(tls, pFts, iBestCol, bp+116 /* &nColSize */) } if (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn != 0 { if *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) == SQLITE_OK { @@ -172390,7 +172908,9 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr } if *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 20 /* &.xTokenize */))))(tls, pFts, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FnIn, bp /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { + *(*int32)(unsafe.Pointer(bp + 120 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxTokenize})).f(tls, pFts, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FnIn, bp /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5HighlightCb}))) } @@ -172415,11 +172935,11 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr // The first time the bm25() function is called for a query, an instance // of the following structure is allocated and populated. type Fts5Bm25Data1 = struct { - FnPhrase int32 - _ [4]byte - Favgdl float64 - FaIDF uintptr - FaFreq uintptr + FnPhrase int32 + F__ccgo_pad1 [4]byte + Favgdl float64 + FaIDF uintptr + FaFreq uintptr } /* sqlite3.c:215879:9 */ //********************************************************************** @@ -172448,7 +172968,9 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) var rc int32 = SQLITE_OK // Return code var p uintptr // Object to return - p = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((pApi + 60 /* &.xGetAuxdata */))))(tls, pFts, 0) + p = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxGetAuxdata})).f(tls, pFts, 0) if p == uintptr(0) { var nPhrase int32 // Number of phrases in query *(*Sqlite3_int64)(unsafe.Pointer(bp /* nRow */)) = int64(0) // Number of rows in table @@ -172457,7 +172979,9 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) var i int32 // Allocate the Fts5Bm25Data object - nPhrase = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 24 /* &.xPhraseCount */))))(tls, pFts) + nPhrase = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseCount})).f(tls, pFts) nByte = (Sqlite3_int64(uint32(unsafe.Sizeof(Fts5Bm25Data{})) + ((uint32(nPhrase * 2)) * uint32(unsafe.Sizeof(float64(0)))))) p = Xsqlite3_malloc64(tls, uint64(nByte)) if p == uintptr(0) { @@ -172471,11 +172995,15 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) // Calculate the average document length for this FTS5 table if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 12 /* &.xRowCount */))))(tls, pFts, bp /* &nRow */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxRowCount})).f(tls, pFts, bp /* &nRow */) } if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 16 /* &.xColumnTotalSize */))))(tls, pFts, -1, bp+8 /* &nToken */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnTotalSize})).f(tls, pFts, -1, bp+8 /* &nToken */) } if rc == SQLITE_OK { (*Fts5Bm25Data)(unsafe.Pointer(p)).Favgdl = (float64(*(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* nToken */))) / float64(*(*Sqlite3_int64)(unsafe.Pointer(bp /* nRow */)))) @@ -172484,7 +173012,9 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) // Calculate an IDF for each phrase in the query for i = 0; (rc == SQLITE_OK) && (i < nPhrase); i++ { *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* nHit */)) = int64(0) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 52 /* &.xQueryPhrase */))))(tls, pFts, i, bp+16 /* &nHit */, *(*uintptr)(unsafe.Pointer(&struct { + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxQueryPhrase})).f(tls, pFts, i, bp+16 /* &nHit */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) int32 }{fts5CountCb}))) if rc == SQLITE_OK { @@ -172512,7 +173042,9 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) if rc != SQLITE_OK { Xsqlite3_free(tls, p) } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 56 /* &.xSetAuxdata */))))(tls, pFts, p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxSetAuxdata})).f(tls, pFts, p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } if rc != SQLITE_OK { p = uintptr(0) @@ -172544,7 +173076,9 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n if rc == SQLITE_OK { aFreq = (*Fts5Bm25Data)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pData */)))).FaFreq libc.Xmemset(tls, aFreq, 0, (uint32(unsafe.Sizeof(float64(0))) * uint32((*Fts5Bm25Data)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pData */)))).FnPhrase))) - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 32 /* &.xInstCount */))))(tls, pFts, bp+4 /* &nInst */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, bp+4 /* &nInst */) } for i = 0; (rc == SQLITE_OK) && (i < *(*int32)(unsafe.Pointer(bp + 4 /* nInst */))); i++ { // var ip int32 at bp+8, 4 @@ -172553,7 +173087,9 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n // var io int32 at bp+16, 4 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 36 /* &.xInst */))))(tls, pFts, i, bp+8 /* &ip */, bp+12 /* &ic */, bp+16 /* &io */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, i, bp+8 /* &ip */, bp+12 /* &ic */, bp+16 /* &io */) if rc == SQLITE_OK { var w float64 if nVal > *(*int32)(unsafe.Pointer(bp + 12 /* ic */)) { @@ -172569,7 +173105,9 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n if rc == SQLITE_OK { // var nTok int32 at bp+20, 4 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 48 /* &.xColumnSize */))))(tls, pFts, -1, bp+20 /* &nTok */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnSize})).f(tls, pFts, -1, bp+20 /* &nTok */) D = float64(*(*int32)(unsafe.Pointer(bp + 20 /* nTok */))) } @@ -172604,7 +173142,9 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:216036 var i int32 // To iterate through builtin functions for i = 0; (rc == SQLITE_OK) && (i < (int32(uint32(unsafe.Sizeof([3]Builtin{})) / uint32(unsafe.Sizeof(Builtin{}))))); i++ { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, Fts5_extension_function, uintptr) int32)(unsafe.Pointer((pApi + 12 /* &.xCreateFunction */))))(tls, pApi, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, Fts5_extension_function, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_api)(unsafe.Pointer(pApi)).FxCreateFunction})).f(tls, pApi, (*Builtin)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*16)).FzFunc, (*Builtin)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*16)).FpUserData, (*Builtin)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*16)).FxFunc, @@ -172911,7 +173451,7 @@ func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uint zRet = Xsqlite3_malloc(tls, (nIn + 1)) if zRet != 0 { libc.Xmemcpy(tls, zRet, pIn, uint32(nIn)) - *(*int8)(unsafe.Pointer(zRet + uintptr(nIn))) = int8(0) + *(*uint8)(unsafe.Pointer(zRet + uintptr(nIn))) = uint8(0) } else { *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM } @@ -172927,7 +173467,7 @@ func sqlite3Fts5Strndup(tls *libc.TLS, pRc uintptr, pIn uintptr, nIn int32) uint // * The 10 integer ASCII characters. // * The underscore character "_" (0x5F). // * The unicode "subsitute" character (0x1A). -func sqlite3Fts5IsBareword(tls *libc.TLS, t int8) int32 { /* sqlite3.c:216372:12: */ +func sqlite3Fts5IsBareword(tls *libc.TLS, t uint8) int32 { /* sqlite3.c:216372:12: */ bp := tls.Alloc(128) defer tls.Free(128) @@ -172983,7 +173523,7 @@ func sqlite3Fts5TermsetAdd(tls *libc.TLS, p uintptr, iIdx int32, pTerm uintptr, // operation of the module, but is necessary to ensure that some tests // designed to produce hash table collisions really do work. for i = (nTerm - 1); i >= 0; i-- { - hash = (((hash << 3) ^ hash) ^ U32(*(*int8)(unsafe.Pointer(pTerm + uintptr(i))))) + hash = (((hash << 3) ^ hash) ^ U32(*(*uint8)(unsafe.Pointer(pTerm + uintptr(i))))) } hash = (((hash << 3) ^ hash) ^ U32(iIdx)) hash = (hash % (U32((int32(uint32(unsafe.Sizeof([512]uintptr{})) / uint32(unsafe.Sizeof(uintptr(0)))))))) @@ -173045,11 +173585,11 @@ func sqlite3Fts5TermsetFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:216457:13: // Maximum allowed page size -func fts5_iswhitespace(tls *libc.TLS, x int8) int32 { /* sqlite3.c:216499:12: */ +func fts5_iswhitespace(tls *libc.TLS, x uint8) int32 { /* sqlite3.c:216499:12: */ return (libc.Bool32(int32(x) == ' ')) } -func fts5_isopenquote(tls *libc.TLS, x int8) int32 { /* sqlite3.c:216503:12: */ +func fts5_isopenquote(tls *libc.TLS, x uint8) int32 { /* sqlite3.c:216503:12: */ return (libc.Bool32((((int32(x) == '"') || (int32(x) == '\'')) || (int32(x) == '[')) || (int32(x) == '`'))) } @@ -173059,7 +173599,7 @@ func fts5_isopenquote(tls *libc.TLS, x int8) int32 { /* sqlite3.c:216503:12: */ func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:216512:19: */ var p uintptr = pIn if p != 0 { - for fts5_iswhitespace(tls, *(*int8)(unsafe.Pointer(p))) != 0 { + for fts5_iswhitespace(tls, *(*uint8)(unsafe.Pointer(p))) != 0 { p++ } } @@ -173071,7 +173611,7 @@ func fts5ConfigSkipWhitespace(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c // the string that is not a "bareword" character. func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:216525:19: */ var p uintptr = pIn - for sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(p))) != 0 { + for sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(p))) != 0 { p++ } if p == pIn { @@ -173080,13 +173620,13 @@ func fts5ConfigSkipBareword(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:2 return p } -func fts5_isdigit(tls *libc.TLS, a int8) int32 { /* sqlite3.c:216532:12: */ +func fts5_isdigit(tls *libc.TLS, a uint8) int32 { /* sqlite3.c:216532:12: */ return (libc.Bool32((int32(a) >= '0') && (int32(a) <= '9'))) } func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:216538:19: */ var p uintptr = pIn - switch int32(*(*int8)(unsafe.Pointer(p))) { + switch int32(*(*uint8)(unsafe.Pointer(p))) { case 'n': fallthrough case 'N': @@ -173101,14 +173641,14 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:21 fallthrough case 'X': p++ - if int32(*(*int8)(unsafe.Pointer(p))) == '\'' { + if int32(*(*uint8)(unsafe.Pointer(p))) == '\'' { p++ - for (((int32(*(*int8)(unsafe.Pointer(p))) >= 'a') && (int32(*(*int8)(unsafe.Pointer(p))) <= 'f')) || - ((int32(*(*int8)(unsafe.Pointer(p))) >= 'A') && (int32(*(*int8)(unsafe.Pointer(p))) <= 'F'))) || - ((int32(*(*int8)(unsafe.Pointer(p))) >= '0') && (int32(*(*int8)(unsafe.Pointer(p))) <= '9')) { + for (((int32(*(*uint8)(unsafe.Pointer(p))) >= 'a') && (int32(*(*uint8)(unsafe.Pointer(p))) <= 'f')) || + ((int32(*(*uint8)(unsafe.Pointer(p))) >= 'A') && (int32(*(*uint8)(unsafe.Pointer(p))) <= 'F'))) || + ((int32(*(*uint8)(unsafe.Pointer(p))) >= '0') && (int32(*(*uint8)(unsafe.Pointer(p))) <= '9')) { p++ } - if (int32(*(*int8)(unsafe.Pointer(p))) == '\'') && (0 == (((int32(p) - int32(pIn)) / 1) % 2)) { + if (int32(*(*uint8)(unsafe.Pointer(p))) == '\'') && (0 == (((int32(p) - int32(pIn)) / 1) % 2)) { p++ } else { p = uintptr(0) @@ -173121,14 +173661,14 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:21 case '\'': p++ for p != 0 { - if int32(*(*int8)(unsafe.Pointer(p))) == '\'' { + if int32(*(*uint8)(unsafe.Pointer(p))) == '\'' { p++ - if int32(*(*int8)(unsafe.Pointer(p))) != '\'' { + if int32(*(*uint8)(unsafe.Pointer(p))) != '\'' { break } } p++ - if int32(*(*int8)(unsafe.Pointer(p))) == 0 { + if int32(*(*uint8)(unsafe.Pointer(p))) == 0 { p = uintptr(0) } } @@ -173136,19 +173676,19 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:21 default: // maybe a number - if (int32(*(*int8)(unsafe.Pointer(p))) == '+') || (int32(*(*int8)(unsafe.Pointer(p))) == '-') { + if (int32(*(*uint8)(unsafe.Pointer(p))) == '+') || (int32(*(*uint8)(unsafe.Pointer(p))) == '-') { p++ } - for fts5_isdigit(tls, *(*int8)(unsafe.Pointer(p))) != 0 { + for fts5_isdigit(tls, *(*uint8)(unsafe.Pointer(p))) != 0 { p++ } // At this point, if the literal was an integer, the parse is // finished. Or, if it is a floating point value, it may continue // with either a decimal point or an 'E' character. - if (int32(*(*int8)(unsafe.Pointer(p))) == '.') && (fts5_isdigit(tls, *(*int8)(unsafe.Pointer(p + 1))) != 0) { + if (int32(*(*uint8)(unsafe.Pointer(p))) == '.') && (fts5_isdigit(tls, *(*uint8)(unsafe.Pointer(p + 1))) != 0) { p += uintptr(2) - for fts5_isdigit(tls, *(*int8)(unsafe.Pointer(p))) != 0 { + for fts5_isdigit(tls, *(*uint8)(unsafe.Pointer(p))) != 0 { p++ } } @@ -173174,20 +173714,20 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:21 // found, -1 is returned. If -1 is returned, the buffer is left in an // undefined state. func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:216614:12: */ - var q int8 + var q uint8 var iIn int32 = 1 var iOut int32 = 0 - q = *(*int8)(unsafe.Pointer(z)) + q = *(*uint8)(unsafe.Pointer(z)) // Set stack variable q to the close-quote character if int32(q) == '[' { - q = int8(']') + q = uint8(']') } - for *(*int8)(unsafe.Pointer(z + uintptr(iIn))) != 0 { - if int32(*(*int8)(unsafe.Pointer(z + uintptr(iIn)))) == int32(q) { - if int32(*(*int8)(unsafe.Pointer(z + uintptr((iIn + 1))))) != int32(q) { + for *(*uint8)(unsafe.Pointer(z + uintptr(iIn))) != 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(iIn)))) == int32(q) { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr((iIn + 1))))) != int32(q) { // Character iIn was the close quote. iIn++ break @@ -173196,14 +173736,14 @@ func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:216614:12: */ // the input cursor past both and copy a single quote character // to the output buffer. iIn = iIn + (2) - *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&iOut, 1)))) = q + *(*uint8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&iOut, 1)))) = q } } else { - *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&iOut, 1)))) = *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&iIn, 1)))) + *(*uint8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&iOut, 1)))) = *(*uint8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&iIn, 1)))) } } - *(*int8)(unsafe.Pointer(z + uintptr(iOut))) = int8(0) + *(*uint8)(unsafe.Pointer(z + uintptr(iOut))) = uint8(0) return iIn } @@ -173219,9 +173759,9 @@ func fts5Dequote(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:216614:12: */ // [pqr] becomes pqr // `mno` becomes mno func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:216659:13: */ - var quote int8 // Quote character (if any ) + var quote uint8 // Quote character (if any ) - quote = *(*int8)(unsafe.Pointer(z)) + quote = *(*uint8)(unsafe.Pointer(z)) if (((int32(quote) == '[') || (int32(quote) == '\'')) || (int32(quote) == '"')) || (int32(quote) == '`') { fts5Dequote(tls, z) } @@ -173283,18 +173823,18 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm for 1 != 0 { var nPre int32 = 0 - for int32(*(*int8)(unsafe.Pointer(p))) == ' ' { + for int32(*(*uint8)(unsafe.Pointer(p))) == ' ' { p++ } - if (bFirst == 0) && (int32(*(*int8)(unsafe.Pointer(p))) == ',') { + if (bFirst == 0) && (int32(*(*uint8)(unsafe.Pointer(p))) == ',') { p++ - for int32(*(*int8)(unsafe.Pointer(p))) == ' ' { + for int32(*(*uint8)(unsafe.Pointer(p))) == ' ' { p++ } - } else if int32(*(*int8)(unsafe.Pointer(p))) == 0 { + } else if int32(*(*uint8)(unsafe.Pointer(p))) == 0 { break } - if (int32(*(*int8)(unsafe.Pointer(p))) < '0') || (int32(*(*int8)(unsafe.Pointer(p))) > '9') { + if (int32(*(*uint8)(unsafe.Pointer(p))) < '0') || (int32(*(*uint8)(unsafe.Pointer(p))) > '9') { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32076 /* "malformed prefix..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break @@ -173307,8 +173847,8 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm break } - for ((int32(*(*int8)(unsafe.Pointer(p))) >= '0') && (int32(*(*int8)(unsafe.Pointer(p))) <= '9')) && (nPre < 1000) { - nPre = ((nPre * 10) + (int32(*(*int8)(unsafe.Pointer(p))) - '0')) + for ((int32(*(*uint8)(unsafe.Pointer(p))) >= '0') && (int32(*(*uint8)(unsafe.Pointer(p))) <= '9')) && (nPre < 1000) { + nPre = ((nPre * 10) + (int32(*(*uint8)(unsafe.Pointer(p))) - '0')) p++ } @@ -173338,9 +173878,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32186 /* "multiple tokeniz..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { - for nArg = int64(0); (p != 0) && (*(*int8)(unsafe.Pointer(p)) != 0); nArg++ { + for nArg = int64(0); (p != 0) && (*(*uint8)(unsafe.Pointer(p)) != 0); nArg++ { var p2 uintptr = fts5ConfigSkipWhitespace(tls, p) - if int32(*(*int8)(unsafe.Pointer(p2))) == '\'' { + if int32(*(*uint8)(unsafe.Pointer(p2))) == '\'' { p = fts5ConfigSkipLiteral(tls, p2) } else { p = fts5ConfigSkipBareword(tls, p2) @@ -173374,7 +173914,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32261 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { - if *(*int8)(unsafe.Pointer(zArg)) != 0 { + if *(*uint8)(unsafe.Pointer(zArg)) != 0 { (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_EXTERNAL (*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40 /* &rc */, ts+32293 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { @@ -173395,11 +173935,11 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } if Xsqlite3_strnicmp(tls, ts+32351 /* "columnsize" */, zCmd, nCmd) == 0 { - if ((int32(*(*int8)(unsafe.Pointer(zArg))) != '0') && (int32(*(*int8)(unsafe.Pointer(zArg))) != '1')) || (int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0) { + if ((int32(*(*uint8)(unsafe.Pointer(zArg))) != '0') && (int32(*(*uint8)(unsafe.Pointer(zArg))) != '1')) || (int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != 0) { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32362 /* "malformed column..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { - (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = (libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')) + (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = (libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zArg))) == '1')) } return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } @@ -173456,14 +173996,14 @@ func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM } else { libc.Xmemcpy(tls, zOut, zIn, (Size_t(nIn + int64(1)))) - if fts5_isopenquote(tls, *(*int8)(unsafe.Pointer(zOut))) != 0 { + if fts5_isopenquote(tls, *(*uint8)(unsafe.Pointer(zOut))) != 0 { var ii int32 = fts5Dequote(tls, zOut) zRet = (zIn + uintptr(ii)) *(*int32)(unsafe.Pointer(pbQuoted)) = 1 } else { zRet = fts5ConfigSkipBareword(tls, zIn) if zRet != 0 { - *(*int8)(unsafe.Pointer(zOut + uintptr(((int32(zRet) - int32(zIn)) / 1)))) = int8(0) + *(*uint8)(unsafe.Pointer(zOut + uintptr(((int32(zRet) - int32(zIn)) / 1)))) = uint8(0) } } } @@ -173577,7 +174117,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int z = fts5ConfigGobbleWord(tls, bp+40 /* &rc */, zOrig, bp+44 /* &zOne */, bp+48 /* &bMustBeCol */) z = fts5ConfigSkipWhitespace(tls, z) - if (z != 0) && (int32(*(*int8)(unsafe.Pointer(z))) == '=') { + if (z != 0) && (int32(*(*uint8)(unsafe.Pointer(z))) == '=') { bOption = 1 z++ if *(*int32)(unsafe.Pointer(bp + 48 /* bMustBeCol */)) != 0 { @@ -173585,11 +174125,11 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int } } z = fts5ConfigSkipWhitespace(tls, z) - if (z != 0) && (*(*int8)(unsafe.Pointer(z)) != 0) { + if (z != 0) && (*(*uint8)(unsafe.Pointer(z)) != 0) { // var bDummy int32 at bp+56, 4 z = fts5ConfigGobbleWord(tls, bp+40 /* &rc */, z, bp+52 /* &zTwo */, bp+56 /* &bDummy */) - if (z != 0) && (*(*int8)(unsafe.Pointer(z)) != 0) { + if (z != 0) && (*(*uint8)(unsafe.Pointer(z)) != 0) { z = uintptr(0) } } @@ -173661,7 +174201,7 @@ func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:217109 if pConfig != 0 { var i int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi + 4 /* &.xDelete */))))(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_tokenizer)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi)).FxDelete})).f(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok) } Xsqlite3_free(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb) Xsqlite3_free(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName) @@ -173736,7 +174276,9 @@ func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uint if pText == uintptr(0) { return SQLITE_OK } - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi + 8 /* &.xTokenize */))))(tls, + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_tokenizer)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi)).FxTokenize})).f(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok, pCtx, flags, pText, nText, xToken) } @@ -173751,10 +174293,10 @@ func fts5ConfigSkipArgs(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:21720 p = fts5ConfigSkipWhitespace(tls, p) p = fts5ConfigSkipLiteral(tls, p) p = fts5ConfigSkipWhitespace(tls, p) - if (p == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(p))) == ')') { + if (p == uintptr(0)) || (int32(*(*uint8)(unsafe.Pointer(p))) == ')') { break } - if int32(*(*int8)(unsafe.Pointer(p))) != ',' { + if int32(*(*uint8)(unsafe.Pointer(p))) != ',' { p = uintptr(0) break } @@ -173802,7 +174344,7 @@ func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRa if *(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK { p = fts5ConfigSkipWhitespace(tls, p) - if int32(*(*int8)(unsafe.Pointer(p))) != '(' { + if int32(*(*uint8)(unsafe.Pointer(p))) != '(' { *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_ERROR } p++ @@ -173811,7 +174353,7 @@ func sqlite3Fts5ConfigParseRank(tls *libc.TLS, zIn uintptr, pzRank uintptr, pzRa var pArgs uintptr p = fts5ConfigSkipWhitespace(tls, p) pArgs = p - if int32(*(*int8)(unsafe.Pointer(p))) != ')' { + if int32(*(*uint8)(unsafe.Pointer(p))) != ')' { p = fts5ConfigSkipArgs(tls, p) if p == uintptr(0) { *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_ERROR @@ -173994,12 +174536,12 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 // All token types in the generated fts5parse.h file are greater than 0. type Fts5ExprTerm1 = struct { - FbPrefix U8 - FbFirst U8 - _ [2]byte - FzTerm uintptr - FpIter uintptr - FpSynonym uintptr + FbPrefix U8 + FbFirst U8 + F__ccgo_pad1 [2]byte + FzTerm uintptr + FpIter uintptr + FpSynonym uintptr } /* sqlite3.c:213118:9 */ // 2014 May 31 @@ -174032,7 +174574,7 @@ func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintp _ = ap } -func fts5ExprIsspace(tls *libc.TLS, t int8) int32 { /* sqlite3.c:217576:12: */ +func fts5ExprIsspace(tls *libc.TLS, t uint8) int32 { /* sqlite3.c:217576:12: */ return (libc.Bool32((((int32(t) == ' ') || (int32(t) == '\t')) || (int32(t) == '\n')) || (int32(t) == '\r'))) } @@ -174045,13 +174587,13 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) var tok int32 // Skip past any whitespace - for fts5ExprIsspace(tls, *(*int8)(unsafe.Pointer(z))) != 0 { + for fts5ExprIsspace(tls, *(*uint8)(unsafe.Pointer(z))) != 0 { z++ } (*Fts5Token)(unsafe.Pointer(pToken)).Fp = z (*Fts5Token)(unsafe.Pointer(pToken)).Fn = 1 - switch int32(*(*int8)(unsafe.Pointer(z))) { + switch int32(*(*uint8)(unsafe.Pointer(z))) { case '(': tok = FTS5_LP break @@ -174092,13 +174634,13 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) tok = FTS5_STRING for z2 = (z + 1); 1 != 0; z2++ { - if int32(*(*int8)(unsafe.Pointer(z2))) == '"' { + if int32(*(*uint8)(unsafe.Pointer(z2))) == '"' { z2++ - if int32(*(*int8)(unsafe.Pointer(z2))) != '"' { + if int32(*(*uint8)(unsafe.Pointer(z2))) != '"' { break } } - if int32(*(*int8)(unsafe.Pointer(z2))) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z2))) == 0 { sqlite3Fts5ParseError(tls, pParse, ts+32823 /* "unterminated str..." */, 0) return FTS5_EOF } @@ -174111,12 +174653,12 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) default: { var z2 uintptr - if sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z))) == 0 { + if sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(z))) == 0 { sqlite3Fts5ParseError(tls, pParse, ts+32843 /* "fts5: syntax err..." */, libc.VaList(bp, z)) return FTS5_EOF } tok = FTS5_STRING - for z2 = (z + 1); sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z2))) != 0; z2++ { + for z2 = (z + 1); sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(z2))) != 0; z2++ { } (*Fts5Token)(unsafe.Pointer(pToken)).Fn = ((int32(z2) - int32(z)) / 1) if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+32874 /* "OR" */, uint32(2)) == 0) { @@ -174234,43 +174776,43 @@ func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol in if zExpr == uintptr(0) { rc = SQLITE_NOMEM } else { - // var aSpec [3]int8 at bp, 3 + // var aSpec [3]uint8 at bp, 3 var iOut int32 = 0 var i int32 = 0 var iFirst int32 = 0 if bGlob == 0 { - *(*int8)(unsafe.Pointer(bp /* &aSpec[0] */)) = int8('_') - *(*int8)(unsafe.Pointer(bp /* &aSpec[0] */ + 1)) = int8('%') - *(*int8)(unsafe.Pointer(bp /* &aSpec[0] */ + 2)) = int8(0) + *(*uint8)(unsafe.Pointer(bp /* &aSpec[0] */)) = uint8('_') + *(*uint8)(unsafe.Pointer(bp /* &aSpec[0] */ + 1)) = uint8('%') + *(*uint8)(unsafe.Pointer(bp /* &aSpec[0] */ + 2)) = uint8(0) } else { - *(*int8)(unsafe.Pointer(bp /* &aSpec[0] */)) = int8('*') - *(*int8)(unsafe.Pointer(bp /* &aSpec[0] */ + 1)) = int8('?') - *(*int8)(unsafe.Pointer(bp /* &aSpec[0] */ + 2)) = int8('[') + *(*uint8)(unsafe.Pointer(bp /* &aSpec[0] */)) = uint8('*') + *(*uint8)(unsafe.Pointer(bp /* &aSpec[0] */ + 1)) = uint8('?') + *(*uint8)(unsafe.Pointer(bp /* &aSpec[0] */ + 2)) = uint8('[') } for I64(i) <= nText { if (((I64(i) == nText) || - (int32(*(*int8)(unsafe.Pointer(zText + uintptr(i)))) == int32(*(*int8)(unsafe.Pointer(bp /* &aSpec[0] */))))) || (int32(*(*int8)(unsafe.Pointer(zText + uintptr(i)))) == int32(*(*int8)(unsafe.Pointer(bp /* &aSpec[0] */ + 1))))) || (int32(*(*int8)(unsafe.Pointer(zText + uintptr(i)))) == int32(*(*int8)(unsafe.Pointer(bp /* &aSpec[0] */ + 2)))) { + (int32(*(*uint8)(unsafe.Pointer(zText + uintptr(i)))) == int32(*(*uint8)(unsafe.Pointer(bp /* &aSpec[0] */))))) || (int32(*(*uint8)(unsafe.Pointer(zText + uintptr(i)))) == int32(*(*uint8)(unsafe.Pointer(bp /* &aSpec[0] */ + 1))))) || (int32(*(*uint8)(unsafe.Pointer(zText + uintptr(i)))) == int32(*(*uint8)(unsafe.Pointer(bp /* &aSpec[0] */ + 2)))) { if (i - iFirst) >= 3 { var jj int32 - *(*int8)(unsafe.Pointer(zExpr + uintptr(libc.PostIncInt32(&iOut, 1)))) = int8('"') + *(*uint8)(unsafe.Pointer(zExpr + uintptr(libc.PostIncInt32(&iOut, 1)))) = uint8('"') for jj = iFirst; jj < i; jj++ { - *(*int8)(unsafe.Pointer(zExpr + uintptr(libc.PostIncInt32(&iOut, 1)))) = *(*int8)(unsafe.Pointer(zText + uintptr(jj))) - if int32(*(*int8)(unsafe.Pointer(zText + uintptr(jj)))) == '"' { - *(*int8)(unsafe.Pointer(zExpr + uintptr(libc.PostIncInt32(&iOut, 1)))) = int8('"') + *(*uint8)(unsafe.Pointer(zExpr + uintptr(libc.PostIncInt32(&iOut, 1)))) = *(*uint8)(unsafe.Pointer(zText + uintptr(jj))) + if int32(*(*uint8)(unsafe.Pointer(zText + uintptr(jj)))) == '"' { + *(*uint8)(unsafe.Pointer(zExpr + uintptr(libc.PostIncInt32(&iOut, 1)))) = uint8('"') } } - *(*int8)(unsafe.Pointer(zExpr + uintptr(libc.PostIncInt32(&iOut, 1)))) = int8('"') - *(*int8)(unsafe.Pointer(zExpr + uintptr(libc.PostIncInt32(&iOut, 1)))) = int8(' ') + *(*uint8)(unsafe.Pointer(zExpr + uintptr(libc.PostIncInt32(&iOut, 1)))) = uint8('"') + *(*uint8)(unsafe.Pointer(zExpr + uintptr(libc.PostIncInt32(&iOut, 1)))) = uint8(' ') } - if int32(*(*int8)(unsafe.Pointer(zText + uintptr(i)))) == int32(*(*int8)(unsafe.Pointer(bp /* &aSpec[0] */ + 2))) { + if int32(*(*uint8)(unsafe.Pointer(zText + uintptr(i)))) == int32(*(*uint8)(unsafe.Pointer(bp /* &aSpec[0] */ + 2))) { i = i + (2) - if int32(*(*int8)(unsafe.Pointer(zText + uintptr((i - 1))))) == '^' { + if int32(*(*uint8)(unsafe.Pointer(zText + uintptr((i - 1))))) == '^' { i++ } - for (I64(i) < nText) && (int32(*(*int8)(unsafe.Pointer(zText + uintptr(i)))) != ']') { + for (I64(i) < nText) && (int32(*(*uint8)(unsafe.Pointer(zText + uintptr(i)))) != ']') { i++ } } @@ -174286,7 +174828,7 @@ func sqlite3Fts5ExprPattern(tls *libc.TLS, pConfig uintptr, bGlob int32, iCol in iCol = (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol } } - *(*int8)(unsafe.Pointer(zExpr + uintptr(iOut))) = int8(0) + *(*uint8)(unsafe.Pointer(zExpr + uintptr(iOut))) = uint8(0) rc = sqlite3Fts5ExprNew(tls, pConfig, bAnd, iCol, zExpr, pp, (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg) } else { *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) @@ -174765,12 +175307,12 @@ __34: } type Fts5LookaheadReader1 = struct { - Fa uintptr - Fn int32 - Fi int32 - _ [4]byte - FiPos I64 - FiLookahead I64 + Fa uintptr + Fn int32 + Fi int32 + F__ccgo_pad1 [4]byte + FiPos I64 + FiLookahead I64 } /* sqlite3.c:218054:9 */ type Fts5LookaheadReader = Fts5LookaheadReader1 /* sqlite3.c:218054:36 */ @@ -174792,10 +175334,10 @@ func fts5LookaheadReaderInit(tls *libc.TLS, a uintptr, n int32, p uintptr) int32 } type Fts5NearTrimmer1 = struct { - Freader Fts5LookaheadReader - Fwriter Fts5PoslistWriter - FpOut uintptr - _ [4]byte + Freader Fts5LookaheadReader + Fwriter Fts5PoslistWriter + FpOut uintptr + F__ccgo_pad1 [4]byte } /* sqlite3.c:218084:9 */ type Fts5NearTrimmer = Fts5NearTrimmer1 /* sqlite3.c:218084:32 */ @@ -175447,7 +175989,9 @@ func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid if (*Fts5ExprNode)(unsafe.Pointer(p1)).FbEof == 0 { if ((*Fts5ExprNode)(unsafe.Pointer(p1)).FiRowid == iLast) || ((bFromValid != 0) && (fts5RowidCmp(tls, pExpr, (*Fts5ExprNode)(unsafe.Pointer(p1)).FiRowid, iFrom) < 0)) { - var rc int32 = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((p1 + 12 /* &.xNext */))))(tls, pExpr, p1, bFromValid, iFrom) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((p1))).FxNext})).f(tls, pExpr, p1, bFromValid, iFrom) if rc != SQLITE_OK { (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 return rc @@ -175475,7 +176019,9 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* var cmp int32 = fts5RowidCmp(tls, pExpr, iLast, (*Fts5ExprNode)(unsafe.Pointer(pChild)).FiRowid) if cmp > 0 { // Advance pChild until it points to iLast or laster - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((pChild + 12 /* &.xNext */))))(tls, pExpr, pChild, 1, iLast) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((pChild))).FxNext})).f(tls, pExpr, pChild, 1, iLast) if rc != SQLITE_OK { (*Fts5ExprNode)(unsafe.Pointer(pAnd)).FbNomatch = 0 return rc @@ -175510,7 +176056,9 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* } func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:218749:12: */ - var rc int32 = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((pNode + 32 /* &.apChild */))) + 12 /* &.xNext */))))(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 32 /* &.apChild */))), bFromValid, iFrom) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((pNode + 32 /* &.apChild */)))))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 32 /* &.apChild */))), bFromValid, iFrom) if rc == SQLITE_OK { rc = fts5ExprNodeTest_AND(tls, pExpr, pNode) } else { @@ -175527,14 +176075,18 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / for (rc == SQLITE_OK) && ((*Fts5ExprNode)(unsafe.Pointer(p1)).FbEof == 0) { var cmp int32 = fts5NodeCompare(tls, pExpr, p1, p2) if cmp > 0 { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((p2 + 12 /* &.xNext */))))(tls, pExpr, p2, 1, (*Fts5ExprNode)(unsafe.Pointer(p1)).FiRowid) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((p2))).FxNext})).f(tls, pExpr, p2, 1, (*Fts5ExprNode)(unsafe.Pointer(p1)).FiRowid) cmp = fts5NodeCompare(tls, pExpr, p1, p2) } if (cmp != 0) || ((*Fts5ExprNode)(unsafe.Pointer(p2)).FbNomatch != 0) { break } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((p1 + 12 /* &.xNext */))))(tls, pExpr, p1, 0, int64(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((p1))).FxNext})).f(tls, pExpr, p1, 0, int64(0)) } (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = (*Fts5ExprNode)(unsafe.Pointer(p1)).FbEof (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = (*Fts5ExprNode)(unsafe.Pointer(p1)).FbNomatch @@ -175546,7 +176098,9 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / } func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:218792:12: */ - var rc int32 = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((pNode + 32 /* &.apChild */))) + 12 /* &.xNext */))))(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 32 /* &.apChild */))), bFromValid, iFrom) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((pNode + 32 /* &.apChild */)))))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 32 /* &.apChild */))), bFromValid, iFrom) if rc == SQLITE_OK { rc = fts5ExprNodeTest_NOT(tls, pExpr, pNode) } @@ -175687,13 +176241,17 @@ func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bD if ((rc == SQLITE_OK) && (0 == (*Fts5ExprNode)(unsafe.Pointer(pRoot)).FbEof)) && (fts5RowidCmp(tls, p, (*Fts5ExprNode)(unsafe.Pointer(pRoot)).FiRowid, iFirst) < 0) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((pRoot + 12 /* &.xNext */))))(tls, p, pRoot, 1, iFirst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((pRoot))).FxNext})).f(tls, p, pRoot, 1, iFirst) } // If the iterator is not at a real match, skip forward until it is. for ((*Fts5ExprNode)(unsafe.Pointer(pRoot)).FbNomatch != 0) && (rc == SQLITE_OK) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((pRoot + 12 /* &.xNext */))))(tls, p, pRoot, 0, int64(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((pRoot))).FxNext})).f(tls, p, pRoot, 0, int64(0)) } return rc } @@ -175707,7 +176265,9 @@ func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3 var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot for ok := true; ok; ok = (*Fts5ExprNode)(unsafe.Pointer(pRoot)).FbNomatch != 0 { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((pRoot + 12 /* &.xNext */))))(tls, p, pRoot, 0, int64(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((pRoot))).FxNext})).f(tls, p, pRoot, 0, int64(0)) } if fts5RowidCmp(tls, p, (*Fts5ExprNode)(unsafe.Pointer(pRoot)).FiRowid, iLast) > 0 { @@ -176114,13 +176674,13 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p var i int32 if (*Fts5Token)(unsafe.Pointer(p)).Fn != 0 { for i = 0; i < (*Fts5Token)(unsafe.Pointer(p)).Fn; i++ { - var c int8 = *(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i))) + var c uint8 = *(*uint8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i))) if (int32(c) < '0') || (int32(c) > '9') { sqlite3Fts5ParseError(tls, pParse, ts+32886 /* "expected integer..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp)) return } - nNear = ((nNear * 10) + (int32(*(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - '0')) + nNear = ((nNear * 10) + (int32(*(*uint8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - '0')) } } else { nNear = FTS5_DEFAULT_NEARDIST @@ -177006,7 +177566,7 @@ func fts5HashAddPoslistSize(tls *libc.TLS, pHash uintptr, p uintptr, p2 uintptr) // (bByte || pToken) -> (iRowid,iCol,iPos) // // Or, if iCol is negative, then the value is a delete marker. -func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte int8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:220735:12: */ +func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iPos int32, bByte uint8, pToken uintptr, nToken int32) int32 { /* sqlite3.c:220735:12: */ var iHash uint32 var p uintptr var pPtr uintptr @@ -177019,7 +177579,7 @@ func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, iHash = fts5HashKey2(tls, (*Fts5Hash)(unsafe.Pointer(pHash)).FnSlot, U8(bByte), pToken, nToken) for p = *(*uintptr)(unsafe.Pointer((*Fts5Hash)(unsafe.Pointer(pHash)).FaSlot + uintptr(iHash)*4)); p != 0; p = (*Fts5HashEntry)(unsafe.Pointer(p)).FpHashNext { var zKey uintptr = ((p) + 1*40) - if ((int32(*(*int8)(unsafe.Pointer(zKey))) == int32(bByte)) && + if ((int32(*(*uint8)(unsafe.Pointer(zKey))) == int32(bByte)) && ((*Fts5HashEntry)(unsafe.Pointer(p)).FnKey == nToken)) && (libc.Xmemcmp(tls, (zKey+1), pToken, uint32(nToken)) == 0) { break @@ -177052,11 +177612,11 @@ func sqlite3Fts5HashWrite(tls *libc.TLS, pHash uintptr, iRowid I64, iCol int32, libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(Fts5HashEntry{}))) (*Fts5HashEntry)(unsafe.Pointer(p)).FnAlloc = int32(nByte) zKey = ((p) + 1*40) - *(*int8)(unsafe.Pointer(zKey)) = bByte + *(*uint8)(unsafe.Pointer(zKey)) = bByte libc.Xmemcpy(tls, (zKey + 1), pToken, uint32(nToken)) (*Fts5HashEntry)(unsafe.Pointer(p)).FnKey = nToken - *(*int8)(unsafe.Pointer(zKey + uintptr((nToken + 1)))) = int8(0) + *(*uint8)(unsafe.Pointer(zKey + uintptr((nToken + 1)))) = uint8(0) (*Fts5HashEntry)(unsafe.Pointer(p)).FnData = (int32((uint32((nToken + 1) + 1)) + uint32(unsafe.Sizeof(Fts5HashEntry{})))) (*Fts5HashEntry)(unsafe.Pointer(p)).FpHashNext = *(*uintptr)(unsafe.Pointer((*Fts5Hash)(unsafe.Pointer(pHash)).FaSlot + uintptr(iHash)*4)) *(*uintptr)(unsafe.Pointer((*Fts5Hash)(unsafe.Pointer(pHash)).FaSlot + uintptr(iHash)*4)) = p @@ -177185,11 +177745,11 @@ func fts5HashEntryMerge(tls *libc.TLS, pLeft uintptr, pRight uintptr) uintptr { var i int32 = 0 var zKey1 uintptr = ((p1) + 1*40) var zKey2 uintptr = ((p2) + 1*40) - for int32(*(*int8)(unsafe.Pointer(zKey1 + uintptr(i)))) == int32(*(*int8)(unsafe.Pointer(zKey2 + uintptr(i)))) { + for int32(*(*uint8)(unsafe.Pointer(zKey1 + uintptr(i)))) == int32(*(*uint8)(unsafe.Pointer(zKey2 + uintptr(i)))) { i++ } - if (int32(U8(*(*int8)(unsafe.Pointer(zKey1 + uintptr(i)))))) > (int32(U8(*(*int8)(unsafe.Pointer(zKey2 + uintptr(i)))))) { + if (int32(U8(*(*uint8)(unsafe.Pointer(zKey1 + uintptr(i)))))) > (int32(U8(*(*uint8)(unsafe.Pointer(zKey2 + uintptr(i)))))) { // p2 is smaller *(*uintptr)(unsafe.Pointer(ppOut)) = p2 ppOut = (p2 + 4 /* &.pScanNext */) @@ -177743,22 +178303,22 @@ type Fts5DlidxIter1 = struct { type Fts5DlidxIter = Fts5DlidxIter1 /* sqlite3.c:221311:30 */ type Fts5DlidxLvl1 = struct { - FpData uintptr - FiOff int32 - FbEof int32 - FiFirstOff int32 - FiLeafPgno int32 - _ [4]byte - FiRowid I64 + FpData uintptr + FiOff int32 + FbEof int32 + FiFirstOff int32 + FiLeafPgno int32 + F__ccgo_pad1 [4]byte + FiRowid I64 } /* sqlite3.c:221311:9 */ type Fts5DlidxLvl = Fts5DlidxLvl1 /* sqlite3.c:221312:29 */ type Fts5DlidxWriter1 = struct { - Fpgno int32 - FbPrevValid int32 - FiPrev I64 - Fbuf Fts5Buffer - _ [4]byte + Fpgno int32 + FbPrevValid int32 + FiPrev I64 + Fbuf Fts5Buffer + F__ccgo_pad1 [4]byte } /* sqlite3.c:221313:9 */ type Fts5DlidxWriter = Fts5DlidxWriter1 /* sqlite3.c:221313:32 */ @@ -177771,10 +178331,10 @@ type Fts5Iter1 = struct { FnSeg int32 FbRev int32 FbSkipEmpty U8 - _ [7]byte + F__ccgo_pad1 [7]byte FiSwitchRowid I64 FaFirst uintptr - _ [4]byte + F__ccgo_pad2 [4]byte FaSeg [1]Fts5SegIter } /* sqlite3.c:221314:9 */ @@ -177794,7 +178354,7 @@ type Fts5SegIter1 = struct { FiLeafPgno int32 FpLeaf uintptr FpNextLeaf uintptr - _ [4]byte + F__ccgo_pad1 [4]byte FiLeafOffset I64 FxNext uintptr FiTermLeafPgno int32 @@ -177809,18 +178369,18 @@ type Fts5SegIter1 = struct { FiRowid I64 FnPos int32 FbDel U8 - _ [3]byte + F__ccgo_pad2 [3]byte } /* sqlite3.c:221314:9 */ type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:221316:28 */ type Fts5DoclistIter1 = struct { - FaEof uintptr - _ [4]byte - FiRowid I64 - FaPoslist uintptr - FnPoslist int32 - FnSize int32 - _ [4]byte + FaEof uintptr + F__ccgo_pad1 [4]byte + FiRowid I64 + FaPoslist uintptr + FnPoslist int32 + FnSize int32 + F__ccgo_pad2 [4]byte } /* sqlite3.c:221317:9 */ type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:221317:32 */ @@ -177831,25 +178391,25 @@ type Fts5SegWriter1 = struct { FbFirstRowidInDoclist U8 FbFirstRowidInPage U8 FbFirstTermInPage U8 - _ [1]byte + F__ccgo_pad1 [1]byte FnLeafWritten int32 FnEmpty int32 FnDlidx int32 FaDlidx uintptr Fbtterm Fts5Buffer FiBtPage int32 - _ [4]byte + F__ccgo_pad2 [4]byte } /* sqlite3.c:221318:9 */ type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:221318:30 */ type Fts5Structure1 = struct { FnRef int32 - _ [4]byte + F__ccgo_pad1 [4]byte FnWriteCounter U64 FnSegment int32 FnLevel int32 FaLevel [1]Fts5StructureLevel - _ [4]byte + F__ccgo_pad2 [4]byte } /* sqlite3.c:213118:9 */ type Fts5Structure = Fts5Structure1 /* sqlite3.c:221319:30 */ @@ -177869,9 +178429,9 @@ type Fts5StructureSegment1 = struct { type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:221321:37 */ type Fts5CResult1 = struct { - FiFirst U16 - FbTermEq U8 - _ [1]byte + FiFirst U16 + FbTermEq U8 + F__ccgo_pad1 [1]byte } /* sqlite3.c:221314:9 */ type Fts5CResult = Fts5CResult1 /* sqlite3.c:221431:28 */ @@ -180027,7 +180587,9 @@ func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { for ok := true; ok; ok = ((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK) { if (bMove != 0) && ((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK) { - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pIter + 32 /* &.xNext */))))(tls, p, pIter, uintptr(0)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(pIter)).FxNext})).f(tls, p, pIter, uintptr(0)) } if (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf == uintptr(0) { break @@ -180061,7 +180623,9 @@ func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int if libc.AssignInt32(&iEq, fts5MultiIterDoCompare(tls, pIter, i)) != 0 { var pSeg uintptr = ((pIter + 80 /* &.aSeg */) + uintptr(iEq)*96) - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pSeg + 32 /* &.xNext */))))(tls, p, pSeg, uintptr(0)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(pSeg)).FxNext})).f(tls, p, pSeg, uintptr(0)) i = ((*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg + iEq) } } @@ -180140,7 +180704,9 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr if (bUseFrom != 0) && ((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)))).FpDlidx != 0) { fts5SegIterNextFrom(tls, p, *(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)), iFrom) } else { - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)) + 32 /* &.xNext */))))(tls, p, *(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)), bp /* &bNewTerm */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)))).FxNext})).f(tls, p, *(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)), bp /* &bNewTerm */) } if (((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)))).FpLeaf == uintptr(0)) || (*(*int32)(unsafe.Pointer(bp /* bNewTerm */)) != 0)) || @@ -180154,7 +180720,9 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr } if (int32((*Fts5Iter)(unsafe.Pointer(pIter)).FbSkipEmpty) == 0) || ((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)))).FnPos != 0) { - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pIter + 44 /* &.xSetOutputs */))))(tls, pIter, *(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */))) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(pIter)).FxSetOutputs})).f(tls, pIter, *(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */))) return } bUseFrom = 0 @@ -180172,7 +180740,9 @@ func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintp *(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)) = ((pIter + 80 /* &.aSeg */) + uintptr(iFirst)*96) *(*int32)(unsafe.Pointer(bp /* bNewTerm */)) = 0 - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)) + 32 /* &.xNext */))))(tls, p, *(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)), bp /* &bNewTerm */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)))).FxNext})).f(tls, p, *(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)), bp /* &bNewTerm */) if (((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4 /* pSeg */)))).FpLeaf == uintptr(0)) || (*(*int32)(unsafe.Pointer(bp /* bNewTerm */)) != 0)) || (fts5MultiIterAdvanceRowid(tls, pIter, iFirst, bp+4 /* &pSeg */) != 0) { fts5MultiIterAdvanced(tls, p, pIter, iFirst, 1) @@ -180374,7 +180944,9 @@ func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChu } for 1 != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&xChunk)))(tls, p, pCtx, pChunk, nChunk) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xChunk})).f(tls, p, pCtx, pChunk, nChunk) nRem = nRem - (nChunk) fts5DataRelease(tls, pData) if nRem <= 0 { @@ -180776,7 +181348,9 @@ func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pC if libc.AssignInt32(&iEq, fts5MultiIterDoCompare(tls, pNew, iIter)) != 0 { var pSeg uintptr = ((pNew + 80 /* &.aSeg */) + uintptr(iEq)*96) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pSeg + 32 /* &.xNext */))))(tls, p, pSeg, uintptr(0)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(pSeg)).FxNext})).f(tls, p, pSeg, uintptr(0)) } fts5MultiIterAdvanced(tls, p, pNew, iEq, iIter) } @@ -180787,7 +181361,9 @@ func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pC fts5MultiIterNext(tls, p, pNew, 0, int64(0)) } else if int32((*Fts5Iter)(unsafe.Pointer(pNew)).Fbase.FbEof) == 0 { var pSeg uintptr = ((pNew + 80 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pNew)).FaFirst+1*4)).FiFirst)*96) - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pNew + 44 /* &.xSetOutputs */))))(tls, pNew, pSeg) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(pNew)).FxSetOutputs})).f(tls, pNew, pSeg) } } else { @@ -181702,9 +182278,9 @@ func fts5IndexReturn(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:225509:12: * } type Fts5FlushCtx1 = struct { - FpIdx uintptr - _ [4]byte - Fwriter Fts5SegWriter + FpIdx uintptr + F__ccgo_pad1 [4]byte + Fwriter Fts5SegWriter } /* sqlite3.c:225515:9 */ type Fts5FlushCtx = Fts5FlushCtx1 /* sqlite3.c:225515:29 */ @@ -182191,12 +182767,12 @@ func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf } type PrefixMerger1 = struct { - Fiter Fts5DoclistIter - FiPos I64 - FiOff int32 - FaPos uintptr - FpNext uintptr - _ [4]byte + Fiter Fts5DoclistIter + FiPos I64 + FiOff int32 + FaPos uintptr + FpNext uintptr + F__ccgo_pad1 [4]byte } /* sqlite3.c:225988:9 */ type PrefixMerger = PrefixMerger1 /* sqlite3.c:225988:29 */ @@ -182442,9 +183018,13 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok fts5IterSetOutputCb(tls, (p + 36 /* &.rc */), *(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */))) for ; fts5MultiIterEof(tls, p, *(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */))) == 0; fts5MultiIterNext2(tls, p, *(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)), bp+16 /* &dummy */) { var pSeg uintptr = ((*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)) + 80 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)))).FaFirst+1*4)).FiFirst)*96) - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)) + 44 /* &.xSetOutputs */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)), pSeg) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)))).FxSetOutputs})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)), pSeg) if (*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)))).Fbase.FnData != 0 { - (*(*func(*libc.TLS, uintptr, I64, uintptr, uintptr))(unsafe.Pointer(&xAppend)))(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)), bp /* &doclist */) + (*struct { + f func(*libc.TLS, uintptr, I64, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xAppend})).f(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)), bp /* &doclist */) iLastRowid = (*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)))).Fbase.FiRowid } } @@ -182458,7 +183038,9 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok var pSeg uintptr = ((*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)) + 80 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)))).FaFirst+1*4)).FiFirst)*96) var nTerm int32 = (*Fts5SegIter)(unsafe.Pointer(pSeg)).Fterm.Fn var pTerm uintptr = (*Fts5SegIter)(unsafe.Pointer(pSeg)).Fterm.Fp - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)) + 44 /* &.xSetOutputs */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)), pSeg) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)))).FxSetOutputs})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)), pSeg) if *(*int32)(unsafe.Pointer(bp + 20 /* bNewTerm */)) != 0 { if (nTerm < nToken) || (libc.Xmemcmp(tls, pToken, pTerm, uint32(nToken)) != 0) { @@ -182483,7 +183065,9 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok } } if iStore == (i1 + nMerge) { - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(&xMerge)))(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i1)*12)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xMerge})).f(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i1)*12)) for iStore = i1; iStore < (i1 + nMerge); iStore++ { sqlite3Fts5BufferZero(tls, (aBuf + uintptr(iStore)*12)) } @@ -182492,14 +183076,18 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok iLastRowid = int64(0) } - (*(*func(*libc.TLS, uintptr, I64, uintptr, uintptr))(unsafe.Pointer(&xAppend)))(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)), bp /* &doclist */) + (*struct { + f func(*libc.TLS, uintptr, I64, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xAppend})).f(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)), bp /* &doclist */) iLastRowid = (*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* p1 */)))).Fbase.FiRowid } for i = 0; i < nBuf; i = i + (nMerge) { var iFree int32 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(&xMerge)))(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i)*12)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xMerge})).f(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i)*12)) } for iFree = i; iFree < (i + nMerge); iFree++ { sqlite3Fts5BufferFree(tls, (aBuf + uintptr(iFree)*12)) @@ -182648,11 +183236,11 @@ func sqlite3Fts5IndexCharlenToBytelen(tls *libc.TLS, p uintptr, nByte int32, nCh if n >= nByte { return 0 } // Input contains fewer than nChar chars - if int32(uint8(*(*int8)(unsafe.Pointer(p + uintptr(libc.PostIncInt32(&n, 1)))))) >= 0xc0 { + if int32(uint8(*(*uint8)(unsafe.Pointer(p + uintptr(libc.PostIncInt32(&n, 1)))))) >= 0xc0 { if n >= nByte { return 0 } - for (int32(*(*int8)(unsafe.Pointer(p + uintptr(n)))) & 0xc0) == 0x80 { + for (int32(*(*uint8)(unsafe.Pointer(p + uintptr(n)))) & 0xc0) == 0x80 { n++ if n >= nByte { if (i + 1) == nChar { @@ -182672,8 +183260,8 @@ func fts5IndexCharlen(tls *libc.TLS, pIn uintptr, nIn int32) int32 { /* sqlite3. var nChar int32 = 0 var i int32 = 0 for i < nIn { - if int32(uint8(*(*int8)(unsafe.Pointer(pIn + uintptr(libc.PostIncInt32(&i, 1)))))) >= 0xc0 { - for (i < nIn) && ((int32(*(*int8)(unsafe.Pointer(pIn + uintptr(i)))) & 0xc0) == 0x80) { + if int32(uint8(*(*uint8)(unsafe.Pointer(pIn + uintptr(libc.PostIncInt32(&i, 1)))))) >= 0xc0 { + for (i < nIn) && ((int32(*(*uint8)(unsafe.Pointer(pIn + uintptr(i)))) & 0xc0) == 0x80) { i++ } } @@ -182697,14 +183285,14 @@ func sqlite3Fts5IndexWrite(tls *libc.TLS, p uintptr, iCol int32, iPos int32, pTo // Add the entry to the main terms index. rc = sqlite3Fts5HashWrite(tls, - (*Fts5Index)(unsafe.Pointer(p)).FpHash, (*Fts5Index)(unsafe.Pointer(p)).FiWriteRowid, iCol, iPos, int8('0'), pToken, nToken) + (*Fts5Index)(unsafe.Pointer(p)).FpHash, (*Fts5Index)(unsafe.Pointer(p)).FiWriteRowid, iCol, iPos, uint8('0'), pToken, nToken) for i = 0; (i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix) && (rc == SQLITE_OK); i++ { var nChar int32 = *(*int32)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FaPrefix + uintptr(i)*4)) var nByte int32 = sqlite3Fts5IndexCharlenToBytelen(tls, pToken, nToken, nChar) if nByte != 0 { rc = sqlite3Fts5HashWrite(tls, (*Fts5Index)(unsafe.Pointer(p)).FpHash, - (*Fts5Index)(unsafe.Pointer(p)).FiWriteRowid, iCol, iPos, (int8(('0' + i) + 1)), pToken, + (*Fts5Index)(unsafe.Pointer(p)).FiWriteRowid, iCol, iPos, (uint8(('0' + i) + 1)), pToken, nByte) } } @@ -182772,7 +183360,9 @@ func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int3 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pSeg uintptr = ((*(*uintptr)(unsafe.Pointer(bp + 12 /* pRet */)) + 80 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* pRet */)))).FaFirst+1*4)).FiFirst)*96) if (*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf != 0 { - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 12 /* pRet */)) + 44 /* &.xSetOutputs */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pRet */)), pSeg) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 /* pRet */)))).FxSetOutputs})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pRet */)), pSeg) } } } @@ -182941,7 +183531,7 @@ func sqlite3Fts5IndexEntryCksum(tls *libc.TLS, iRowid I64, iCol int32, iPos int3 ret = ret + ((ret << 3) + (U64('0' + iIdx))) } for i = 0; i < nTerm; i++ { - ret = ret + ((ret << 3) + U64(*(*int8)(unsafe.Pointer(pTerm + uintptr(i))))) + ret = ret + ((ret << 3) + U64(*(*uint8)(unsafe.Pointer(pTerm + uintptr(i))))) } return ret } @@ -183363,7 +183953,7 @@ type Fts5Cursor1 = struct { Fbase Sqlite3_vtab_cursor FpNext uintptr FaColumnSize uintptr - _ [4]byte + F__ccgo_pad1 [4]byte FiCsrId I64 FePlan int32 FbDesc int32 @@ -183398,13 +183988,13 @@ type Fts5FullTable1 = struct { type Fts5FullTable = Fts5FullTable1 /* sqlite3.c:227823:30 */ type Fts5Sorter1 = struct { - FpStmt uintptr - _ [4]byte - FiRowid I64 - FaPoslist uintptr - FnIdx int32 - FaIdx [1]int32 - _ [4]byte + FpStmt uintptr + F__ccgo_pad1 [4]byte + FiRowid I64 + FaPoslist uintptr + FnIdx int32 + FaIdx [1]int32 + F__ccgo_pad2 [4]byte } /* sqlite3.c:213118:9 */ type Fts5Sorter = Fts5Sorter1 /* sqlite3.c:227824:27 */ @@ -183689,18 +184279,18 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* // unusable plan. Set a prohibitively high cost. (*Sqlite3_index_info)(unsafe.Pointer(pInfo)).FestimatedCost = 1e50 - *(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr))) = int8(0) + *(*uint8)(unsafe.Pointer(idxStr + uintptr(iIdxStr))) = uint8(0) return SQLITE_OK } else { if iCol == (nCol + 1) { if bSeenRank != 0 { continue } - *(*int8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = int8('r') + *(*uint8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = uint8('r') bSeenRank = 1 } else if iCol >= 0 { bSeenMatch = 1 - *(*int8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = int8('M') + *(*uint8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = uint8('M') Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4089 /* "%d" */, libc.VaList(bp, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) @@ -183711,18 +184301,18 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } else if (*sqlite3_index_constraint)(unsafe.Pointer(p)).Fusable != 0 { if ((iCol >= 0) && (iCol < nCol)) && (fts5UsePatternMatch(tls, pConfig, p) != 0) { - *(*int8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = func() int8 { + *(*uint8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = func() uint8 { if int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == FTS5_PATTERN_LIKE { - return int8('L') + return uint8('L') } - return int8('G') + return uint8('G') }() Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4089 /* "%d" */, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&iCons, 1) } else if ((bSeenEq == 0) && (int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == SQLITE_INDEX_CONSTRAINT_EQ)) && (iCol < 0) { - *(*int8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = int8('=') + *(*uint8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = uint8('=') bSeenEq = 1 (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&iCons, 1) } @@ -183738,21 +184328,21 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* if bSeenLt != 0 { continue } - *(*int8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = int8('<') + *(*uint8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = uint8('<') (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&iCons, 1) bSeenLt = 1 } else if (op == SQLITE_INDEX_CONSTRAINT_GT) || (op == SQLITE_INDEX_CONSTRAINT_GE) { if bSeenGt != 0 { continue } - *(*int8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = int8('>') + *(*uint8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = uint8('>') (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&iCons, 1) bSeenGt = 1 } } } } - *(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr))) = int8(0) + *(*uint8)(unsafe.Pointer(idxStr + uintptr(iIdxStr))) = uint8(0) // Set idxFlags flags for the ORDER BY clause if (*Sqlite3_index_info)(unsafe.Pointer(pInfo)).FnOrderBy == 1 { @@ -183886,7 +184476,7 @@ func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:228530 for pData = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAuxdata; pData != 0; pData = pNext { pNext = (*Fts5Auxdata)(unsafe.Pointer(pData)).FpNext if (*Fts5Auxdata)(unsafe.Pointer(pData)).FxDelete != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pData + 8 /* &.xDelete */))))(tls, (*Fts5Auxdata)(unsafe.Pointer(pData)).FpPtr) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Auxdata)(unsafe.Pointer(pData)).FxDelete})).f(tls, (*Fts5Auxdata)(unsafe.Pointer(pData)).FpPtr) } Xsqlite3_free(tls, pData) } @@ -184192,10 +184782,10 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) var z uintptr = zQuery // Special query text var n int32 // Number of bytes in text at z - for int32(*(*int8)(unsafe.Pointer(z))) == ' ' { + for int32(*(*uint8)(unsafe.Pointer(z))) == ' ' { z++ } - for n = 0; (*(*int8)(unsafe.Pointer(z + uintptr(n))) != 0) && (int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) != ' '); n++ { + for n = 0; (*(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0) && (int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) != ' '); n++ { } (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan = FTS5_PLAN_SPECIAL @@ -184399,7 +184989,7 @@ __3: if !(i < nVal) { goto __5 } - switch int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1))))) { + switch int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1))))) { case 'r': goto __7 case 'M': @@ -184429,18 +185019,18 @@ __14: ; iCol = 0 __15: - iCol = ((iCol * 10) + (int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) - '0')) + iCol = ((iCol * 10) + (int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) - '0')) iIdxStr++ goto __16 __16: - if (int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) >= '0') && (int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) <= '9') { + if (int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) >= '0') && (int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) <= '9') { goto __15 } goto __17 __17: ; - if !(int32(*(*int8)(unsafe.Pointer(zText))) == '*') { + if !(int32(*(*uint8)(unsafe.Pointer(zText))) == '*') { goto __18 } // The user has issued a query of the form "MATCH '*...'". This @@ -184472,15 +185062,15 @@ __19: __9: __10: - bGlob = (libc.Bool32(int32(*(*int8)(unsafe.Pointer(idxStr + uintptr((iIdxStr - 1))))) == 'G')) + bGlob = (libc.Bool32(int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr((iIdxStr - 1))))) == 'G')) zText1 = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*4))) iCol = 0 __22: - iCol = ((iCol * 10) + (int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) - '0')) + iCol = ((iCol * 10) + (int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) - '0')) iIdxStr++ goto __23 __23: - if (int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) >= '0') && (int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) <= '9') { + if (int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) >= '0') && (int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) <= '9') { goto __22 } goto __24 @@ -185314,14 +185904,14 @@ func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintpt if pData != 0 { if (*Fts5Auxdata)(unsafe.Pointer(pData)).FxDelete != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pData + 8 /* &.xDelete */))))(tls, (*Fts5Auxdata)(unsafe.Pointer(pData)).FpPtr) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Auxdata)(unsafe.Pointer(pData)).FxDelete})).f(tls, (*Fts5Auxdata)(unsafe.Pointer(pData)).FpPtr) } } else { *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK pData = sqlite3Fts5MallocZero(tls, bp /* &rc */, int64(unsafe.Sizeof(Fts5Auxdata{}))) if pData == uintptr(0) { if xDelete != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDelete)))(tls, pPtr) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDelete})).f(tls, pPtr) } return *(*int32)(unsafe.Pointer(bp /* rc */)) } @@ -185539,7 +186129,9 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui if rc == SQLITE_OK { for rc = fts5CursorFirst(tls, pTab, *(*uintptr)(unsafe.Pointer(bp /* pNew */)), 0); (rc == SQLITE_OK) && (((*Fts5Cursor)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp /* pNew */))))).Fcsrflags & (FTS5CSR_EOF)) == 0); rc = fts5NextMethod(tls, *(*uintptr)(unsafe.Pointer(bp /* pNew */))) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xCallback)))(tls, uintptr(unsafe.Pointer(&sFts5Api)), *(*uintptr)(unsafe.Pointer(bp /* pNew */)), pUserData) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xCallback})).f(tls, uintptr(unsafe.Pointer(&sFts5Api)), *(*uintptr)(unsafe.Pointer(bp /* pNew */)), pUserData) if rc != SQLITE_OK { if rc == SQLITE_DONE { rc = SQLITE_OK @@ -185556,7 +186148,9 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:230126:13: */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = pAux - (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr))(unsafe.Pointer((pAux + 12 /* &.xFunc */))))(tls, uintptr(unsafe.Pointer(&sFts5Api)), pCsr, context, argc, argv) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Auxiliary)(unsafe.Pointer(pAux)).FxFunc})).f(tls, uintptr(unsafe.Pointer(&sFts5Api)), pCsr, context, argc, argv) (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = uintptr(0) } @@ -185890,7 +186484,9 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg rc = SQLITE_ERROR *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33997 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pMod + 8 /* &.x */ /* &.xCreate */))))(tls, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5TokenizerModule)(unsafe.Pointer(pMod)).Fx.FxCreate})).f(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pMod)).FpUserData, func() uintptr { if azArg != 0 { return (azArg + 1*4) @@ -185931,7 +186527,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:230542:13: */ for pAux = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpAux; pAux != 0; pAux = pNextAux { pNextAux = (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpNext if (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FxDestroy != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pAux + 16 /* &.xDestroy */))))(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpUserData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Auxiliary)(unsafe.Pointer(pAux)).FxDestroy})).f(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpUserData) } Xsqlite3_free(tls, pAux) } @@ -185939,7 +186535,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:230542:13: */ for pTok = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpTok; pTok != 0; pTok = pNextTok { pNextTok = (*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FpNext if (*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FxDestroy != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pTok + 20 /* &.xDestroy */))))(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FpUserData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FxDestroy})).f(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FpUserData) } Xsqlite3_free(tls, pTok) } @@ -186144,10 +186740,10 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p zBind = Xsqlite3_malloc64(tls, (uint64(1 + (nCol * 2)))) if zBind != 0 { for i = 0; i < nCol; i++ { - *(*int8)(unsafe.Pointer(zBind + uintptr((i * 2)))) = int8('?') - *(*int8)(unsafe.Pointer(zBind + uintptr(((i * 2) + 1)))) = int8(',') + *(*uint8)(unsafe.Pointer(zBind + uintptr((i * 2)))) = uint8('?') + *(*uint8)(unsafe.Pointer(zBind + uintptr(((i * 2) + 1)))) = uint8(',') } - *(*int8)(unsafe.Pointer(zBind + uintptr(((i * 2) - 1)))) = int8(0) + *(*uint8)(unsafe.Pointer(zBind + uintptr(((i * 2) - 1)))) = uint8(0) zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* &azStmt[0] */ + uintptr(eStmt)*4)), libc.VaList(bp+80, (*Fts5Config)(unsafe.Pointer(pC)).FzDb, (*Fts5Config)(unsafe.Pointer(pC)).FzName, zBind)) Xsqlite3_free(tls, zBind) } @@ -187197,9 +187793,9 @@ type AsciiTokenizer = AsciiTokenizer1 /* sqlite3.c:231914:31 */ func fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) { /* sqlite3.c:231919:13: */ var i int32 - for i = 0; *(*int8)(unsafe.Pointer(zArg + uintptr(i))) != 0; i++ { - if (int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i)))) & 0x80) == 0 { - *(*uint8)(unsafe.Pointer((p /* &.aTokenChar */) + uintptr(int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i))))))) = uint8(bTokenChars) + for i = 0; *(*uint8)(unsafe.Pointer(zArg + uintptr(i))) != 0; i++ { + if (int32(*(*uint8)(unsafe.Pointer(zArg + uintptr(i)))) & 0x80) == 0 { + *(*uint8)(unsafe.Pointer((p /* &.aTokenChar */) + uintptr(int32(*(*uint8)(unsafe.Pointer(zArg + uintptr(i))))))) = uint8(bTokenChars) } } } @@ -187248,11 +187844,11 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, func asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) { /* sqlite3.c:231983:13: */ var i int32 for i = 0; i < nByte; i++ { - var c int8 = *(*int8)(unsafe.Pointer(aIn + uintptr(i))) + var c uint8 = *(*uint8)(unsafe.Pointer(aIn + uintptr(i))) if (int32(c) >= 'A') && (int32(c) <= 'Z') { - c = int8(int32(c) + (32)) + c = uint8(int32(c) + (32)) } - *(*int8)(unsafe.Pointer(aOut + uintptr(i))) = c + *(*uint8)(unsafe.Pointer(aOut + uintptr(i))) = c } } @@ -187265,9 +187861,9 @@ func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused var rc int32 = SQLITE_OK var ie int32 var is int32 = 0 - // var aFold [64]int8 at bp, 64 + // var aFold [64]uint8 at bp, 64 - var nFold int32 = int32(unsafe.Sizeof([64]int8{})) + var nFold int32 = int32(unsafe.Sizeof([64]uint8{})) var pFold uintptr = bp /* aFold */ var a uintptr = p /* &.aTokenChar */ @@ -187277,7 +187873,7 @@ func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused var nByte int32 // Skip any leading divider characters. - for (is < nText) && (((int32(*(*int8)(unsafe.Pointer(pText + uintptr(is)))) & 0x80) == 0) && (int32(*(*uint8)(unsafe.Pointer(a + uintptr(int32(*(*int8)(unsafe.Pointer(pText + uintptr(is)))))))) == 0)) { + for (is < nText) && (((int32(*(*uint8)(unsafe.Pointer(pText + uintptr(is)))) & 0x80) == 0) && (int32(*(*uint8)(unsafe.Pointer(a + uintptr(int32(*(*uint8)(unsafe.Pointer(pText + uintptr(is)))))))) == 0)) { is++ } if is == nText { @@ -187286,7 +187882,7 @@ func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused // Count the token characters ie = (is + 1) - for (ie < nText) && (((int32(*(*int8)(unsafe.Pointer(pText + uintptr(ie)))) & 0x80) != 0) || (*(*uint8)(unsafe.Pointer(a + uintptr(int32(*(*int8)(unsafe.Pointer(pText + uintptr(ie))))))) != 0)) { + for (ie < nText) && (((int32(*(*uint8)(unsafe.Pointer(pText + uintptr(ie)))) & 0x80) != 0) || (*(*uint8)(unsafe.Pointer(a + uintptr(int32(*(*uint8)(unsafe.Pointer(pText + uintptr(ie))))))) != 0)) { ie++ } @@ -187306,7 +187902,9 @@ func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused asciiFold(tls, pFold, (pText + uintptr(is)), nByte) // Invoke the token callback - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xToken)))(tls, pCtx, 0, pFold, nByte, is, ie) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xToken})).f(tls, pCtx, 0, pFold, nByte, is, ie) is = (ie + 1) } @@ -187439,14 +188037,14 @@ func fts5UnicodeDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:232201:13: */ func unicodeSetCategories(tls *libc.TLS, p uintptr, zCat uintptr) int32 { /* sqlite3.c:232211:12: */ var z uintptr = zCat - for *(*int8)(unsafe.Pointer(z)) != 0 { - for (int32(*(*int8)(unsafe.Pointer(z))) == ' ') || (int32(*(*int8)(unsafe.Pointer(z))) == '\t') { + for *(*uint8)(unsafe.Pointer(z)) != 0 { + for (int32(*(*uint8)(unsafe.Pointer(z))) == ' ') || (int32(*(*uint8)(unsafe.Pointer(z))) == '\t') { z++ } - if (*(*int8)(unsafe.Pointer(z)) != 0) && (sqlite3Fts5UnicodeCatParse(tls, z, p+148 /* &.aCategory */) != 0) { + if (*(*uint8)(unsafe.Pointer(z)) != 0) && (sqlite3Fts5UnicodeCatParse(tls, z, p+148 /* &.aCategory */) != 0) { return SQLITE_ERROR } - for ((int32(*(*int8)(unsafe.Pointer(z))) != ' ') && (int32(*(*int8)(unsafe.Pointer(z))) != '\t')) && (int32(*(*int8)(unsafe.Pointer(z))) != 0) { + for ((int32(*(*uint8)(unsafe.Pointer(z))) != ' ') && (int32(*(*uint8)(unsafe.Pointer(z))) != '\t')) && (int32(*(*uint8)(unsafe.Pointer(z))) != 0) { z++ } } @@ -187473,7 +188071,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 (*Unicode61Tokenizer)(unsafe.Pointer(p)).FeRemoveDiacritic = FTS5_REMOVE_DIACRITICS_SIMPLE (*Unicode61Tokenizer)(unsafe.Pointer(p)).FnFold = 64 - (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaFold = Xsqlite3_malloc64(tls, (uint64(uint32((*Unicode61Tokenizer)(unsafe.Pointer(p)).FnFold) * uint32(unsafe.Sizeof(int8(0)))))) + (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaFold = Xsqlite3_malloc64(tls, (uint64(uint32((*Unicode61Tokenizer)(unsafe.Pointer(p)).FnFold) * uint32(unsafe.Sizeof(uint8(0)))))) if (*Unicode61Tokenizer)(unsafe.Pointer(p)).FaFold == uintptr(0) { rc = SQLITE_NOMEM } @@ -187492,10 +188090,10 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 for i = 0; (rc == SQLITE_OK) && (i < nArg); i = i + (2) { var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr((i+1))*4)) if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+35181 /* "remove_diacritic..." */) { - if (((int32(*(*int8)(unsafe.Pointer(zArg))) != '0') && (int32(*(*int8)(unsafe.Pointer(zArg))) != '1')) && (int32(*(*int8)(unsafe.Pointer(zArg))) != '2')) || (*(*int8)(unsafe.Pointer(zArg + 1)) != 0) { + if (((int32(*(*uint8)(unsafe.Pointer(zArg))) != '0') && (int32(*(*uint8)(unsafe.Pointer(zArg))) != '1')) && (int32(*(*uint8)(unsafe.Pointer(zArg))) != '2')) || (*(*uint8)(unsafe.Pointer(zArg + 1)) != 0) { rc = SQLITE_ERROR } else { - (*Unicode61Tokenizer)(unsafe.Pointer(p)).FeRemoveDiacritic = (int32(*(*int8)(unsafe.Pointer(zArg))) - '0') + (*Unicode61Tokenizer)(unsafe.Pointer(p)).FeRemoveDiacritic = (int32(*(*uint8)(unsafe.Pointer(zArg))) - '0') } } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+35139 /* "tokenchars" */) { @@ -187691,28 +188289,28 @@ non_ascii_tokenchar: if !(iCode < U32(0x00080)) { goto __27 } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8((U8(iCode & U32(0xFF)))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = uint8((U8(iCode & U32(0xFF)))) goto __28 __27: if !(iCode < U32(0x00800)) { goto __29 } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0xC0 + int32((U8((iCode >> 6) & U32(0x1F)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8(iCode & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0xC0 + int32((U8((iCode >> 6) & U32(0x1F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8(iCode & U32(0x3F)))))) goto __30 __29: if !(iCode < U32(0x10000)) { goto __31 } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0xE0 + int32((U8((iCode >> 12) & U32(0x0F)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8((iCode >> 6) & U32(0x3F)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8(iCode & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0xE0 + int32((U8((iCode >> 12) & U32(0x0F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8((iCode >> 6) & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8(iCode & U32(0x3F)))))) goto __32 __31: - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0xF0 + int32((U8((iCode >> 18) & U32(0x07)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8((iCode >> 12) & U32(0x3F)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8((iCode >> 6) & U32(0x3F)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8(iCode & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0xF0 + int32((U8((iCode >> 18) & U32(0x07)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8((iCode >> 12) & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8((iCode >> 6) & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8(iCode & U32(0x3F)))))) __32: ; __30: @@ -187740,10 +188338,10 @@ ascii_tokenchar: if !((int32(*(*uint8)(unsafe.Pointer(zCsr))) >= 'A') && (int32(*(*uint8)(unsafe.Pointer(zCsr))) <= 'Z')) { goto __35 } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(int32(*(*uint8)(unsafe.Pointer(zCsr))) + 32)) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(int32(*(*uint8)(unsafe.Pointer(zCsr))) + 32)) goto __36 __35: - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8(*(*uint8)(unsafe.Pointer(zCsr))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = uint8(*(*uint8)(unsafe.Pointer(zCsr))) __36: ; zCsr++ @@ -187757,7 +188355,9 @@ __15: ; // Invoke the token callback - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xToken)))(tls, pCtx, 0, aFold, ((int32(zOut) - int32(aFold)) / 1), is, ie) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xToken})).f(tls, pCtx, 0, aFold, ((int32(zOut) - int32(aFold)) / 1), is, ie) goto __1 __2: ; @@ -187782,7 +188382,7 @@ __37: type PorterTokenizer1 = struct { Ftokenizer Fts5_tokenizer FpTokenizer uintptr - FaBuf [128]int8 + FaBuf [128]uint8 } /* sqlite3.c:232428:9 */ // ************************************************************************* @@ -187799,7 +188399,7 @@ func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:232438:13: */ if pTok != 0 { var p uintptr = pTok if (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p /* &.tokenizer */ + 4 /* &.xDelete */))))(tls, (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*PorterTokenizer)(unsafe.Pointer(p)).Ftokenizer.FxDelete})).f(tls, (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer) } Xsqlite3_free(tls, p) } @@ -187823,7 +188423,9 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp pRet = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(PorterTokenizer{}))) if pRet != 0 { libc.Xmemset(tls, pRet, 0, uint32(unsafe.Sizeof(PorterTokenizer{}))) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 8 /* &.xFindTokenizer */))))(tls, pApi, zBase, bp /* &pUserdata */, (pRet /* &.tokenizer */)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_api)(unsafe.Pointer(pApi)).FxFindTokenizer})).f(tls, pApi, zBase, bp /* &pUserdata */, (pRet /* &.tokenizer */)) } else { rc = SQLITE_NOMEM } @@ -187840,7 +188442,9 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp } return uintptr(0) }() - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRet /* &.tokenizer */ /* &.xCreate */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* pUserdata */)), azArg2, nArg2, (pRet + 12 /* &.pTokenizer */)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PorterTokenizer)(unsafe.Pointer(pRet)).Ftokenizer.FxCreate})).f(tls, *(*uintptr)(unsafe.Pointer(bp /* pUserdata */)), azArg2, nArg2, (pRet + 12 /* &.pTokenizer */)) } if rc != SQLITE_OK { @@ -187869,7 +188473,7 @@ type PorterRule1 = struct { type PorterRule = PorterRule1 /* sqlite3.c:232494:27 */ -func fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) int32 { /* sqlite3.c:232529:12: */ +func fts5PorterIsVowel(tls *libc.TLS, c uint8, bYIsVowel int32) int32 { /* sqlite3.c:232529:12: */ return (libc.Bool32((((((int32(c) == 'a') || (int32(c) == 'e')) || (int32(c) == 'i')) || (int32(c) == 'o')) || (int32(c) == 'u')) || ((bYIsVowel != 0) && (int32(c) == 'y')))) } @@ -187879,14 +188483,14 @@ func fts5PorterGobbleVC(tls *libc.TLS, zStem uintptr, nStem int32, bPrevCons int // Scan for a vowel for i = 0; i < nStem; i++ { - if 0 == (libc.AssignInt32(&bCons, libc.BoolInt32(!(fts5PorterIsVowel(tls, *(*int8)(unsafe.Pointer(zStem + uintptr(i))), bCons) != 0)))) { + if 0 == (libc.AssignInt32(&bCons, libc.BoolInt32(!(fts5PorterIsVowel(tls, *(*uint8)(unsafe.Pointer(zStem + uintptr(i))), bCons) != 0)))) { break } } // Scan for a consonent for i++; i < nStem; i++ { - if libc.AssignInt32(&bCons, libc.BoolInt32(!(fts5PorterIsVowel(tls, *(*int8)(unsafe.Pointer(zStem + uintptr(i))), bCons) != 0))) != 0 { + if libc.AssignInt32(&bCons, libc.BoolInt32(!(fts5PorterIsVowel(tls, *(*uint8)(unsafe.Pointer(zStem + uintptr(i))), bCons) != 0))) != 0 { return (i + 1) } } @@ -187920,14 +188524,14 @@ func fts5Porter_MEq1(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlit // porter rule condition: (*o) func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:232577:12: */ - if ((int32(*(*int8)(unsafe.Pointer(zStem + uintptr((nStem - 1))))) == 'w') || (int32(*(*int8)(unsafe.Pointer(zStem + uintptr((nStem - 1))))) == 'x')) || (int32(*(*int8)(unsafe.Pointer(zStem + uintptr((nStem - 1))))) == 'y') { + if ((int32(*(*uint8)(unsafe.Pointer(zStem + uintptr((nStem - 1))))) == 'w') || (int32(*(*uint8)(unsafe.Pointer(zStem + uintptr((nStem - 1))))) == 'x')) || (int32(*(*uint8)(unsafe.Pointer(zStem + uintptr((nStem - 1))))) == 'y') { return 0 } else { var i int32 var mask int32 = 0 var bCons int32 = 0 for i = 0; i < nStem; i++ { - bCons = libc.BoolInt32(!(fts5PorterIsVowel(tls, *(*int8)(unsafe.Pointer(zStem + uintptr(i))), bCons) != 0)) + bCons = libc.BoolInt32(!(fts5PorterIsVowel(tls, *(*uint8)(unsafe.Pointer(zStem + uintptr(i))), bCons) != 0)) mask = ((mask << 1) + bCons) } @@ -187939,7 +188543,7 @@ func fts5Porter_Ostar(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli // porter rule condition: (m > 1 and (*S or *T)) func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:232594:12: */ - return (libc.Bool32(((int32(*(*int8)(unsafe.Pointer(zStem + uintptr((nStem - 1))))) == 's') || (int32(*(*int8)(unsafe.Pointer(zStem + uintptr((nStem - 1))))) == 't')) && + return (libc.Bool32(((int32(*(*uint8)(unsafe.Pointer(zStem + uintptr((nStem - 1))))) == 's') || (int32(*(*uint8)(unsafe.Pointer(zStem + uintptr((nStem - 1))))) == 't')) && (fts5Porter_MGt1(tls, zStem, nStem) != 0))) } @@ -187947,7 +188551,7 @@ func fts5Porter_MGt1_and_S_or_T(tls *libc.TLS, zStem uintptr, nStem int32) int32 func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqlite3.c:232601:12: */ var i int32 for i = 0; i < nStem; i++ { - if fts5PorterIsVowel(tls, *(*int8)(unsafe.Pointer(zStem + uintptr(i))), (libc.Bool32(i > 0))) != 0 { + if fts5PorterIsVowel(tls, *(*uint8)(unsafe.Pointer(zStem + uintptr(i))), (libc.Bool32(i > 0))) != 0 { return 1 } } @@ -187962,7 +188566,7 @@ func fts5Porter_Vowel(tls *libc.TLS, zStem uintptr, nStem int32) int32 { /* sqli func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:232617:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) - switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { + switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35209 /* "al" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { @@ -188095,7 +188699,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:232751:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) - switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { + switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35288 /* "at" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { @@ -188128,7 +188732,7 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:232785:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) - switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { + switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35301 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { @@ -188274,7 +188878,7 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:232932:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) - switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { + switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35440 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { @@ -188339,7 +188943,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqlite3.c:232998:12: */ var ret int32 = 0 var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) - switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { + switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'e': if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35474 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { @@ -188375,15 +188979,15 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql func fts5PorterStep1A(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) { /* sqlite3.c:233035:13: */ var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf)) - if int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 1))))) == 's' { - if int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) == 'e' { - if (((nBuf > 4) && (int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 4))))) == 's')) && (int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 3))))) == 's')) || - ((nBuf > 3) && (int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 3))))) == 'i')) { + if int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr((nBuf - 1))))) == 's' { + if int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) == 'e' { + if (((nBuf > 4) && (int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr((nBuf - 4))))) == 's')) && (int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr((nBuf - 3))))) == 's')) || + ((nBuf > 3) && (int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr((nBuf - 3))))) == 'i')) { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } else { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 1) } - } else if int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) != 's' { + } else if int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) != 's' { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 1) } } @@ -188397,7 +189001,7 @@ func fts5PorterCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nTo var aBuf uintptr // var nBuf int32 at bp, 4 - var c int8 + var c uint8 p = pCtx if !((nToken > FTS5_PORTER_MAX_TOKEN) || (nToken < 3)) { @@ -188418,9 +189022,9 @@ __1: if !(fts5PorterStep1B2(tls, aBuf, bp /* &nBuf */) == 0) { goto __3 } - c = *(*int8)(unsafe.Pointer(aBuf + uintptr((*(*int32)(unsafe.Pointer(bp /* nBuf */)) - 1)))) + c = *(*uint8)(unsafe.Pointer(aBuf + uintptr((*(*int32)(unsafe.Pointer(bp /* nBuf */)) - 1)))) if !(((((fts5PorterIsVowel(tls, c, 0) == 0) && - (int32(c) != 'l')) && (int32(c) != 's')) && (int32(c) != 'z')) && (int32(c) == int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((*(*int32)(unsafe.Pointer(bp /* nBuf */)) - 2))))))) { + (int32(c) != 'l')) && (int32(c) != 's')) && (int32(c) != 'z')) && (int32(c) == int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr((*(*int32)(unsafe.Pointer(bp /* nBuf */)) - 2))))))) { goto __4 } *(*int32)(unsafe.Pointer(bp /* nBuf */))-- @@ -188429,7 +189033,7 @@ __4: if !((fts5Porter_MEq1(tls, aBuf, *(*int32)(unsafe.Pointer(bp /* nBuf */))) != 0) && (fts5Porter_Ostar(tls, aBuf, *(*int32)(unsafe.Pointer(bp /* nBuf */))) != 0)) { goto __6 } - *(*int8)(unsafe.Pointer(aBuf + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp /* nBuf */)), 1)))) = int8('e') + *(*uint8)(unsafe.Pointer(aBuf + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp /* nBuf */)), 1)))) = uint8('e') __6: ; __5: @@ -188440,10 +189044,10 @@ __2: ; // Step 1C. - if !((int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((*(*int32)(unsafe.Pointer(bp /* nBuf */)) - 1))))) == 'y') && (fts5Porter_Vowel(tls, aBuf, (*(*int32)(unsafe.Pointer(bp /* nBuf */))-1)) != 0)) { + if !((int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr((*(*int32)(unsafe.Pointer(bp /* nBuf */)) - 1))))) == 'y') && (fts5Porter_Vowel(tls, aBuf, (*(*int32)(unsafe.Pointer(bp /* nBuf */))-1)) != 0)) { goto __7 } - *(*int8)(unsafe.Pointer(aBuf + uintptr((*(*int32)(unsafe.Pointer(bp /* nBuf */)) - 1)))) = int8('i') + *(*uint8)(unsafe.Pointer(aBuf + uintptr((*(*int32)(unsafe.Pointer(bp /* nBuf */)) - 1)))) = uint8('i') __7: ; @@ -188454,7 +189058,7 @@ __7: // Step 5a. - if !(int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((*(*int32)(unsafe.Pointer(bp /* nBuf */)) - 1))))) == 'e') { + if !(int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr((*(*int32)(unsafe.Pointer(bp /* nBuf */)) - 1))))) == 'e') { goto __8 } if !((fts5Porter_MGt1(tls, aBuf, (*(*int32)(unsafe.Pointer(bp /* nBuf */))-1)) != 0) || @@ -188468,18 +189072,22 @@ __8: ; // Step 5b. - if !((((*(*int32)(unsafe.Pointer(bp /* nBuf */)) > 1) && (int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((*(*int32)(unsafe.Pointer(bp /* nBuf */)) - 1))))) == 'l')) && - (int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((*(*int32)(unsafe.Pointer(bp /* nBuf */)) - 2))))) == 'l')) && (fts5Porter_MGt1(tls, aBuf, (*(*int32)(unsafe.Pointer(bp /* nBuf */))-1)) != 0)) { + if !((((*(*int32)(unsafe.Pointer(bp /* nBuf */)) > 1) && (int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr((*(*int32)(unsafe.Pointer(bp /* nBuf */)) - 1))))) == 'l')) && + (int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr((*(*int32)(unsafe.Pointer(bp /* nBuf */)) - 2))))) == 'l')) && (fts5Porter_MGt1(tls, aBuf, (*(*int32)(unsafe.Pointer(bp /* nBuf */))-1)) != 0)) { goto __10 } *(*int32)(unsafe.Pointer(bp /* nBuf */))-- __10: ; - return (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer((p + 4 /* &.xToken */))))(tls, (*PorterContext)(unsafe.Pointer(p)).FpCtx, tflags, aBuf, *(*int32)(unsafe.Pointer(bp /* nBuf */)), iStart, iEnd) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PorterContext)(unsafe.Pointer(p)).FxToken})).f(tls, (*PorterContext)(unsafe.Pointer(p)).FpCtx, tflags, aBuf, *(*int32)(unsafe.Pointer(bp /* nBuf */)), iStart, iEnd) pass_through: - return (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer((p + 4 /* &.xToken */))))(tls, (*PorterContext)(unsafe.Pointer(p)).FpCtx, tflags, pToken, nToken, iStart, iEnd) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PorterContext)(unsafe.Pointer(p)).FxToken})).f(tls, (*PorterContext)(unsafe.Pointer(p)).FpCtx, tflags, pToken, nToken, iStart, iEnd) } // Tokenize using the porter tokenizer. @@ -188493,7 +189101,9 @@ func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags i (*PorterContext)(unsafe.Pointer(bp /* &sCtx */)).FxToken = xToken (*PorterContext)(unsafe.Pointer(bp /* &sCtx */)).FpCtx = pCtx (*PorterContext)(unsafe.Pointer(bp /* &sCtx */)).FaBuf = p + 16 /* &.aBuf */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.tokenizer */ + 8 /* &.xTokenize */))))(tls, + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PorterTokenizer)(unsafe.Pointer(p)).Ftokenizer.FxTokenize})).f(tls, (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer, bp /* &sCtx */, flags, pText, nText, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5PorterCb}))) @@ -188527,10 +189137,10 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp for i = 0; (rc == SQLITE_OK) && (i < nArg); i = i + (2) { var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr((i+1))*4)) if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+35488 /* "case_sensitive" */) { - if ((int32(*(*int8)(unsafe.Pointer(zArg))) != '0') && (int32(*(*int8)(unsafe.Pointer(zArg))) != '1')) || (*(*int8)(unsafe.Pointer(zArg + 1)) != 0) { + if ((int32(*(*uint8)(unsafe.Pointer(zArg))) != '0') && (int32(*(*uint8)(unsafe.Pointer(zArg))) != '1')) || (*(*uint8)(unsafe.Pointer(zArg + 1)) != 0) { rc = SQLITE_ERROR } else { - (*TrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = (libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '0')) + (*TrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = (libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zArg))) == '0')) } } else { rc = SQLITE_ERROR @@ -188552,7 +189162,7 @@ func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int3 var p uintptr = pTok var rc int32 = SQLITE_OK - // var aBuf [32]int8 at bp, 32 + // var aBuf [32]uint8 at bp, 32 var zIn uintptr = pText var zEof uintptr = (zIn + uintptr(nText)) @@ -188585,19 +189195,19 @@ func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int3 } { if iCode < U32(0x00080) { - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8((U8(iCode & U32(0xFF)))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = uint8((U8(iCode & U32(0xFF)))) } else if iCode < U32(0x00800) { - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0xC0 + int32((U8((iCode >> 6) & U32(0x1F)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8(iCode & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0xC0 + int32((U8((iCode >> 6) & U32(0x1F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8(iCode & U32(0x3F)))))) } else if iCode < U32(0x10000) { - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0xE0 + int32((U8((iCode >> 12) & U32(0x0F)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8((iCode >> 6) & U32(0x3F)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8(iCode & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0xE0 + int32((U8((iCode >> 12) & U32(0x0F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8((iCode >> 6) & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8(iCode & U32(0x3F)))))) } else { - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0xF0 + int32((U8((iCode >> 18) & U32(0x07)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8((iCode >> 12) & U32(0x3F)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8((iCode >> 6) & U32(0x3F)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8(iCode & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0xF0 + int32((U8((iCode >> 18) & U32(0x07)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8((iCode >> 12) & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8((iCode >> 6) & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8(iCode & U32(0x3F)))))) } } @@ -188624,19 +189234,19 @@ func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int3 } { if iCode < U32(0x00080) { - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8((U8(iCode & U32(0xFF)))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = uint8((U8(iCode & U32(0xFF)))) } else if iCode < U32(0x00800) { - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0xC0 + int32((U8((iCode >> 6) & U32(0x1F)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8(iCode & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0xC0 + int32((U8((iCode >> 6) & U32(0x1F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8(iCode & U32(0x3F)))))) } else if iCode < U32(0x10000) { - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0xE0 + int32((U8((iCode >> 12) & U32(0x0F)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8((iCode >> 6) & U32(0x3F)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8(iCode & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0xE0 + int32((U8((iCode >> 12) & U32(0x0F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8((iCode >> 6) & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8(iCode & U32(0x3F)))))) } else { - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0xF0 + int32((U8((iCode >> 18) & U32(0x07)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8((iCode >> 12) & U32(0x3F)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8((iCode >> 6) & U32(0x3F)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8(iCode & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0xF0 + int32((U8((iCode >> 18) & U32(0x07)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8((iCode >> 12) & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8((iCode >> 6) & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8(iCode & U32(0x3F)))))) } } @@ -188659,26 +189269,28 @@ func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int3 } { if iCode < U32(0x00080) { - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8((U8(iCode & U32(0xFF)))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = uint8((U8(iCode & U32(0xFF)))) } else if iCode < U32(0x00800) { - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0xC0 + int32((U8((iCode >> 6) & U32(0x1F)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8(iCode & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0xC0 + int32((U8((iCode >> 6) & U32(0x1F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8(iCode & U32(0x3F)))))) } else if iCode < U32(0x10000) { - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0xE0 + int32((U8((iCode >> 12) & U32(0x0F)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8((iCode >> 6) & U32(0x3F)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8(iCode & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0xE0 + int32((U8((iCode >> 12) & U32(0x0F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8((iCode >> 6) & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8(iCode & U32(0x3F)))))) } else { - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0xF0 + int32((U8((iCode >> 18) & U32(0x07)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8((iCode >> 12) & U32(0x3F)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8((iCode >> 6) & U32(0x3F)))))) - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (int8(0x80 + int32((U8(iCode & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0xF0 + int32((U8((iCode >> 18) & U32(0x07)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8((iCode >> 12) & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8((iCode >> 6) & U32(0x3F)))))) + *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = (uint8(0x80 + int32((U8(iCode & U32(0x3F)))))) } } } else { break } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xToken)))(tls, pCtx, 0, bp /* &aBuf[0] */, (int32((zOut - bp /* &aBuf[0] */) / 1)), iStart, (int32(((uintptr(iStart) + zOut) - bp /* &aBuf[0] */) / 1))) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xToken})).f(tls, pCtx, 0, bp /* &aBuf[0] */, (int32((zOut - bp /* &aBuf[0] */) / 1)), iStart, (int32(((uintptr(iStart) + zOut) - bp /* &aBuf[0] */) / 1))) if rc != SQLITE_OK { break } @@ -188742,7 +189354,9 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: var i int32 // To iterate through builtin functions for i = 0; (rc == SQLITE_OK) && (i < (int32(uint32(unsafe.Sizeof([4]BuiltinTokenizer{})) / uint32(unsafe.Sizeof(BuiltinTokenizer{}))))); i++ { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 4 /* &.xCreateTokenizer */))))(tls, pApi, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_api)(unsafe.Pointer(pApi)).FxCreateTokenizer})).f(tls, pApi, (*BuiltinTokenizer)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*16)).FzName, pApi, (bp /* &aBuiltin */ + uintptr(i)*16 + 4 /* &.x */), @@ -189003,9 +189617,9 @@ var aiOff = [77]uint16{ func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int32 { /* sqlite3.c:233547:12: */ *(*U8)(unsafe.Pointer(aArray)) = U8(1) - switch int32(*(*int8)(unsafe.Pointer(zCat))) { + switch int32(*(*uint8)(unsafe.Pointer(zCat))) { case 'C': - switch int32(*(*int8)(unsafe.Pointer(zCat + 1))) { + switch int32(*(*uint8)(unsafe.Pointer(zCat + 1))) { case 'c': *(*U8)(unsafe.Pointer(aArray + 1)) = U8(1) break @@ -189034,7 +189648,7 @@ func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int break case 'L': - switch int32(*(*int8)(unsafe.Pointer(zCat + 1))) { + switch int32(*(*uint8)(unsafe.Pointer(zCat + 1))) { case 'l': *(*U8)(unsafe.Pointer(aArray + 5)) = U8(1) break @@ -189067,7 +189681,7 @@ func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int break case 'M': - switch int32(*(*int8)(unsafe.Pointer(zCat + 1))) { + switch int32(*(*uint8)(unsafe.Pointer(zCat + 1))) { case 'c': *(*U8)(unsafe.Pointer(aArray + 10)) = U8(1) break @@ -189088,7 +189702,7 @@ func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int break case 'N': - switch int32(*(*int8)(unsafe.Pointer(zCat + 1))) { + switch int32(*(*uint8)(unsafe.Pointer(zCat + 1))) { case 'd': *(*U8)(unsafe.Pointer(aArray + 13)) = U8(1) break @@ -189109,7 +189723,7 @@ func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int break case 'P': - switch int32(*(*int8)(unsafe.Pointer(zCat + 1))) { + switch int32(*(*uint8)(unsafe.Pointer(zCat + 1))) { case 'c': *(*U8)(unsafe.Pointer(aArray + 16)) = U8(1) break @@ -189146,7 +189760,7 @@ func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int break case 'S': - switch int32(*(*int8)(unsafe.Pointer(zCat + 1))) { + switch int32(*(*uint8)(unsafe.Pointer(zCat + 1))) { case 'c': *(*U8)(unsafe.Pointer(aArray + 23)) = U8(1) break @@ -189171,7 +189785,7 @@ func sqlite3Fts5UnicodeCatParse(tls *libc.TLS, zCat uintptr, aArray uintptr) int break case 'Z': - switch int32(*(*int8)(unsafe.Pointer(zCat + 1))) { + switch int32(*(*uint8)(unsafe.Pointer(zCat + 1))) { case 'l': *(*U8)(unsafe.Pointer(aArray + 27)) = U8(1) break @@ -190042,22 +190656,22 @@ type Fts5VocabTable1 = struct { type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:234461:31 */ type Fts5VocabCursor1 = struct { - Fbase Sqlite3_vtab_cursor - FpStmt uintptr - FpFts5 uintptr - FbEof int32 - FpIter uintptr - FnLeTerm int32 - FzLeTerm uintptr - FiCol int32 - FaCnt uintptr - FaDoc uintptr - Frowid I64 - Fterm Fts5Buffer - _ [4]byte - FiInstPos I64 - FiInstOff int32 - _ [4]byte + Fbase Sqlite3_vtab_cursor + FpStmt uintptr + FpFts5 uintptr + FbEof int32 + FpIter uintptr + FnLeTerm int32 + FzLeTerm uintptr + FiCol int32 + FaCnt uintptr + FaDoc uintptr + Frowid I64 + Fterm Fts5Buffer + F__ccgo_pad1 [4]byte + FiInstPos I64 + FiInstOff int32 + F__ccgo_pad2 [4]byte } /* sqlite3.c:234462:9 */ type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:234462:32 */ @@ -191621,7 +192235,7 @@ func init() { *(*func(*libc.TLS, uintptr, uintptr, Va_list))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 924 /* .str_vappendf */)) = Xsqlite3_str_vappendf // sqlite3.c:127380:3: *(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 928 /* .str_append */)) = Xsqlite3_str_append // sqlite3.c:127381:3: *(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 932 /* .str_appendall */)) = Xsqlite3_str_appendall // sqlite3.c:127382:3: - *(*func(*libc.TLS, uintptr, int32, int8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936 /* .str_appendchar */)) = Xsqlite3_str_appendchar // sqlite3.c:127383:3: + *(*func(*libc.TLS, uintptr, int32, uint8))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 936 /* .str_appendchar */)) = Xsqlite3_str_appendchar // sqlite3.c:127383:3: *(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 940 /* .str_reset */)) = Xsqlite3_str_reset // sqlite3.c:127384:3: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 944 /* .str_errcode */)) = Xsqlite3_str_errcode // sqlite3.c:127385:3: *(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&sqlite3Apis)) + 948 /* .str_length */)) = Xsqlite3_str_length // sqlite3.c:127386:3: |