aboutsummaryrefslogtreecommitdiff
path: root/internal/mptest
diff options
context:
space:
mode:
authorJan Mercl <0xjnml@gmail.com>2020-07-26 22:36:18 +0200
committerJan Mercl <0xjnml@gmail.com>2020-07-26 22:36:18 +0200
commitb406626c64313ae348996c243a0a05d3f6ed2c3c (patch)
tree0eaae4fa6348b150568725e6f2ec0b4c4203b5f8 /internal/mptest
parentd8d9f40ce80062793349c0ea47520b6878312f4a (diff)
release v1.4.0-beta1v1.4.0-beta1
Diffstat (limited to 'internal/mptest')
-rw-r--r--internal/mptest/main_linux_386.go9938
-rw-r--r--internal/mptest/main_linux_amd64.go14523
2 files changed, 4507 insertions, 19954 deletions
diff --git a/internal/mptest/main_linux_386.go b/internal/mptest/main_linux_386.go
deleted file mode 100644
index 10a1654..0000000
--- a/internal/mptest/main_linux_386.go
+++ /dev/null
@@ -1,9938 +0,0 @@
-// Code generated by `gocc testdata/sqlite-src-3300100/mptest/mptest.c -o internal/mptest/main_linux_386.go -Itestdata/sqlite-amalgamation-3300100 -qbec-dot-import modernc.org/sqlite/internal/bin -qbec-static-prefix s_ -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_DQS=0 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_MAX_MMAP_SIZE=0 -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_THREADSAFE=2 -DSQLITE_USE_ALLOCA`, DO NOT EDIT.
-
-package main
-
-import (
- . "modernc.org/sqlite/internal/bin"
-)
-
-import (
- "math"
- "modernc.org/crt/v2"
- "unsafe"
-)
-
-var (
- _ *crt.TLS
- _ = math.Pi
- _ = unsafe.Sizeof(0)
-)
-
-func main() { crt.Start(Xmain) }
-
-var s__1 = [11]byte{0x5f, 0x5f, 0x62, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x31, 0x36}
-
-var s__2 = [11]byte{0x5f, 0x5f, 0x62, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x33, 0x32}
-
-var s__3 = [11]byte{0x5f, 0x5f, 0x62, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x36, 0x34}
-
-var s__4 = [18]byte{
- 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74,
- 0x79,
-}
-
-var s__5 = [18]byte{
- 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74,
- 0x79,
-}
-
-var s__6 = [18]byte{
- 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74,
- 0x79,
-}
-
-var s_g [96]byte
-
-func s_printWithPrefix(t *crt.TLS, _v1 int32, _v2 int32, _v3 int32) {
- bp := t.Alloc(32)
- defer t.Free(32)
- var _v15 int32 // %t10
- var _v16 int32 // %t11
- var _v17 int32 // %t12
- var _v18 int32 // %t13
- var _v19 int32 // %t14
- var _v20 int32 // %t15
- var _v21 int32 // %t16
- var _v22 int32 // %t17
- var _v23 int32 // %t18
- var _v24 int32 // %t19
- var _v7 int32 // %t2
- var _v25 int32 // %t20
- var _v26 int32 // %t21
- var _v28 int32 // %t23
- var _v29 int32 // %t24
- var _v30 int32 // %t25
- var _v31 int32 // %t26
- var _v32 int32 // %t27
- var _v33 int32 // %t28
- var _v34 int32 // %t29
- var _v35 int32 // %t30
- var _v37 int32 // %t32
- var _v38 int32 // %t33
- var _v39 int32 // %t34
- var _v40 int32 // %t35
- var _v41 int32 // %t36
- var _v45 int32 // %t40
- var _v46 int32 // %t41
- var _v48 int32 // %t43
- var _v49 int32 // %t44
- var _v50 int32 // %t45
- var _v51 int32 // %t46
- var _v54 int32 // %t49
- var _v10 int32 // %t5
- var _v55 int32 // %t50
- var _v56 int32 // %t51
- var _v57 int32 // %t52
- var _v59 int32 // %t54
- var _v62 int32 // %t57
- var _v63 int32 // %t58
- var _v64 int32 // %t59
- var _v11 int32 // %t6
- var _v65 int32 // %t60
- var _v67 int32 // %t62
- var _v68 int32 // %t63
- var _v69 int32 // %t64
- var _v70 int32 // %t65
- var _v71 int32 // %t66
- var _v12 int32 // %t7
- var _v13 int32 // %t8
- var _v4 = int32(bp + 24) // %v3
- var _v6 = int32(bp + 28) // %v4
- *(*int32)(unsafe.Pointer(uintptr(_v4))) = _v3
- goto l2
-l2:
- _v7 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- goto l3
-l3:
- if _v7 != 0 {
- goto l4
- }
- goto l33
-l33:
- _v13 = 0
- goto l7
-l4:
- _v10 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v11 = int32(int32(_v10) + int32(0))
- _v12 = int32(*(*int8)(unsafe.Pointer(uintptr(_v11))))
- goto l5
-l5:
- if _v12 != 0 {
- goto l6
- }
- goto l34
-l34:
- _v13 = 0
- goto l7
-l6:
- _v13 = 1
- goto l7
-l7:
- if _v13 != 0 {
- goto l8
- }
- goto l31
-l8:
- _v15 = int32(int32(_v6) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v15))) = 0
- goto l9
-l9:
- _v16 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v17 = int32(_v16 * 1)
- _v18 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v19 = int32(int32(_v18) + int32(_v17))
- _v20 = int32(*(*int8)(unsafe.Pointer(uintptr(_v19))))
- goto l10
-l10:
- if _v20 != 0 {
- goto l11
- }
- goto l35
-l35:
- _v29 = 0
- goto l14
-l11:
- _v21 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v22 = int32(_v21 * 1)
- _v23 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v24 = int32(int32(_v23) + int32(_v22))
- _v25 = int32(*(*int8)(unsafe.Pointer(uintptr(_v24))))
- _v26 = int32(int8(_v25))
- _v28 = crt.Bool32(int32(_v26) != int32(10))
- goto l12
-l12:
- if _v28 != 0 {
- goto l13
- }
- goto l36
-l36:
- _v29 = 0
- goto l14
-l13:
- _v29 = 1
- goto l14
-l14:
- goto l15
-l15:
- if _v29 != 0 {
- goto l16
- }
- goto l37
-l37:
- _v38 = 0
- goto l19
-l16:
- _v30 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v31 = int32(_v30 * 1)
- _v32 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v33 = int32(int32(_v32) + int32(_v31))
- _v34 = int32(*(*int8)(unsafe.Pointer(uintptr(_v33))))
- _v35 = int32(int8(_v34))
- _v37 = crt.Bool32(int32(_v35) != int32(13))
- goto l17
-l17:
- if _v37 != 0 {
- goto l18
- }
- goto l38
-l38:
- _v38 = 0
- goto l19
-l18:
- _v38 = 1
- goto l19
-l19:
- if _v38 != 0 {
- goto l20
- }
- goto l22
-l20:
- goto l21
-l21:
- _v39 = int32(int32(_v6) + int32(0))
- _v40 = *(*int32)(unsafe.Pointer(uintptr(_v39)))
- _v41 = int32(int32(_v40) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v39))) = _v41
- goto l9
-l22:
- _v45 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v46 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- *(*int32)(unsafe.Pointer(bp + 0)) = _v2
-
- *(*int32)(unsafe.Pointer(bp + 8)) = _v45
-
- *(*int32)(unsafe.Pointer(bp + 16)) = _v46
-
- _ = crt.Xfprintf(t, _v1, int32(uintptr(unsafe.Pointer(&s__8))), bp+0)
- _v48 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v49 = int32(int32(_v4) + int32(0))
- _v50 = *(*int32)(unsafe.Pointer(uintptr(_v49)))
- _v51 = int32(int32(_v50) + int32(_v48))
- *(*int32)(unsafe.Pointer(uintptr(_v49))) = _v51
- goto l23
-l23:
- _v54 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v55 = int32(int32(_v54) + int32(0))
- _v56 = int32(*(*int8)(unsafe.Pointer(uintptr(_v55))))
- _v57 = int32(int8(_v56))
- _v59 = crt.Bool32(int32(_v57) == int32(10))
- goto l24
-l24:
- if _v59 != 0 {
- goto l39
- }
- goto l25
-l39:
- _v68 = 1
- goto l28
-l25:
- _v62 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v63 = int32(int32(_v62) + int32(0))
- _v64 = int32(*(*int8)(unsafe.Pointer(uintptr(_v63))))
- _v65 = int32(int8(_v64))
- _v67 = crt.Bool32(int32(_v65) == int32(13))
- goto l26
-l26:
- if _v67 != 0 {
- goto l40
- }
- goto l27
-l40:
- _v68 = 1
- goto l28
-l27:
- _v68 = 0
- goto l28
-l28:
- if _v68 != 0 {
- goto l29
- }
- goto l30
-l29:
- _v69 = int32(int32(_v4) + int32(0))
- _v70 = *(*int32)(unsafe.Pointer(uintptr(_v69)))
- _v71 = int32(int32(_v70) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v69))) = _v71
- goto l23
-l30:
- goto l2
-l31:
- goto l32
-l32:
-}
-
-var s__7 = [16]byte{0x70, 0x72, 0x69, 0x6e, 0x74, 0x57, 0x69, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78}
-
-var s__8 = [8]byte{0x25, 0x73, 0x25, 0x2e, 0x2a, 0x73, 0x0a}
-
-func s_safe_strcmp(t *crt.TLS, _v1 int32, _v2 int32) int32 {
- var _v14 int32 // %t12
- var _v18 int32 // %t16
- var _v5 int32 // %t3
- var _v9 int32 // %t7
- _v5 = crt.Bool32(int32(_v1) == int32(_v2))
- if _v5 != 0 {
- goto l2
- }
- goto l4
-l2:
- return 0
-l4:
- _v9 = crt.Bool32(int32(_v1) == int32(0))
- if _v9 != 0 {
- goto l5
- }
- goto l7
-l5:
- return -1
-l7:
- _v14 = crt.Bool32(int32(_v2) == int32(0))
- if _v14 != 0 {
- goto l8
- }
- goto l10
-l8:
- return 1
-l10:
- _v18 = crt.Xstrcmp(t, _v1, _v2)
- return _v18
-}
-
-var s__9 = [12]byte{0x73, 0x61, 0x66, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x63, 0x6d, 0x70}
-
-func Xstrglob(t *crt.TLS, _v1 int32, _v2 int32) int32 {
- bp := t.Alloc(32)
- defer t.Free(32)
- var _v110 int32 // %t101
- var _v112 int32 // %t103
- var _v115 int32 // %t106
- var _v117 int32 // %t108
- var _v118 int32 // %t109
- var _v20 int32 // %t11
- var _v119 int32 // %t110
- var _v120 int32 // %t111
- var _v121 int32 // %t112
- var _v122 int32 // %t113
- var _v123 int32 // %t114
- var _v124 int32 // %t115
- var _v126 int32 // %t117
- var _v128 int32 // %t119
- var _v21 int32 // %t12
- var _v129 int32 // %t120
- var _v130 int32 // %t121
- var _v131 int32 // %t122
- var _v132 int32 // %t123
- var _v133 int32 // %t124
- var _v134 int32 // %t125
- var _v136 int32 // %t127
- var _v138 int32 // %t129
- var _v139 int32 // %t130
- var _v140 int32 // %t131
- var _v141 int32 // %t132
- var _v142 int32 // %t133
- var _v143 int32 // %t134
- var _v144 int32 // %t135
- var _v145 int32 // %t136
- var _v147 int32 // %t138
- var _v148 int32 // %t139
- var _v23 int32 // %t14
- var _v150 int32 // %t141
- var _v152 int32 // %t143
- var _v153 int32 // %t144
- var _v154 int32 // %t145
- var _v155 int32 // %t146
- var _v156 int32 // %t147
- var _v157 int32 // %t148
- var _v158 int32 // %t149
- var _v24 int32 // %t15
- var _v159 int32 // %t150
- var _v160 int32 // %t151
- var _v162 int32 // %t153
- var _v163 int32 // %t154
- var _v164 int32 // %t155
- var _v166 int32 // %t157
- var _v25 int32 // %t16
- var _v169 int32 // %t160
- var _v170 int32 // %t161
- var _v171 int32 // %t162
- var _v172 int32 // %t163
- var _v174 int32 // %t165
- var _v175 int32 // %t166
- var _v178 int32 // %t169
- var _v26 int32 // %t17
- var _v179 int32 // %t170
- var _v180 int32 // %t171
- var _v181 int32 // %t172
- var _v183 int32 // %t174
- var _v184 int32 // %t175
- var _v185 int32 // %t176
- var _v187 int32 // %t178
- var _v188 int32 // %t179
- var _v27 int32 // %t18
- var _v189 int32 // %t180
- var _v190 int32 // %t181
- var _v191 int32 // %t182
- var _v192 int32 // %t183
- var _v193 int32 // %t184
- var _v194 int32 // %t185
- var _v195 int32 // %t186
- var _v196 int32 // %t187
- var _v197 int32 // %t188
- var _v198 int32 // %t189
- var _v28 int32 // %t19
- var _v199 int32 // %t190
- var _v200 int32 // %t191
- var _v201 int32 // %t192
- var _v203 int32 // %t194
- var _v205 int32 // %t196
- var _v206 int32 // %t197
- var _v207 int32 // %t198
- var _v208 int32 // %t199
- var _v29 int32 // %t20
- var _v210 int32 // %t201
- var _v211 int32 // %t202
- var _v212 int32 // %t203
- var _v213 int32 // %t204
- var _v214 int32 // %t205
- var _v215 int32 // %t206
- var _v216 int32 // %t207
- var _v217 int32 // %t208
- var _v218 int32 // %t209
- var _v30 int32 // %t21
- var _v219 int32 // %t210
- var _v221 int32 // %t212
- var _v222 int32 // %t213
- var _v223 int32 // %t214
- var _v224 int32 // %t215
- var _v226 int32 // %t217
- var _v227 int32 // %t218
- var _v229 int32 // %t220
- var _v231 int32 // %t222
- var _v234 int32 // %t225
- var _v235 int32 // %t226
- var _v236 int32 // %t227
- var _v237 int32 // %t228
- var _v32 int32 // %t23
- var _v239 int32 // %t230
- var _v242 int32 // %t233
- var _v243 int32 // %t234
- var _v244 int32 // %t235
- var _v245 int32 // %t236
- var _v247 int32 // %t238
- var _v248 int32 // %t239
- var _v33 int32 // %t24
- var _v251 int32 // %t242
- var _v252 int32 // %t243
- var _v253 int32 // %t244
- var _v254 int32 // %t245
- var _v255 int32 // %t246
- var _v256 int32 // %t247
- var _v257 int32 // %t248
- var _v258 int32 // %t249
- var _v259 int32 // %t250
- var _v260 int32 // %t251
- var _v264 int32 // %t255
- var _v265 int32 // %t256
- var _v266 int32 // %t257
- var _v267 int32 // %t258
- var _v268 int32 // %t259
- var _v35 int32 // %t26
- var _v271 int32 // %t262
- var _v272 int32 // %t263
- var _v273 int32 // %t264
- var _v274 int32 // %t265
- var _v275 int32 // %t266
- var _v276 int32 // %t267
- var _v277 int32 // %t268
- var _v278 int32 // %t269
- var _v36 int32 // %t27
- var _v279 int32 // %t270
- var _v280 int32 // %t271
- var _v284 int32 // %t275
- var _v285 int32 // %t276
- var _v287 int32 // %t278
- var _v288 int32 // %t279
- var _v37 int32 // %t28
- var _v289 int32 // %t280
- var _v292 int32 // %t283
- var _v293 int32 // %t284
- var _v294 int32 // %t285
- var _v295 int32 // %t286
- var _v296 int32 // %t287
- var _v297 int32 // %t288
- var _v298 int32 // %t289
- var _v299 int32 // %t290
- var _v300 int32 // %t291
- var _v301 int32 // %t292
- var _v305 int32 // %t296
- var _v306 int32 // %t297
- var _v307 int32 // %t298
- var _v308 int32 // %t299
- var _v12 int32 // %t3
- var _v39 int32 // %t30
- var _v309 int32 // %t300
- var _v310 int32 // %t301
- var _v311 int32 // %t302
- var _v312 int32 // %t303
- var _v313 int32 // %t304
- var _v314 int32 // %t305
- var _v315 int32 // %t306
- var _v317 int32 // %t308
- var _v318 int32 // %t309
- var _v40 int32 // %t31
- var _v319 int32 // %t310
- var _v321 int32 // %t312
- var _v41 int32 // %t32
- var _v42 int32 // %t33
- var _v43 int32 // %t34
- var _v44 int32 // %t35
- var _v46 int32 // %t37
- var _v47 int32 // %t38
- var _v13 int32 // %t4
- var _v49 int32 // %t40
- var _v51 int32 // %t42
- var _v53 int32 // %t44
- var _v55 int32 // %t46
- var _v56 int32 // %t47
- var _v57 int32 // %t48
- var _v58 int32 // %t49
- var _v14 int32 // %t5
- var _v60 int32 // %t51
- var _v61 int32 // %t52
- var _v62 int32 // %t53
- var _v63 int32 // %t54
- var _v64 int32 // %t55
- var _v65 int32 // %t56
- var _v66 int32 // %t57
- var _v67 int32 // %t58
- var _v68 int32 // %t59
- var _v15 int32 // %t6
- var _v69 int32 // %t60
- var _v71 int32 // %t62
- var _v72 int32 // %t63
- var _v73 int32 // %t64
- var _v74 int32 // %t65
- var _v75 int32 // %t66
- var _v76 int32 // %t67
- var _v77 int32 // %t68
- var _v78 int32 // %t69
- var _v16 int32 // %t7
- var _v80 int32 // %t71
- var _v81 int32 // %t72
- var _v82 int32 // %t73
- var _v83 int32 // %t74
- var _v84 int32 // %t75
- var _v85 int32 // %t76
- var _v86 int32 // %t77
- var _v87 int32 // %t78
- var _v88 int32 // %t79
- var _v17 int32 // %t8
- var _v89 int32 // %t80
- var _v90 int32 // %t81
- var _v92 int32 // %t83
- var _v94 int32 // %t85
- var _v95 int32 // %t86
- var _v96 int32 // %t87
- var _v18 int32 // %t9
- var _v99 int32 // %t90
- var _v101 int32 // %t92
- var _v102 int32 // %t93
- var _v103 int32 // %t94
- var _v104 int32 // %t95
- var _v105 int32 // %t96
- var _v106 int32 // %t97
- var _v108 int32 // %t99
- var _v3 = int32(bp + 0) // %v1
- var _v5 = int32(bp + 4) // %v2
- var _v7 = int32(bp + 8) // %v3
- var _v8 = int32(bp + 12) // %v4
- var _v9 = int32(bp + 16) // %v5
- var _v10 = int32(bp + 20) // %v6
- var _v11 = int32(bp + 24) // %v7
- *(*int32)(unsafe.Pointer(uintptr(_v3))) = _v1
- *(*int32)(unsafe.Pointer(uintptr(_v5))) = _v2
- goto l2
-l2:
- _v12 = int32(int32(_v3) + int32(0))
- _v13 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v14 = int32(int32(_v13) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v12))) = _v14
- _v15 = int32(*(*int8)(unsafe.Pointer(uintptr(_v13))))
- _v16 = int32(int8(_v15))
- _v17 = int32(int32(_v7) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v17))) = _v16
- _v18 = *(*int32)(unsafe.Pointer(uintptr(_v17)))
- _v20 = crt.Bool32(int32(_v18) != int32(0))
- if _v20 != 0 {
- goto l3
- }
- goto l139
-l3:
- _v21 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v23 = crt.Bool32(int32(_v21) == int32(42))
- if _v23 != 0 {
- goto l4
- }
- goto l49
-l4:
- goto l5
-l5:
- _v24 = int32(int32(_v3) + int32(0))
- _v25 = *(*int32)(unsafe.Pointer(uintptr(_v24)))
- _v26 = int32(int32(_v25) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v24))) = _v26
- _v27 = int32(*(*int8)(unsafe.Pointer(uintptr(_v25))))
- _v28 = int32(int8(_v27))
- _v29 = int32(int32(_v7) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v29))) = _v28
- _v30 = *(*int32)(unsafe.Pointer(uintptr(_v29)))
- _v32 = crt.Bool32(int32(_v30) == int32(42))
- goto l6
-l6:
- if _v32 != 0 {
- goto l142
- }
- goto l7
-l142:
- _v36 = 1
- goto l10
-l7:
- _v33 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v35 = crt.Bool32(int32(_v33) == int32(63))
- goto l8
-l8:
- if _v35 != 0 {
- goto l143
- }
- goto l9
-l143:
- _v36 = 1
- goto l10
-l9:
- _v36 = 0
- goto l10
-l10:
- if _v36 != 0 {
- goto l11
- }
- goto l20
-l11:
- _v37 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v39 = crt.Bool32(int32(_v37) == int32(63))
- goto l12
-l12:
- if _v39 != 0 {
- goto l13
- }
- goto l144
-l144:
- _v47 = 0
- goto l16
-l13:
- _v40 = int32(int32(_v5) + int32(0))
- _v41 = *(*int32)(unsafe.Pointer(uintptr(_v40)))
- _v42 = int32(int32(_v41) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v40))) = _v42
- _v43 = int32(*(*int8)(unsafe.Pointer(uintptr(_v41))))
- _v44 = int32(int8(_v43))
- _v46 = crt.Bool32(int32(_v44) == int32(0))
- goto l14
-l14:
- if _v46 != 0 {
- goto l15
- }
- goto l145
-l145:
- _v47 = 0
- goto l16
-l15:
- _v47 = 1
- goto l16
-l16:
- if _v47 != 0 {
- goto l17
- }
- goto l19
-l17:
- return 0
-l19:
- goto l5
-l20:
- _v49 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v51 = crt.Bool32(int32(_v49) == int32(0))
- if _v51 != 0 {
- goto l21
- }
- goto l23
-l21:
- return 1
-l23:
- _v53 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v55 = crt.Bool32(int32(_v53) == int32(91))
- if _v55 != 0 {
- goto l24
- }
- goto l34
-l24:
- goto l25
-l25:
- _v56 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v57 = int32(*(*int8)(unsafe.Pointer(uintptr(_v56))))
- goto l26
-l26:
- if _v57 != 0 {
- goto l27
- }
- goto l146
-l146:
- _v63 = 0
- goto l30
-l27:
- _v58 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v60 = int32(int32(_v58) - int32(1))
- _v61 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v62 = Xstrglob(t, _v60, _v61)
- goto l28
-l28:
- if _v62 != 0 {
- goto l29
- }
- goto l147
-l147:
- _v63 = 0
- goto l30
-l29:
- _v63 = 1
- goto l30
-l30:
- if _v63 != 0 {
- goto l31
- }
- goto l32
-l31:
- _v64 = int32(int32(_v5) + int32(0))
- _v65 = *(*int32)(unsafe.Pointer(uintptr(_v64)))
- _v66 = int32(int32(_v65) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v64))) = _v66
- goto l25
-l32:
- _v67 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v68 = int32(*(*int8)(unsafe.Pointer(uintptr(_v67))))
- _v69 = int32(int8(_v68))
- _v71 = crt.Bool32(int32(_v69) != int32(0))
- return _v71
-l34:
- goto l35
-l35:
- goto l36
-l36:
- _v72 = int32(int32(_v5) + int32(0))
- _v73 = *(*int32)(unsafe.Pointer(uintptr(_v72)))
- _v74 = int32(int32(_v73) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v72))) = _v74
- _v75 = int32(*(*int8)(unsafe.Pointer(uintptr(_v73))))
- _v76 = int32(int8(_v75))
- _v77 = int32(int32(_v8) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v77))) = _v76
- _v78 = *(*int32)(unsafe.Pointer(uintptr(_v77)))
- _v80 = crt.Bool32(int32(_v78) != int32(0))
- if _v80 != 0 {
- goto l37
- }
- goto l47
-l37:
- goto l38
-l38:
- _v81 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v82 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v83 = crt.Bool32(int32(_v81) != int32(_v82))
- if _v83 != 0 {
- goto l39
- }
- goto l43
-l39:
- _v84 = int32(int32(_v5) + int32(0))
- _v85 = *(*int32)(unsafe.Pointer(uintptr(_v84)))
- _v86 = int32(int32(_v85) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v84))) = _v86
- _v87 = int32(*(*int8)(unsafe.Pointer(uintptr(_v85))))
- _v88 = int32(int8(_v87))
- _v89 = int32(int32(_v8) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v89))) = _v88
- _v90 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v92 = crt.Bool32(int32(_v90) == int32(0))
- if _v92 != 0 {
- goto l40
- }
- goto l42
-l40:
- return 0
-l42:
- goto l38
-l43:
- _v94 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v95 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v96 = Xstrglob(t, _v94, _v95)
- if _v96 != 0 {
- goto l44
- }
- goto l46
-l44:
- return 1
-l46:
- goto l36
-l47:
- return 0
-l49:
- _v99 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v101 = crt.Bool32(int32(_v99) == int32(63))
- if _v101 != 0 {
- goto l50
- }
- goto l54
-l50:
- _v102 = int32(int32(_v5) + int32(0))
- _v103 = *(*int32)(unsafe.Pointer(uintptr(_v102)))
- _v104 = int32(int32(_v103) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v102))) = _v104
- _v105 = int32(*(*int8)(unsafe.Pointer(uintptr(_v103))))
- _v106 = int32(int8(_v105))
- _v108 = crt.Bool32(int32(_v106) == int32(0))
- if _v108 != 0 {
- goto l51
- }
- goto l53
-l51:
- return 0
-l53:
- goto l137
-l54:
- _v110 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v112 = crt.Bool32(int32(_v110) == int32(91))
- if _v112 != 0 {
- goto l55
- }
- goto l108
-l55:
- *(*int32)(unsafe.Pointer(uintptr(_v11))) = 0
- _v115 = int32(int32(_v10) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v115))) = 0
- _v117 = int32(int32(_v9) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v117))) = 0
- _v118 = int32(int32(_v5) + int32(0))
- _v119 = *(*int32)(unsafe.Pointer(uintptr(_v118)))
- _v120 = int32(int32(_v119) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v118))) = _v120
- _v121 = int32(*(*int8)(unsafe.Pointer(uintptr(_v119))))
- _v122 = int32(int8(_v121))
- _v123 = int32(int32(_v7) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v123))) = _v122
- _v124 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v126 = crt.Bool32(int32(_v124) == int32(0))
- if _v126 != 0 {
- goto l56
- }
- goto l58
-l56:
- return 0
-l58:
- _v128 = int32(int32(_v3) + int32(0))
- _v129 = *(*int32)(unsafe.Pointer(uintptr(_v128)))
- _v130 = int32(int32(_v129) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v128))) = _v130
- _v131 = int32(*(*int8)(unsafe.Pointer(uintptr(_v129))))
- _v132 = int32(int8(_v131))
- _v133 = int32(int32(_v8) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v133))) = _v132
- _v134 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v136 = crt.Bool32(int32(_v134) == int32(94))
- if _v136 != 0 {
- goto l59
- }
- goto l60
-l59:
- _v138 = int32(int32(_v9) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v138))) = 1
- _v139 = int32(int32(_v3) + int32(0))
- _v140 = *(*int32)(unsafe.Pointer(uintptr(_v139)))
- _v141 = int32(int32(_v140) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v139))) = _v141
- _v142 = int32(*(*int8)(unsafe.Pointer(uintptr(_v140))))
- _v143 = int32(int8(_v142))
- _v144 = int32(int32(_v8) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v144))) = _v143
- goto l60
-l60:
- _v145 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v147 = crt.Bool32(int32(_v145) == int32(93))
- if _v147 != 0 {
- goto l61
- }
- goto l148
-l148:
- goto l64
-l61:
- _v148 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v150 = crt.Bool32(int32(_v148) == int32(93))
- if _v150 != 0 {
- goto l62
- }
- goto l63
-l62:
- _v152 = int32(int32(_v10) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v152))) = 1
- goto l63
-l63:
- _v153 = int32(int32(_v3) + int32(0))
- _v154 = *(*int32)(unsafe.Pointer(uintptr(_v153)))
- _v155 = int32(int32(_v154) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v153))) = _v155
- _v156 = int32(*(*int8)(unsafe.Pointer(uintptr(_v154))))
- _v157 = int32(int8(_v156))
- _v158 = int32(int32(_v8) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v158))) = _v157
- goto l64
-l64:
- goto l65
-l65:
- _v159 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- goto l66
-l66:
- if _v159 != 0 {
- goto l67
- }
- goto l149
-l149:
- _v163 = 0
- goto l70
-l67:
- _v160 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v162 = crt.Bool32(int32(_v160) != int32(93))
- goto l68
-l68:
- if _v162 != 0 {
- goto l69
- }
- goto l150
-l150:
- _v163 = 0
- goto l70
-l69:
- _v163 = 1
- goto l70
-l70:
- if _v163 != 0 {
- goto l71
- }
- goto l99
-l71:
- _v164 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v166 = crt.Bool32(int32(_v164) == int32(45))
- goto l72
-l72:
- if _v166 != 0 {
- goto l73
- }
- goto l151
-l151:
- _v175 = 0
- goto l76
-l73:
- _v169 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v170 = int32(int32(_v169) + int32(0))
- _v171 = int32(*(*int8)(unsafe.Pointer(uintptr(_v170))))
- _v172 = int32(int8(_v171))
- _v174 = crt.Bool32(int32(_v172) != int32(93))
- goto l74
-l74:
- if _v174 != 0 {
- goto l75
- }
- goto l152
-l152:
- _v175 = 0
- goto l76
-l75:
- _v175 = 1
- goto l76
-l76:
- goto l77
-l77:
- if _v175 != 0 {
- goto l78
- }
- goto l153
-l153:
- _v184 = 0
- goto l81
-l78:
- _v178 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v179 = int32(int32(_v178) + int32(0))
- _v180 = int32(*(*int8)(unsafe.Pointer(uintptr(_v179))))
- _v181 = int32(int8(_v180))
- _v183 = crt.Bool32(int32(_v181) != int32(0))
- goto l79
-l79:
- if _v183 != 0 {
- goto l80
- }
- goto l154
-l154:
- _v184 = 0
- goto l81
-l80:
- _v184 = 1
- goto l81
-l81:
- goto l82
-l82:
- if _v184 != 0 {
- goto l83
- }
- goto l155
-l155:
- _v188 = 0
- goto l86
-l83:
- _v185 = *(*int32)(unsafe.Pointer(uintptr(_v11)))
- _v187 = crt.Bool32(int32(_v185) > int32(0))
- goto l84
-l84:
- if _v187 != 0 {
- goto l85
- }
- goto l156
-l156:
- _v188 = 0
- goto l86
-l85:
- _v188 = 1
- goto l86
-l86:
- if _v188 != 0 {
- goto l87
- }
- goto l95
-l87:
- _v189 = int32(int32(_v3) + int32(0))
- _v190 = *(*int32)(unsafe.Pointer(uintptr(_v189)))
- _v191 = int32(int32(_v190) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v189))) = _v191
- _v192 = int32(*(*int8)(unsafe.Pointer(uintptr(_v190))))
- _v193 = int32(int8(_v192))
- _v194 = int32(int32(_v8) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v194))) = _v193
- _v195 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v196 = *(*int32)(unsafe.Pointer(uintptr(_v11)))
- _v197 = crt.Bool32(int32(_v195) >= int32(_v196))
- goto l88
-l88:
- if _v197 != 0 {
- goto l89
- }
- goto l157
-l157:
- _v201 = 0
- goto l92
-l89:
- _v198 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v199 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v200 = crt.Bool32(int32(_v198) <= int32(_v199))
- goto l90
-l90:
- if _v200 != 0 {
- goto l91
- }
- goto l158
-l158:
- _v201 = 0
- goto l92
-l91:
- _v201 = 1
- goto l92
-l92:
- if _v201 != 0 {
- goto l93
- }
- goto l94
-l93:
- _v203 = int32(int32(_v10) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v203))) = 1
- goto l94
-l94:
- _v205 = int32(int32(_v11) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v205))) = 0
- goto l98
-l95:
- _v206 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v207 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v208 = crt.Bool32(int32(_v206) == int32(_v207))
- if _v208 != 0 {
- goto l96
- }
- goto l97
-l96:
- _v210 = int32(int32(_v10) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v210))) = 1
- goto l97
-l97:
- _v211 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v212 = int32(int32(_v11) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v212))) = _v211
- goto l98
-l98:
- _v213 = int32(int32(_v3) + int32(0))
- _v214 = *(*int32)(unsafe.Pointer(uintptr(_v213)))
- _v215 = int32(int32(_v214) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v213))) = _v215
- _v216 = int32(*(*int8)(unsafe.Pointer(uintptr(_v214))))
- _v217 = int32(int8(_v216))
- _v218 = int32(int32(_v8) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v218))) = _v217
- goto l65
-l99:
- _v219 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v221 = crt.Bool32(int32(_v219) == int32(0))
- goto l100
-l100:
- if _v221 != 0 {
- goto l159
- }
- goto l101
-l159:
- _v227 = 1
- goto l104
-l101:
- _v222 = *(*int32)(unsafe.Pointer(uintptr(_v10)))
- _v223 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v224 = int32(_v222 ^ _v223)
- _v226 = crt.Bool32(int32(_v224) == int32(0))
- goto l102
-l102:
- if _v226 != 0 {
- goto l160
- }
- goto l103
-l160:
- _v227 = 1
- goto l104
-l103:
- _v227 = 0
- goto l104
-l104:
- if _v227 != 0 {
- goto l105
- }
- goto l107
-l105:
- return 0
-l107:
- goto l136
-l108:
- _v229 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v231 = crt.Bool32(int32(_v229) == int32(35))
- if _v231 != 0 {
- goto l109
- }
- goto l131
-l109:
- _v234 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v235 = int32(int32(_v234) + int32(0))
- _v236 = int32(*(*int8)(unsafe.Pointer(uintptr(_v235))))
- _v237 = int32(int8(_v236))
- _v239 = crt.Bool32(int32(_v237) == int32(45))
- goto l110
-l110:
- if _v239 != 0 {
- goto l161
- }
- goto l111
-l161:
- _v248 = 1
- goto l114
-l111:
- _v242 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v243 = int32(int32(_v242) + int32(0))
- _v244 = int32(*(*int8)(unsafe.Pointer(uintptr(_v243))))
- _v245 = int32(int8(_v244))
- _v247 = crt.Bool32(int32(_v245) == int32(43))
- goto l112
-l112:
- if _v247 != 0 {
- goto l162
- }
- goto l113
-l162:
- _v248 = 1
- goto l114
-l113:
- _v248 = 0
- goto l114
-l114:
- goto l115
-l115:
- if _v248 != 0 {
- goto l116
- }
- goto l163
-l163:
- _v265 = 0
- goto l119
-l116:
- _v251 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v252 = int32(int32(_v251) + int32(1))
- _v253 = int32(*(*int8)(unsafe.Pointer(uintptr(_v252))))
- _v254 = int32(int32(uint8(_v253)))
- _v255 = int32(_v254 * 2)
- _v256 = crt.X__ctype_b_loc(t)
- _v257 = *(*int32)(unsafe.Pointer(uintptr(_v256)))
- _v258 = int32(int32(_v257) + int32(_v255))
- _v259 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v258))))
- _v260 = int32(uint16(_v259))
- _v264 = int32(int32(_v260) & int32(2048))
- goto l117
-l117:
- if _v264 != 0 {
- goto l118
- }
- goto l164
-l164:
- _v265 = 0
- goto l119
-l118:
- _v265 = 1
- goto l119
-l119:
- if _v265 != 0 {
- goto l120
- }
- goto l121
-l120:
- _v266 = int32(int32(_v5) + int32(0))
- _v267 = *(*int32)(unsafe.Pointer(uintptr(_v266)))
- _v268 = int32(int32(_v267) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v266))) = _v268
- goto l121
-l121:
- _v271 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v272 = int32(int32(_v271) + int32(0))
- _v273 = int32(*(*int8)(unsafe.Pointer(uintptr(_v272))))
- _v274 = int32(int32(uint8(_v273)))
- _v275 = int32(_v274 * 2)
- _v276 = crt.X__ctype_b_loc(t)
- _v277 = *(*int32)(unsafe.Pointer(uintptr(_v276)))
- _v278 = int32(int32(_v277) + int32(_v275))
- _v279 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v278))))
- _v280 = int32(uint16(_v279))
- _v284 = int32(int32(_v280) & int32(2048))
- goto l122
-l122:
- if _v284 != 0 {
- goto l123
- }
- goto l165
-l165:
- _v285 = 1
- goto l124
-l123:
- _v285 = 0
- goto l124
-l124:
- if _v285 != 0 {
- goto l125
- }
- goto l127
-l125:
- return 0
-l127:
- _v287 = int32(int32(_v5) + int32(0))
- _v288 = *(*int32)(unsafe.Pointer(uintptr(_v287)))
- _v289 = int32(int32(_v288) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v287))) = _v289
- goto l128
-l128:
- _v292 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v293 = int32(int32(_v292) + int32(0))
- _v294 = int32(*(*int8)(unsafe.Pointer(uintptr(_v293))))
- _v295 = int32(int32(uint8(_v294)))
- _v296 = int32(_v295 * 2)
- _v297 = crt.X__ctype_b_loc(t)
- _v298 = *(*int32)(unsafe.Pointer(uintptr(_v297)))
- _v299 = int32(int32(_v298) + int32(_v296))
- _v300 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v299))))
- _v301 = int32(uint16(_v300))
- _v305 = int32(int32(_v301) & int32(2048))
- if _v305 != 0 {
- goto l129
- }
- goto l130
-l129:
- _v306 = int32(int32(_v5) + int32(0))
- _v307 = *(*int32)(unsafe.Pointer(uintptr(_v306)))
- _v308 = int32(int32(_v307) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v306))) = _v308
- goto l128
-l130:
- goto l135
-l131:
- _v309 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v310 = int32(int32(_v5) + int32(0))
- _v311 = *(*int32)(unsafe.Pointer(uintptr(_v310)))
- _v312 = int32(int32(_v311) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v310))) = _v312
- _v313 = int32(*(*int8)(unsafe.Pointer(uintptr(_v311))))
- _v314 = int32(int8(_v313))
- _v315 = crt.Bool32(int32(_v309) != int32(_v314))
- if _v315 != 0 {
- goto l132
- }
- goto l134
-l132:
- return 0
-l134:
- goto l135
-l135:
- goto l136
-l136:
- goto l137
-l137:
- goto l138
-l138:
- goto l2
-l139:
- _v317 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v318 = int32(*(*int8)(unsafe.Pointer(uintptr(_v317))))
- _v319 = int32(int8(_v318))
- _v321 = crt.Bool32(int32(_v319) == int32(0))
- return _v321
-}
-
-var s__10 = [8]byte{0x73, 0x74, 0x72, 0x67, 0x6c, 0x6f, 0x62}
-
-func s_maybeClose(t *crt.TLS, _v1 int32) {
- var _v3 int32 // %t2
- var _v4 int32 // %t3
- var _v6 int32 // %t5
- var _v7 int32 // %t6
- var _v8 int32 // %t7
- _v3 = *(*int32)(unsafe.Pointer(&crt.Xstdout))
- _v4 = crt.Bool32(int32(_v1) != int32(_v3))
- goto l2
-l2:
- if _v4 != 0 {
- goto l3
- }
- goto l10
-l10:
- _v8 = 0
- goto l6
-l3:
- _v6 = *(*int32)(unsafe.Pointer(&crt.Xstderr))
- _v7 = crt.Bool32(int32(_v1) != int32(_v6))
- goto l4
-l4:
- if _v7 != 0 {
- goto l5
- }
- goto l11
-l11:
- _v8 = 0
- goto l6
-l5:
- _v8 = 1
- goto l6
-l6:
- if _v8 != 0 {
- goto l7
- }
- goto l8
-l7:
- _ = crt.Xfclose(t, _v1)
- goto l8
-l8:
- goto l9
-l9:
-}
-
-var s__11 = [11]byte{0x6d, 0x61, 0x79, 0x62, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65}
-
-func s_errorMessage(t *crt.TLS, _v1 int32, args uintptr) {
- bp := t.Alloc(48)
- defer t.Free(48)
- var _v18 int32 // %t14
- var _v21 int32 // %t17
- var _v23 int32 // %t19
- var _v26 int32 // %t22
- var _v30 int32 // %t26
- var _v33 int32 // %t29
- var _v7 int32 // %t3
- var _v36 int32 // %t32
- var _v37 int32 // %t33
- var _v38 int32 // %t34
- var _v41 int32 // %t37
- var _v43 int32 // %t39
- var _v8 int32 // %t4
- var _v46 int32 // %t42
- var _v48 int32 // %t44
- var _v51 int32 // %t47
- var _v52 int32 // %t48
- var _v2 = int32(bp + 8) // %v2
- var _v3 = int32(bp + 12) // %v3
- var _v4 = int32(bp + 16) // %v4
- *(*uintptr)(unsafe.Pointer(bp + 8)) = args
- _v7 = Xsqlite3_vmprintf(t, _v1, _v2)
- _v8 = int32(int32(_v3) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v8))) = _v7
- *(*int32)(unsafe.Pointer(bp + 0)) = int32(uintptr(unsafe.Pointer(&s_g)) + 32)
-
- _ = Xsqlite3_snprintf(t, 30, _v4, int32(uintptr(unsafe.Pointer(&s__13))), bp+0)
- _v18 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 28))
- if _v18 != 0 {
- goto l2
- }
- goto l3
-l2:
- _v21 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 28))
- _v23 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- s_printWithPrefix(t, _v21, _v4, _v23)
- _v26 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 28))
- _ = crt.Xfflush(t, _v26)
- goto l3
-l3:
- _v30 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 20))
- goto l4
-l4:
- if _v30 != 0 {
- goto l5
- }
- goto l12
-l12:
- _v38 = 0
- goto l8
-l5:
- _v33 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 16))
- _v36 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _v37 = s_safe_strcmp(t, _v33, _v36)
- goto l6
-l6:
- if _v37 != 0 {
- goto l7
- }
- goto l13
-l13:
- _v38 = 0
- goto l8
-l7:
- _v38 = 1
- goto l8
-l8:
- if _v38 != 0 {
- goto l9
- }
- goto l10
-l9:
- _v41 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 20))
- _v43 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- s_printWithPrefix(t, _v41, _v4, _v43)
- _v46 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 20))
- _ = crt.Xfflush(t, _v46)
- goto l10
-l10:
- _v48 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- Xsqlite3_free(t, _v48)
- _v51 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 80))
- _v52 = int32(int32(_v51) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 80)) = _v52
- goto l11
-l11:
-}
-
-var s__12 = [13]byte{0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65}
-
-var s__13 = [11]byte{0x25, 0x73, 0x3a, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x3a, 0x20}
-
-func s_fatalError(t *crt.TLS, _v1 int32, args uintptr) {
- bp := t.Alloc(64)
- defer t.Free(64)
- var _v19 int32 // %t14
- var _v22 int32 // %t17
- var _v24 int32 // %t19
- var _v27 int32 // %t22
- var _v31 int32 // %t26
- var _v34 int32 // %t29
- var _v8 int32 // %t3
- var _v37 int32 // %t32
- var _v40 int32 // %t35
- var _v41 int32 // %t36
- var _v42 int32 // %t37
- var _v9 int32 // %t4
- var _v45 int32 // %t40
- var _v47 int32 // %t42
- var _v50 int32 // %t45
- var _v54 int32 // %t49
- var _v55 int32 // %t50
- var _v58 int32 // %t53
- var _v64 int32 // %t59
- var _v66 int32 // %t61
- var _v67 int32 // %t62
- var _v68 int32 // %t63
- var _v69 int32 // %t64
- var _v71 int32 // %t66
- var _v72 int32 // %t67
- var _v77 int32 // %t72
- var _v2 = int32(bp + 8) // %v2
- var _v3 = int32(bp + 12) // %v3
- var _v4 = int32(bp + 16) // %v4
- var _v5 = int32(bp + 48) // %v5
- *(*uintptr)(unsafe.Pointer(bp + 8)) = args
- _v8 = Xsqlite3_vmprintf(t, _v1, _v2)
- _v9 = int32(int32(_v3) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v9))) = _v8
- *(*int32)(unsafe.Pointer(bp + 0)) = int32(uintptr(unsafe.Pointer(&s_g)) + 32)
-
- _ = Xsqlite3_snprintf(t, 30, _v4, int32(uintptr(unsafe.Pointer(&s__15))), bp+0)
- _v19 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 28))
- if _v19 != 0 {
- goto l2
- }
- goto l3
-l2:
- _v22 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 28))
- _v24 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- s_printWithPrefix(t, _v22, _v4, _v24)
- _v27 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 28))
- _ = crt.Xfflush(t, _v27)
- _v31 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 28))
- s_maybeClose(t, _v31)
- goto l3
-l3:
- _v34 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 20))
- goto l4
-l4:
- if _v34 != 0 {
- goto l5
- }
- goto l22
-l22:
- _v42 = 0
- goto l8
-l5:
- _v37 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 16))
- _v40 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _v41 = s_safe_strcmp(t, _v37, _v40)
- goto l6
-l6:
- if _v41 != 0 {
- goto l7
- }
- goto l23
-l23:
- _v42 = 0
- goto l8
-l7:
- _v42 = 1
- goto l8
-l8:
- if _v42 != 0 {
- goto l9
- }
- goto l10
-l9:
- _v45 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 20))
- _v47 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- s_printWithPrefix(t, _v45, _v4, _v47)
- _v50 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 20))
- _ = crt.Xfflush(t, _v50)
- _v54 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 20))
- s_maybeClose(t, _v54)
- goto l10
-l10:
- _v55 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- Xsqlite3_free(t, _v55)
- _v58 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 12))
- if _v58 != 0 {
- goto l11
- }
- goto l20
-l11:
- *(*int32)(unsafe.Pointer(uintptr(_v5))) = 0
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 88)) = 0
- goto l12
-l12:
-
- _v64 = s_trySql(t, int32(uintptr(unsafe.Pointer(&s__16))), 0)
- _v66 = crt.Bool32(int32(_v64) == int32(5))
- goto l13
-l13:
- if _v66 != 0 {
- goto l14
- }
- goto l24
-l24:
- _v72 = 0
- goto l17
-l14:
- _v67 = int32(int32(_v5) + int32(0))
- _v68 = *(*int32)(unsafe.Pointer(uintptr(_v67)))
- _v69 = int32(int32(_v68) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v67))) = _v69
- _v71 = crt.Bool32(int32(_v68) < int32(100))
- goto l15
-l15:
- if _v71 != 0 {
- goto l16
- }
- goto l25
-l25:
- _v72 = 0
- goto l17
-l16:
- _v72 = 1
- goto l17
-l17:
- if _v72 != 0 {
- goto l18
- }
- goto l19
-l18:
- _ = Xsqlite3_sleep(t, 10)
- goto l12
-l19:
- goto l20
-l20:
- _v77 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 12))
- _ = Xsqlite3_close(t, _v77)
- crt.Xexit(t, 1)
- goto l21
-l21:
-}
-
-var s__14 = [11]byte{0x66, 0x61, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72}
-
-var s__15 = [11]byte{0x25, 0x73, 0x3a, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x3a, 0x20}
-
-var s__16 = [30]byte{
- 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x53, 0x45,
- 0x54, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x48, 0x61, 0x6c, 0x74, 0x3d, 0x31, 0x3b,
-}
-
-func s_logMessage(t *crt.TLS, _v1 int32, args uintptr) {
- bp := t.Alloc(48)
- defer t.Free(48)
- var _v18 int32 // %t14
- var _v21 int32 // %t17
- var _v23 int32 // %t19
- var _v26 int32 // %t22
- var _v28 int32 // %t24
- var _v7 int32 // %t3
- var _v8 int32 // %t4
- var _v2 = int32(bp + 8) // %v2
- var _v3 = int32(bp + 12) // %v3
- var _v4 = int32(bp + 16) // %v4
- *(*uintptr)(unsafe.Pointer(bp + 8)) = args
- _v7 = Xsqlite3_vmprintf(t, _v1, _v2)
- _v8 = int32(int32(_v3) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v8))) = _v7
- *(*int32)(unsafe.Pointer(bp + 0)) = int32(uintptr(unsafe.Pointer(&s_g)) + 32)
-
- _ = Xsqlite3_snprintf(t, 30, _v4, int32(uintptr(unsafe.Pointer(&s__18))), bp+0)
- _v18 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 28))
- if _v18 != 0 {
- goto l2
- }
- goto l3
-l2:
- _v21 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 28))
- _v23 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- s_printWithPrefix(t, _v21, _v4, _v23)
- _v26 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 28))
- _ = crt.Xfflush(t, _v26)
- goto l3
-l3:
- _v28 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- Xsqlite3_free(t, _v28)
- goto l4
-l4:
-}
-
-var s__17 = [11]byte{0x6c, 0x6f, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65}
-
-var s__18 = [5]byte{0x25, 0x73, 0x3a, 0x20}
-
-func s_clipLength(t *crt.TLS, _v1 int32) int32 {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v13 int32 // %t11
- var _v14 int32 // %t12
- var _v15 int32 // %t13
- var _v16 int32 // %t14
- var _v17 int32 // %t15
- var _v18 int32 // %t16
- var _v19 int32 // %t17
- var _v20 int32 // %t18
- var _v21 int32 // %t19
- var _v4 int32 // %t2
- var _v25 int32 // %t23
- var _v26 int32 // %t24
- var _v27 int32 // %t25
- var _v28 int32 // %t26
- var _v29 int32 // %t27
- var _v30 int32 // %t28
- var _v5 int32 // %t3
- var _v7 int32 // %t5
- var _v8 int32 // %t6
- var _v10 int32 // %t8
- var _v11 int32 // %t9
- var _v2 = int32(bp + 0) // %v2
- _v4 = crt.Xstrlen(t, _v1)
- *(*int32)(unsafe.Pointer(uintptr(_v2))) = _v4
- goto l2
-l2:
- _v5 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v7 = crt.Bool32(int32(_v5) > int32(0))
- goto l3
-l3:
- if _v7 != 0 {
- goto l4
- }
- goto l12
-l12:
- _v26 = 0
- goto l7
-l4:
- _v8 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v10 = int32(int32(_v8) - int32(1))
- _v11 = int32(_v10 * 1)
- _v13 = int32(int32(_v1) + int32(_v11))
- _v14 = int32(*(*int8)(unsafe.Pointer(uintptr(_v13))))
- _v15 = int32(int32(uint8(_v14)))
- _v16 = int32(_v15 * 2)
- _v17 = crt.X__ctype_b_loc(t)
- _v18 = *(*int32)(unsafe.Pointer(uintptr(_v17)))
- _v19 = int32(int32(_v18) + int32(_v16))
- _v20 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v19))))
- _v21 = int32(uint16(_v20))
- _v25 = int32(int32(_v21) & int32(8192))
- goto l5
-l5:
- if _v25 != 0 {
- goto l6
- }
- goto l13
-l13:
- _v26 = 0
- goto l7
-l6:
- _v26 = 1
- goto l7
-l7:
- if _v26 != 0 {
- goto l8
- }
- goto l9
-l8:
- _v27 = int32(int32(_v2) + int32(0))
- _v28 = *(*int32)(unsafe.Pointer(uintptr(_v27)))
- _v29 = int32(int32(_v28) - int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v27))) = _v29
- goto l2
-l9:
- _v30 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- return _v30
-}
-
-var s__19 = [11]byte{0x63, 0x6c, 0x69, 0x70, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68}
-
-func s_vfsNameFunc(t *crt.TLS, _v1 int32, _v2 int32, _v3 int32) {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v16 int32 // %t11
- var _v7 int32 // %t2
- var _v9 int32 // %t4
- var _v12 int32 // %t7
- var _v14 int32 // %t9
- var _v4 = int32(bp + 0) // %v4
- var _v5 = int32(bp + 4) // %v5
- _v7 = Xsqlite3_context_db_handle(t, _v1)
- *(*int32)(unsafe.Pointer(uintptr(_v4))) = _v7
- *(*int32)(unsafe.Pointer(uintptr(_v5))) = 0
- _v9 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v12 = int32(int32(_v5) + int32(0))
- _ = Xsqlite3_file_control(t, _v9, int32(uintptr(unsafe.Pointer(&s__21))), 12, _v12)
- _v14 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- if _v14 != 0 {
- goto l2
- }
- goto l3
-l2:
- _v16 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- Xsqlite3_result_text(t, _v1, _v16, -1, *(*int32)(unsafe.Pointer(&struct{ f func(*crt.TLS, int32) }{Xsqlite3_free})))
- goto l3
-l3:
- goto l4
-l4:
-}
-
-var s__20 = [12]byte{0x76, 0x66, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x46, 0x75, 0x6e, 0x63}
-
-var s__21 = [5]byte{0x6d, 0x61, 0x69, 0x6e}
-
-func s_busyHandler(t *crt.TLS, _v1 int32, _v2 int32) int32 {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v12 int32 // %t10
- var _v14 int32 // %t12
- var _v18 int32 // %t16
- var _v5 int32 // %t3
- var _v8 int32 // %t6
- var _v9 int32 // %t7
- _v5 = int32(_v2 * 10)
- _v8 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 88))
- _v9 = crt.Bool32(int32(_v5) > int32(_v8))
- if _v9 != 0 {
- goto l2
- }
- goto l6
-l2:
- _v12 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 88))
- _v14 = crt.Bool32(int32(_v12) > int32(0))
- if _v14 != 0 {
- goto l3
- }
- goto l4
-l3:
- _v18 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 88))
- *(*int32)(unsafe.Pointer(bp + 0)) = _v18
- s_errorMessage(t, int32(uintptr(unsafe.Pointer(&s__23))), bp+0)
- goto l4
-l4:
- return 0
-l6:
- _ = Xsqlite3_sleep(t, 10)
- return 1
-}
-
-var s__22 = [12]byte{0x62, 0x75, 0x73, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72}
-
-var s__23 = [19]byte{
- 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x25, 0x64,
- 0x6d, 0x73,
-}
-
-func s_sqlTraceCallback(t *crt.TLS, _v1 int32, _v2 int32) {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v5 int32 // %t3
- _v5 = s_clipLength(t, _v2)
- *(*int32)(unsafe.Pointer(bp + 0)) = _v5
-
- *(*int32)(unsafe.Pointer(bp + 8)) = _v2
- s_logMessage(t, int32(uintptr(unsafe.Pointer(&s__25))), bp+0)
- goto l2
-l2:
-}
-
-var s__24 = [17]byte{0x73, 0x71, 0x6c, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b}
-
-var s__25 = [7]byte{0x5b, 0x25, 0x2e, 0x2a, 0x73, 0x5d}
-
-func s_sqlErrorCallback(t *crt.TLS, _v1 int32, _v2 int32, _v3 int32) {
- bp := t.Alloc(32)
- defer t.Free(32)
- var _v13 int32 // %t10
- var _v15 int32 // %t12
- var _v18 int32 // %t15
- var _v20 int32 // %t17
- var _v21 int32 // %t18
- var _v24 int32 // %t21
- var _v26 int32 // %t23
- var _v29 int32 // %t26
- var _v31 int32 // %t28
- var _v32 int32 // %t29
- var _v6 int32 // %t3
- var _v35 int32 // %t32
- var _v37 int32 // %t34
- var _v38 int32 // %t35
- var _v41 int32 // %t38
- var _v43 int32 // %t40
- var _v9 int32 // %t6
- var _v10 int32 // %t7
- _v6 = crt.Bool32(int32(_v2) == int32(1))
- goto l2
-l2:
- if _v6 != 0 {
- goto l3
- }
- goto l35
-l35:
- _v10 = 0
- goto l6
-l3:
- _v9 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 76))
- goto l4
-l4:
- if _v9 != 0 {
- goto l5
- }
- goto l36
-l36:
- _v10 = 0
- goto l6
-l5:
- _v10 = 1
- goto l6
-l6:
- if _v10 != 0 {
- goto l7
- }
- goto l9
-l7:
-
- return
-l9:
- _v13 = int32(int32(_v2) & int32(255))
- _v15 = crt.Bool32(int32(_v13) == int32(17))
- goto l10
-l10:
- if _v15 != 0 {
- goto l11
- }
- goto l37
-l37:
- _v21 = 0
- goto l14
-l11:
- _v18 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 68))
- _v20 = crt.Bool32(int32(_v18) < int32(3))
- goto l12
-l12:
- if _v20 != 0 {
- goto l13
- }
- goto l38
-l38:
- _v21 = 0
- goto l14
-l13:
- _v21 = 1
- goto l14
-l14:
- if _v21 != 0 {
- goto l15
- }
- goto l17
-l15:
-
- return
-l17:
- _v24 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 88))
- _v26 = crt.Bool32(int32(_v24) == int32(0))
- goto l18
-l18:
- if _v26 != 0 {
- goto l19
- }
- goto l39
-l39:
- _v32 = 0
- goto l22
-l19:
- _v29 = int32(int32(_v2) & int32(255))
- _v31 = crt.Bool32(int32(_v29) == int32(5))
- goto l20
-l20:
- if _v31 != 0 {
- goto l21
- }
- goto l40
-l40:
- _v32 = 0
- goto l22
-l21:
- _v32 = 1
- goto l22
-l22:
- goto l23
-l23:
- if _v32 != 0 {
- goto l24
- }
- goto l41
-l41:
- _v38 = 0
- goto l27
-l24:
- _v35 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 68))
- _v37 = crt.Bool32(int32(_v35) < int32(3))
- goto l25
-l25:
- if _v37 != 0 {
- goto l26
- }
- goto l42
-l42:
- _v38 = 0
- goto l27
-l26:
- _v38 = 1
- goto l27
-l27:
- if _v38 != 0 {
- goto l28
- }
- goto l30
-l28:
-
- return
-l30:
- _v41 = int32(int32(_v2) & int32(255))
- _v43 = crt.Bool32(int32(_v41) == int32(27))
- if _v43 != 0 {
- goto l31
- }
- goto l32
-l31:
- *(*int32)(unsafe.Pointer(bp + 0)) = _v3
- s_logMessage(t, int32(uintptr(unsafe.Pointer(&s__27))), bp+0)
- goto l33
-l32:
- *(*int32)(unsafe.Pointer(bp + 8)) = _v2
-
- *(*int32)(unsafe.Pointer(bp + 16)) = _v3
- s_errorMessage(t, int32(uintptr(unsafe.Pointer(&s__28))), bp+8)
- goto l33
-l33:
- goto l34
-l34:
-}
-
-var s__26 = [17]byte{0x73, 0x71, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b}
-
-var s__27 = [10]byte{0x28, 0x69, 0x6e, 0x66, 0x6f, 0x29, 0x20, 0x25, 0x73}
-
-var s__28 = [16]byte{0x28, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x3d, 0x25, 0x64, 0x29, 0x20, 0x25, 0x73}
-
-func s_prepareSql(t *crt.TLS, _v1 int32, args uintptr) int32 {
- bp := t.Alloc(32)
- defer t.Free(32)
- var _v15 int32 // %t10
- var _v18 int32 // %t13
- var _v20 int32 // %t15
- var _v21 int32 // %t16
- var _v22 int32 // %t17
- var _v24 int32 // %t19
- var _v25 int32 // %t20
- var _v30 int32 // %t25
- var _v31 int32 // %t26
- var _v32 int32 // %t27
- var _v33 int32 // %t28
- var _v34 int32 // %t29
- var _v9 int32 // %t4
- var _v10 int32 // %t5
- var _v14 int32 // %t9
- var _v2 = int32(bp + 16) // %v2
- var _v3 = int32(bp + 20) // %v3
- var _v4 = int32(bp + 24) // %v4
- var _v5 = int32(bp + 28) // %v5
- *(*int32)(unsafe.Pointer(uintptr(_v5))) = 0
- *(*uintptr)(unsafe.Pointer(bp + 16)) = args
- _v9 = Xsqlite3_vmprintf(t, _v1, _v2)
- _v10 = int32(int32(_v3) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v10))) = _v9
- _v14 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 12))
- _v15 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v18 = int32(int32(_v5) + int32(0))
- _v20 = Xsqlite3_prepare_v2(t, _v14, _v15, -1, _v18, 0)
- _v21 = int32(int32(_v4) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v21))) = _v20
- _v22 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v24 = crt.Bool32(int32(_v22) != int32(0))
- if _v24 != 0 {
- goto l2
- }
- goto l3
-l2:
- _v25 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _ = Xsqlite3_finalize(t, _v25)
- _v30 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 12))
- _v31 = Xsqlite3_errmsg(t, _v30)
- _v32 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- *(*int32)(unsafe.Pointer(bp + 0)) = _v31
-
- *(*int32)(unsafe.Pointer(bp + 8)) = _v32
- s_fatalError(t, int32(uintptr(unsafe.Pointer(&s__30))), bp+0)
- goto l3
-l3:
- _v33 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- Xsqlite3_free(t, _v33)
- _v34 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- return _v34
-}
-
-var s__29 = [11]byte{0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x53, 0x71, 0x6c}
-
-var s__30 = [7]byte{0x25, 0x73, 0x0a, 0x25, 0x73, 0x0a}
-
-func s_runSql(t *crt.TLS, _v1 int32, args uintptr) {
- bp := t.Alloc(32)
- defer t.Free(32)
- var _v17 int32 // %t13
- var _v18 int32 // %t14
- var _v19 int32 // %t15
- var _v21 int32 // %t17
- var _v25 int32 // %t21
- var _v26 int32 // %t22
- var _v27 int32 // %t23
- var _v28 int32 // %t24
- var _v7 int32 // %t3
- var _v8 int32 // %t4
- var _v12 int32 // %t8
- var _v13 int32 // %t9
- var _v2 = int32(bp + 16) // %v2
- var _v3 = int32(bp + 20) // %v3
- var _v4 = int32(bp + 24) // %v4
- *(*uintptr)(unsafe.Pointer(bp + 16)) = args
- _v7 = Xsqlite3_vmprintf(t, _v1, _v2)
- _v8 = int32(int32(_v3) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v8))) = _v7
- _v12 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 12))
- _v13 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v17 = Xsqlite3_exec(t, _v12, _v13, 0, 0, 0)
- _v18 = int32(int32(_v4) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v18))) = _v17
- _v19 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v21 = crt.Bool32(int32(_v19) != int32(0))
- if _v21 != 0 {
- goto l2
- }
- goto l3
-l2:
- _v25 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 12))
- _v26 = Xsqlite3_errmsg(t, _v25)
- _v27 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- *(*int32)(unsafe.Pointer(bp + 0)) = _v26
-
- *(*int32)(unsafe.Pointer(bp + 8)) = _v27
- s_fatalError(t, int32(uintptr(unsafe.Pointer(&s__30))), bp+0)
- goto l3
-l3:
- _v28 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- Xsqlite3_free(t, _v28)
- goto l4
-l4:
-}
-
-var s__31 = [7]byte{0x72, 0x75, 0x6e, 0x53, 0x71, 0x6c}
-
-func s_trySql(t *crt.TLS, _v1 int32, args uintptr) int32 {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v17 int32 // %t13
- var _v18 int32 // %t14
- var _v19 int32 // %t15
- var _v20 int32 // %t16
- var _v7 int32 // %t3
- var _v8 int32 // %t4
- var _v12 int32 // %t8
- var _v13 int32 // %t9
- var _v2 = int32(bp + 0) // %v2
- var _v3 = int32(bp + 4) // %v3
- var _v4 = int32(bp + 8) // %v4
- *(*uintptr)(unsafe.Pointer(bp + 0)) = args
- _v7 = Xsqlite3_vmprintf(t, _v1, _v2)
- _v8 = int32(int32(_v3) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v8))) = _v7
- _v12 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 12))
- _v13 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v17 = Xsqlite3_exec(t, _v12, _v13, 0, 0, 0)
- _v18 = int32(int32(_v4) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v18))) = _v17
- _v19 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- Xsqlite3_free(t, _v19)
- _v20 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- return _v20
-}
-
-var s__32 = [7]byte{0x74, 0x72, 0x79, 0x53, 0x71, 0x6c}
-
-func s_stringFree(t *crt.TLS, _v1 int32) {
- var _v3 int32 // %t2
- var _v4 int32 // %t3
- var _v6 int32 // %t5
- var _v7 int32 // %t6
- _v3 = int32(int32(_v1) + int32(0))
- _v4 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- if _v4 != 0 {
- goto l2
- }
- goto l3
-l2:
- _v6 = int32(int32(_v1) + int32(0))
- _v7 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- Xsqlite3_free(t, _v7)
- goto l3
-l3:
- _ = crt.Xmemset(t, _v1, 0, 12)
- goto l4
-l4:
-}
-
-var s__33 = [11]byte{0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x72, 0x65, 0x65}
-
-func s_stringAppend(t *crt.TLS, _v1 int32, _v2 int32, _v3 int32) {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v16 int32 // %t10
- var _v17 int32 // %t11
- var _v18 int32 // %t12
- var _v20 int32 // %t14
- var _v21 int32 // %t15
- var _v22 int32 // %t16
- var _v24 int32 // %t18
- var _v25 int32 // %t19
- var _v8 int32 // %t2
- var _v27 int32 // %t21
- var _v28 int32 // %t22
- var _v29 int32 // %t23
- var _v31 int32 // %t25
- var _v33 int32 // %t27
- var _v34 int32 // %t28
- var _v35 int32 // %t29
- var _v36 int32 // %t30
- var _v37 int32 // %t31
- var _v39 int32 // %t33
- var _v41 int32 // %t35
- var _v43 int32 // %t37
- var _v44 int32 // %t38
- var _v10 int32 // %t4
- var _v46 int32 // %t40
- var _v48 int32 // %t42
- var _v49 int32 // %t43
- var _v51 int32 // %t45
- var _v52 int32 // %t46
- var _v53 int32 // %t47
- var _v55 int32 // %t49
- var _v57 int32 // %t51
- var _v59 int32 // %t53
- var _v60 int32 // %t54
- var _v61 int32 // %t55
- var _v65 int32 // %t59
- var _v12 int32 // %t6
- var _v66 int32 // %t60
- var _v67 int32 // %t61
- var _v69 int32 // %t63
- var _v70 int32 // %t64
- var _v71 int32 // %t65
- var _v13 int32 // %t7
- var _v15 int32 // %t9
- var _v4 = int32(bp + 0) // %v3
- var _v6 = int32(bp + 4) // %v4
- var _v7 = int32(bp + 8) // %v5
- *(*int32)(unsafe.Pointer(uintptr(_v4))) = _v3
- _v8 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v10 = crt.Bool32(int32(_v8) < int32(0))
- if _v10 != 0 {
- goto l2
- }
- goto l3
-l2:
- _v12 = crt.Xstrlen(t, _v2)
- _v13 = int32(int32(_v4) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v13))) = _v12
- goto l3
-l3:
- _v15 = int32(int32(_v1) + int32(4))
- _v16 = *(*int32)(unsafe.Pointer(uintptr(_v15)))
- _v17 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v18 = int32(int32(_v16) + int32(_v17))
- _v20 = int32(int32(_v1) + int32(8))
- _v21 = *(*int32)(unsafe.Pointer(uintptr(_v20)))
- _v22 = crt.Bool32(int32(_v18) >= int32(_v21))
- if _v22 != 0 {
- goto l4
- }
- goto l9
-l9:
- goto l7
-l4:
- _v24 = int32(int32(_v1) + int32(8))
- _v25 = *(*int32)(unsafe.Pointer(uintptr(_v24)))
- _v27 = int32(_v25 * 2)
- _v28 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v29 = int32(int32(_v27) + int32(_v28))
- _v31 = int32(int32(_v29) + int32(100))
- *(*int32)(unsafe.Pointer(uintptr(_v6))) = _v31
- _v33 = int32(int32(_v1) + int32(0))
- _v34 = *(*int32)(unsafe.Pointer(uintptr(_v33)))
- _v35 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v36 = Xsqlite3_realloc(t, _v34, _v35)
- *(*int32)(unsafe.Pointer(uintptr(_v7))) = _v36
- _v37 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v39 = crt.Bool32(int32(_v37) == int32(0))
- if _v39 != 0 {
- goto l5
- }
- goto l6
-l5:
- s_fatalError(t, int32(uintptr(unsafe.Pointer(&s__35))), 0)
- goto l6
-l6:
- _v41 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v43 = int32(int32(_v1) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v43))) = _v41
- _v44 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v46 = int32(int32(_v1) + int32(8))
- *(*int32)(unsafe.Pointer(uintptr(_v46))) = _v44
- goto l7
-l7:
- _v48 = int32(int32(_v1) + int32(0))
- _v49 = *(*int32)(unsafe.Pointer(uintptr(_v48)))
- _v51 = int32(int32(_v1) + int32(4))
- _v52 = *(*int32)(unsafe.Pointer(uintptr(_v51)))
- _v53 = int32(int32(_v49) + int32(_v52))
- _v55 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _ = crt.Xmemcpy(t, _v53, _v2, _v55)
- _v57 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v59 = int32(int32(_v1) + int32(4))
- _v60 = *(*int32)(unsafe.Pointer(uintptr(_v59)))
- _v61 = int32(int32(_v60) + int32(_v57))
- *(*int32)(unsafe.Pointer(uintptr(_v59))) = _v61
- _v65 = int32(int32(_v1) + int32(4))
- _v66 = *(*int32)(unsafe.Pointer(uintptr(_v65)))
- _v67 = int32(_v66 * 1)
- _v69 = int32(int32(_v1) + int32(0))
- _v70 = *(*int32)(unsafe.Pointer(uintptr(_v69)))
- _v71 = int32(int32(_v70) + int32(_v67))
- *(*int8)(unsafe.Pointer(uintptr(_v71))) = 0
- goto l8
-l8:
-}
-
-var s__34 = [13]byte{0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64}
-
-var s__35 = [14]byte{0x6f, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79}
-
-func s_stringReset(t *crt.TLS, _v1 int32) {
- var _v12 int32 // %t11
- var _v18 int32 // %t17
- var _v19 int32 // %t18
- var _v20 int32 // %t19
- var _v3 int32 // %t2
- var _v4 int32 // %t3
- var _v6 int32 // %t5
- _v3 = int32(int32(_v1) + int32(0))
- _v4 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v6 = crt.Bool32(int32(_v4) == int32(0))
- if _v6 != 0 {
- goto l2
- }
- goto l3
-l2:
- s_stringAppend(t, _v1, int32(uintptr(unsafe.Pointer(&s__37))), 1)
- goto l3
-l3:
- _v12 = int32(int32(_v1) + int32(4))
- *(*int32)(unsafe.Pointer(uintptr(_v12))) = 0
- _v18 = int32(int32(_v1) + int32(0))
- _v19 = *(*int32)(unsafe.Pointer(uintptr(_v18)))
- _v20 = int32(int32(_v19) + int32(0))
- *(*int8)(unsafe.Pointer(uintptr(_v20))) = 0
- goto l4
-l4:
-}
-
-var s__36 = [12]byte{0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x65, 0x74}
-
-var s__37 = [2]byte{0x20}
-
-func s_stringAppendTerm(t *crt.TLS, _v1 int32, _v2 int32) {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v14 int32 // %t10
- var _v104 int32 // %t100
- var _v105 int32 // %t101
- var _v106 int32 // %t102
- var _v108 int32 // %t104
- var _v109 int32 // %t105
- var _v19 int32 // %t15
- var _v20 int32 // %t16
- var _v21 int32 // %t17
- var _v22 int32 // %t18
- var _v23 int32 // %t19
- var _v24 int32 // %t20
- var _v25 int32 // %t21
- var _v26 int32 // %t22
- var _v27 int32 // %t23
- var _v28 int32 // %t24
- var _v29 int32 // %t25
- var _v30 int32 // %t26
- var _v31 int32 // %t27
- var _v32 int32 // %t28
- var _v33 int32 // %t29
- var _v7 int32 // %t3
- var _v34 int32 // %t30
- var _v35 int32 // %t31
- var _v36 int32 // %t32
- var _v40 int32 // %t36
- var _v41 int32 // %t37
- var _v42 int32 // %t38
- var _v43 int32 // %t39
- var _v8 int32 // %t4
- var _v44 int32 // %t40
- var _v45 int32 // %t41
- var _v46 int32 // %t42
- var _v48 int32 // %t44
- var _v49 int32 // %t45
- var _v50 int32 // %t46
- var _v51 int32 // %t47
- var _v52 int32 // %t48
- var _v53 int32 // %t49
- var _v54 int32 // %t50
- var _v56 int32 // %t52
- var _v57 int32 // %t53
- var _v59 int32 // %t55
- var _v60 int32 // %t56
- var _v66 int32 // %t62
- var _v67 int32 // %t63
- var _v68 int32 // %t64
- var _v70 int32 // %t66
- var _v71 int32 // %t67
- var _v72 int32 // %t68
- var _v73 int32 // %t69
- var _v74 int32 // %t70
- var _v75 int32 // %t71
- var _v76 int32 // %t72
- var _v77 int32 // %t73
- var _v78 int32 // %t74
- var _v79 int32 // %t75
- var _v80 int32 // %t76
- var _v81 int32 // %t77
- var _v83 int32 // %t79
- var _v12 int32 // %t8
- var _v84 int32 // %t80
- var _v85 int32 // %t81
- var _v86 int32 // %t82
- var _v87 int32 // %t83
- var _v88 int32 // %t84
- var _v89 int32 // %t85
- var _v90 int32 // %t86
- var _v91 int32 // %t87
- var _v92 int32 // %t88
- var _v94 int32 // %t90
- var _v95 int32 // %t91
- var _v97 int32 // %t93
- var _v101 int32 // %t97
- var _v103 int32 // %t99
- var _v3 = int32(bp + 0) // %v2
- var _v5 = int32(bp + 4) // %v3
- *(*int32)(unsafe.Pointer(uintptr(_v3))) = _v2
- _v7 = int32(int32(_v1) + int32(4))
- _v8 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- if _v8 != 0 {
- goto l2
- }
- goto l3
-l2:
- s_stringAppend(t, _v1, int32(uintptr(unsafe.Pointer(&s__37))), 1)
- goto l3
-l3:
- _v12 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v14 = crt.Bool32(int32(_v12) == int32(0))
- if _v14 != 0 {
- goto l4
- }
- goto l6
-l4:
- s_stringAppend(t, _v1, int32(uintptr(unsafe.Pointer(&s__39))), 3)
-
- return
-l6:
- _v19 = int32(int32(_v5) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v19))) = 0
- goto l7
-l7:
- _v20 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v21 = int32(_v20 * 1)
- _v22 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v23 = int32(int32(_v22) + int32(_v21))
- _v24 = int32(*(*int8)(unsafe.Pointer(uintptr(_v23))))
- goto l8
-l8:
- if _v24 != 0 {
- goto l9
- }
- goto l44
-l44:
- _v42 = 0
- goto l15
-l9:
- _v25 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v26 = int32(_v25 * 1)
- _v27 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v28 = int32(int32(_v27) + int32(_v26))
- _v29 = int32(*(*int8)(unsafe.Pointer(uintptr(_v28))))
- _v30 = int32(int32(uint8(_v29)))
- _v31 = int32(_v30 * 2)
- _v32 = crt.X__ctype_b_loc(t)
- _v33 = *(*int32)(unsafe.Pointer(uintptr(_v32)))
- _v34 = int32(int32(_v33) + int32(_v31))
- _v35 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v34))))
- _v36 = int32(uint16(_v35))
- _v40 = int32(int32(_v36) & int32(8192))
- goto l10
-l10:
- if _v40 != 0 {
- goto l11
- }
- goto l45
-l45:
- _v41 = 1
- goto l12
-l11:
- _v41 = 0
- goto l12
-l12:
- goto l13
-l13:
- if _v41 != 0 {
- goto l14
- }
- goto l46
-l46:
- _v42 = 0
- goto l15
-l14:
- _v42 = 1
- goto l15
-l15:
- if _v42 != 0 {
- goto l16
- }
- goto l18
-l16:
- goto l17
-l17:
- _v43 = int32(int32(_v5) + int32(0))
- _v44 = *(*int32)(unsafe.Pointer(uintptr(_v43)))
- _v45 = int32(int32(_v44) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v43))) = _v45
- goto l7
-l18:
- _v46 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v48 = crt.Bool32(int32(_v46) > int32(0))
- goto l19
-l19:
- if _v48 != 0 {
- goto l20
- }
- goto l47
-l47:
- _v57 = 0
- goto l23
-l20:
- _v49 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v50 = int32(_v49 * 1)
- _v51 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v52 = int32(int32(_v51) + int32(_v50))
- _v53 = int32(*(*int8)(unsafe.Pointer(uintptr(_v52))))
- _v54 = int32(int8(_v53))
- _v56 = crt.Bool32(int32(_v54) == int32(0))
- goto l21
-l21:
- if _v56 != 0 {
- goto l22
- }
- goto l48
-l48:
- _v57 = 0
- goto l23
-l22:
- _v57 = 1
- goto l23
-l23:
- if _v57 != 0 {
- goto l24
- }
- goto l26
-l24:
- _v59 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v60 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- s_stringAppend(t, _v1, _v59, _v60)
-
- return
-l26:
- s_stringAppend(t, _v1, int32(uintptr(unsafe.Pointer(&s__40))), 1)
- goto l27
-l27:
- _v66 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v67 = int32(int32(_v66) + int32(0))
- _v68 = int32(*(*int8)(unsafe.Pointer(uintptr(_v67))))
- if _v68 != 0 {
- goto l28
- }
- goto l42
-l28:
- _v70 = int32(int32(_v5) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v70))) = 0
- goto l29
-l29:
- _v71 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v72 = int32(_v71 * 1)
- _v73 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v74 = int32(int32(_v73) + int32(_v72))
- _v75 = int32(*(*int8)(unsafe.Pointer(uintptr(_v74))))
- goto l30
-l30:
- if _v75 != 0 {
- goto l31
- }
- goto l49
-l49:
- _v84 = 0
- goto l34
-l31:
- _v76 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v77 = int32(_v76 * 1)
- _v78 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v79 = int32(int32(_v78) + int32(_v77))
- _v80 = int32(*(*int8)(unsafe.Pointer(uintptr(_v79))))
- _v81 = int32(int8(_v80))
- _v83 = crt.Bool32(int32(_v81) != int32(39))
- goto l32
-l32:
- if _v83 != 0 {
- goto l33
- }
- goto l50
-l50:
- _v84 = 0
- goto l34
-l33:
- _v84 = 1
- goto l34
-l34:
- if _v84 != 0 {
- goto l35
- }
- goto l37
-l35:
- goto l36
-l36:
- _v85 = int32(int32(_v5) + int32(0))
- _v86 = *(*int32)(unsafe.Pointer(uintptr(_v85)))
- _v87 = int32(int32(_v86) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v85))) = _v87
- goto l29
-l37:
- _v88 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v89 = int32(_v88 * 1)
- _v90 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v91 = int32(int32(_v90) + int32(_v89))
- _v92 = int32(*(*int8)(unsafe.Pointer(uintptr(_v91))))
- if _v92 != 0 {
- goto l38
- }
- goto l39
-l38:
- _v94 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v95 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v97 = int32(int32(_v95) + int32(1))
- s_stringAppend(t, _v1, _v94, _v97)
- s_stringAppend(t, _v1, int32(uintptr(unsafe.Pointer(&s__40))), 1)
- _v101 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v103 = int32(int32(_v101) + int32(1))
- _v104 = int32(int32(_v3) + int32(0))
- _v105 = *(*int32)(unsafe.Pointer(uintptr(_v104)))
- _v106 = int32(int32(_v105) + int32(_v103))
- *(*int32)(unsafe.Pointer(uintptr(_v104))) = _v106
- goto l41
-l39:
- _v108 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v109 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- s_stringAppend(t, _v1, _v108, _v109)
- goto l42
-l41:
- goto l27
-l42:
- s_stringAppend(t, _v1, int32(uintptr(unsafe.Pointer(&s__40))), 1)
- goto l43
-l43:
-}
-
-var s__38 = [17]byte{0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x54, 0x65, 0x72, 0x6d}
-
-var s__39 = [4]byte{0x6e, 0x69, 0x6c}
-
-var s__40 = [2]byte{0x27}
-
-func s_evalCallback(t *crt.TLS, _v1 int32, _v2 int32, _v3 int32, _v4 int32) int32 {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v17 int32 // %t11
- var _v18 int32 // %t12
- var _v19 int32 // %t13
- var _v20 int32 // %t14
- var _v21 int32 // %t15
- var _v9 int32 // %t3
- var _v10 int32 // %t4
- var _v12 int32 // %t6
- var _v13 int32 // %t7
- var _v14 int32 // %t8
- var _v15 int32 // %t9
- var _v5 = int32(bp + 0) // %v5
- var _v6 = int32(bp + 4) // %v6
- *(*int32)(unsafe.Pointer(uintptr(_v5))) = _v1
- _v9 = int32(int32(_v6) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v9))) = 0
- goto l2
-l2:
- _v10 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v12 = crt.Bool32(int32(_v10) < int32(_v2))
- if _v12 != 0 {
- goto l3
- }
- goto l5
-l3:
- _v13 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v14 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v15 = int32(_v14 * 4)
- _v17 = int32(int32(_v3) + int32(_v15))
- _v18 = *(*int32)(unsafe.Pointer(uintptr(_v17)))
- s_stringAppendTerm(t, _v13, _v18)
- goto l4
-l4:
- _v19 = int32(int32(_v6) + int32(0))
- _v20 = *(*int32)(unsafe.Pointer(uintptr(_v19)))
- _v21 = int32(int32(_v20) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v19))) = _v21
- goto l2
-l5:
- return 0
-}
-
-var s__41 = [13]byte{0x65, 0x76, 0x61, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b}
-
-func s_evalSql(t *crt.TLS, _v1 int32, _v2 int32, args uintptr) int32 {
- bp := t.Alloc(64)
- defer t.Free(64)
- var _v18 int32 // %t11
- var _v25 int32 // %t18
- var _v26 int32 // %t19
- var _v29 int32 // %t22
- var _v30 int32 // %t23
- var _v31 int32 // %t24
- var _v32 int32 // %t25
- var _v33 int32 // %t26
- var _v37 int32 // %t30
- var _v41 int32 // %t34
- var _v43 int32 // %t36
- var _v44 int32 // %t37
- var _v45 int32 // %t38
- var _v11 int32 // %t4
- var _v12 int32 // %t5
- var _v16 int32 // %t9
- var _v3 = int32(bp + 8) // %v3
- var _v4 = int32(bp + 12) // %v4
- var _v5 = int32(bp + 16) // %v5
- var _v6 = int32(bp + 20) // %v6
- var _v7 = int32(bp + 24) // %v7
- *(*int32)(unsafe.Pointer(uintptr(_v6))) = 0
- *(*uintptr)(unsafe.Pointer(bp + 8)) = args
- _v11 = Xsqlite3_vmprintf(t, _v2, _v3)
- _v12 = int32(int32(_v4) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v12))) = _v11
- _v16 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 88))
- _v18 = crt.Bool32(int32(_v16) > int32(0))
- goto l2
-l2:
- if _v18 != 0 {
- goto l3
- }
- goto l5
-l3:
- goto l4
-l4:
- goto l7
-l5:
- crt.X__assert_fail(t, int32(uintptr(unsafe.Pointer(&s__43))), int32(uintptr(unsafe.Pointer(&s__44))), 494, int32(uintptr(unsafe.Pointer(&s__42))))
- goto l6
-l6:
- goto l7
-l7:
- _v25 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 12))
- _v26 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v29 = int32(int32(_v6) + int32(0))
- _v30 = Xsqlite3_exec(t, _v25, _v26, *(*int32)(unsafe.Pointer(&struct {
- f func(*crt.TLS, int32, int32, int32, int32) int32
- }{s_evalCallback})), _v1, _v29)
- _v31 = int32(int32(_v5) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v31))) = _v30
- _v32 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- Xsqlite3_free(t, _v32)
- _v33 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- if _v33 != 0 {
- goto l8
- }
- goto l14
-l14:
- goto l11
-l8:
- _v37 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- *(*int32)(unsafe.Pointer(bp + 0)) = _v37
-
- _ = Xsqlite3_snprintf(t, 30, _v7, int32(uintptr(unsafe.Pointer(&s__45))), bp+0)
- s_stringAppendTerm(t, _v1, _v7)
- _v41 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- if _v41 != 0 {
- goto l9
- }
- goto l10
-l9:
- _v43 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- s_stringAppendTerm(t, _v1, _v43)
- _v44 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- Xsqlite3_free(t, _v44)
- goto l10
-l10:
- goto l11
-l11:
- _v45 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- return _v45
-}
-
-var s__42 = [8]byte{0x65, 0x76, 0x61, 0x6c, 0x53, 0x71, 0x6c}
-
-var s__43 = [13]byte{0x67, 0x2e, 0x69, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x3e, 0x30}
-
-var s__44 = [44]byte{
- 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x73, 0x71, 0x6c, 0x69, 0x74, 0x65, 0x2d,
- 0x73, 0x72, 0x63, 0x2d, 0x33, 0x33, 0x30, 0x30, 0x31, 0x30, 0x30, 0x2f, 0x6d, 0x70, 0x74, 0x65,
- 0x73, 0x74, 0x2f, 0x6d, 0x70, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63,
-}
-
-var s__45 = [10]byte{0x65, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x25, 0x64, 0x29}
-
-func s_evalFunc(t *crt.TLS, _v1 int32, _v2 int32, _v3 int32) {
- bp := t.Alloc(32)
- defer t.Free(32)
- var _v18 int32 // %t10
- var _v22 int32 // %t14
- var _v23 int32 // %t15
- var _v25 int32 // %t17
- var _v26 int32 // %t18
- var _v27 int32 // %t19
- var _v10 int32 // %t2
- var _v28 int32 // %t20
- var _v29 int32 // %t21
- var _v31 int32 // %t23
- var _v34 int32 // %t26
- var _v35 int32 // %t27
- var _v37 int32 // %t29
- var _v39 int32 // %t31
- var _v40 int32 // %t32
- var _v41 int32 // %t33
- var _v46 int32 // %t38
- var _v14 int32 // %t6
- var _v15 int32 // %t7
- var _v16 int32 // %t8
- var _v4 = int32(bp + 0) // %v4
- var _v5 = int32(bp + 4) // %v5
- var _v6 = int32(bp + 8) // %v6
- var _v7 = int32(bp + 20) // %v7
- var _v8 = int32(bp + 24) // %v8
- _v10 = Xsqlite3_context_db_handle(t, _v1)
- *(*int32)(unsafe.Pointer(uintptr(_v4))) = _v10
- _v14 = int32(int32(_v3) + int32(0))
- _v15 = *(*int32)(unsafe.Pointer(uintptr(_v14)))
- _v16 = Xsqlite3_value_text(t, _v15)
- *(*int32)(unsafe.Pointer(uintptr(_v5))) = _v16
- *(*int32)(unsafe.Pointer(uintptr(_v7))) = 0
- _v18 = int32(int32(_v6) + int32(0))
- _ = crt.Xmemset(t, _v18, 0, 12)
- _v22 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v23 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v25 = int32(int32(_v6) + int32(0))
- _v26 = int32(int32(_v7) + int32(0))
- _v27 = Xsqlite3_exec(t, _v22, _v23, *(*int32)(unsafe.Pointer(&struct {
- f func(*crt.TLS, int32, int32, int32, int32) int32
- }{s_evalCallback})), _v25, _v26)
- _v28 = int32(int32(_v8) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v28))) = _v27
- _v29 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- if _v29 != 0 {
- goto l2
- }
- goto l3
-l2:
- _v31 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- Xsqlite3_result_error(t, _v1, _v31, -1)
- _v34 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- Xsqlite3_free(t, _v34)
- goto l7
-l3:
- _v35 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- if _v35 != 0 {
- goto l4
- }
- goto l5
-l4:
- _v37 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- Xsqlite3_result_error_code(t, _v1, _v37)
- goto l6
-l5:
- _v39 = int32(int32(_v6) + int32(0))
- _v40 = int32(int32(_v39) + int32(0))
- _v41 = *(*int32)(unsafe.Pointer(uintptr(_v40)))
- Xsqlite3_result_text(t, _v1, _v41, -1, -1)
- goto l6
-l6:
- goto l7
-l7:
- _v46 = int32(int32(_v6) + int32(0))
- s_stringFree(t, _v46)
- goto l8
-l8:
-}
-
-var s__46 = [9]byte{0x65, 0x76, 0x61, 0x6c, 0x46, 0x75, 0x6e, 0x63}
-
-func s_startScript(t *crt.TLS, _v1 int32, _v2 int32, _v3 int32, _v4 int32) int32 {
- bp := t.Alloc(112)
- defer t.Free(112)
- var _v19 int32 // %t10
- var _v110 int32 // %t101
- var _v111 int32 // %t102
- var _v113 int32 // %t104
- var _v116 int32 // %t107
- var _v20 int32 // %t11
- var _v122 int32 // %t113
- var _v124 int32 // %t115
- var _v126 int32 // %t117
- var _v127 int32 // %t118
- var _v21 int32 // %t12
- var _v129 int32 // %t120
- var _v135 int32 // %t126
- var _v139 int32 // %t130
- var _v141 int32 // %t132
- var _v145 int32 // %t136
- var _v146 int32 // %t137
- var _v147 int32 // %t138
- var _v23 int32 // %t14
- var _v151 int32 // %t142
- var _v152 int32 // %t143
- var _v153 int32 // %t144
- var _v157 int32 // %t148
- var _v158 int32 // %t149
- var _v27 int32 // %t18
- var _v28 int32 // %t19
- var _v29 int32 // %t20
- var _v30 int32 // %t21
- var _v32 int32 // %t23
- var _v36 int32 // %t27
- var _v37 int32 // %t28
- var _v40 int32 // %t31
- var _v43 int32 // %t34
- var _v44 int32 // %t35
- var _v48 int32 // %t39
- var _v51 int32 // %t42
- var _v60 int32 // %t51
- var _v61 int32 // %t52
- var _v62 int32 // %t53
- var _v63 int32 // %t54
- var _v64 int32 // %t55
- var _v65 int32 // %t56
- var _v67 int32 // %t58
- var _v69 int32 // %t60
- var _v79 int32 // %t70
- var _v80 int32 // %t71
- var _v81 int32 // %t72
- var _v82 int32 // %t73
- var _v83 int32 // %t74
- var _v84 int32 // %t75
- var _v86 int32 // %t77
- var _v87 int32 // %t78
- var _v89 int32 // %t80
- var _v90 int32 // %t81
- var _v92 int32 // %t83
- var _v93 int32 // %t84
- var _v96 int32 // %t87
- var _v97 int32 // %t88
- var _v99 int32 // %t90
- var _v101 int32 // %t92
- var _v103 int32 // %t94
- var _v104 int32 // %t95
- var _v105 int32 // %t96
- var _v108 int32 // %t99
- var _v5 = int32(bp + 80) // %v5
- var _v6 = int32(bp + 84) // %v6
- var _v7 = int32(bp + 88) // %v7
- var _v8 = int32(bp + 92) // %v8
- var _v9 = int32(bp + 96) // %v9
- *(*int32)(unsafe.Pointer(uintptr(_v5))) = 0
- *(*int32)(unsafe.Pointer(uintptr(_v8))) = 0
- *(*int32)(unsafe.Pointer(uintptr(_v2))) = 0
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 88)) = 0
- goto l2
-l2:
- if 1 != 0 {
- goto l3
- }
- goto l30
-l3:
-
- _v19 = s_trySql(t, int32(uintptr(unsafe.Pointer(&s__48))), 0)
- _v20 = int32(int32(_v7) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v20))) = _v19
- _v21 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v23 = crt.Bool32(int32(_v21) == int32(5))
- if _v23 != 0 {
- goto l4
- }
- goto l6
-l4:
- _ = Xsqlite3_sleep(t, 10)
- _v27 = int32(int32(_v8) + int32(0))
- _v28 = *(*int32)(unsafe.Pointer(uintptr(_v27)))
- _v29 = int32(int32(_v28) + int32(10))
- *(*int32)(unsafe.Pointer(uintptr(_v27))) = _v29
- goto l2
-l6:
- _v30 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v32 = crt.Bool32(int32(_v30) != int32(0))
- if _v32 != 0 {
- goto l7
- }
- goto l8
-l7:
- _v36 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 12))
- _v37 = Xsqlite3_errmsg(t, _v36)
- *(*int32)(unsafe.Pointer(bp + 0)) = _v37
- s_fatalError(t, int32(uintptr(unsafe.Pointer(&s__49))), bp+0)
- goto l8
-l8:
- _v40 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 80))
- goto l9
-l9:
- if _v40 != 0 {
- goto l32
- }
- goto l10
-l32:
- _v44 = 1
- goto l13
-l10:
- _v43 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 84))
- goto l11
-l11:
- if _v43 != 0 {
- goto l33
- }
- goto l12
-l33:
- _v44 = 1
- goto l13
-l12:
- _v44 = 0
- goto l13
-l13:
- if _v44 != 0 {
- goto l14
- }
- goto l15
-l14:
- _v48 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 80))
- _v51 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 84))
- *(*int32)(unsafe.Pointer(bp + 8)) = _v48
-
- *(*int32)(unsafe.Pointer(bp + 16)) = _v51
- s_runSql(t, int32(uintptr(unsafe.Pointer(&s__50))), bp+8)
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 80)) = 0
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 84)) = 0
- goto l15
-l15:
- *(*int32)(unsafe.Pointer(bp + 24)) = _v1
-
- _v60 = s_prepareSql(t, int32(uintptr(unsafe.Pointer(&s__51))), bp+24)
- _v61 = int32(int32(_v5) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v61))) = _v60
- _v62 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v63 = Xsqlite3_step(t, _v62)
- _v64 = int32(int32(_v7) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v64))) = _v63
- _v65 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _ = Xsqlite3_finalize(t, _v65)
- _v67 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v69 = crt.Bool32(int32(_v67) == int32(100))
- if _v69 != 0 {
- goto l16
- }
- goto l18
-l16:
- *(*int32)(unsafe.Pointer(bp + 32)) = _v1
- s_runSql(t, int32(uintptr(unsafe.Pointer(&s__52))), bp+32)
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 88)) = 10000
- s_runSql(t, int32(uintptr(unsafe.Pointer(&s__53))), 0)
- return 101
-l18:
- *(*int32)(unsafe.Pointer(bp + 40)) = _v1
-
- _v79 = s_prepareSql(t, int32(uintptr(unsafe.Pointer(&s__54))), bp+40)
- _v80 = int32(int32(_v5) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v80))) = _v79
- _v81 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v82 = Xsqlite3_step(t, _v81)
- _v83 = int32(int32(_v7) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v83))) = _v82
- _v84 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v86 = crt.Bool32(int32(_v84) == int32(100))
- if _v86 != 0 {
- goto l19
- }
- goto l21
-l19:
- _v87 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v89 = Xsqlite3_column_bytes(t, _v87, 0)
- *(*int32)(unsafe.Pointer(uintptr(_v9))) = _v89
- _v90 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v92 = int32(int32(_v90) + int32(1))
- _v93 = Xsqlite3_malloc(t, _v92)
- *(*int32)(unsafe.Pointer(uintptr(_v2))) = _v93
- _v96 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v97 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v99 = Xsqlite3_column_text(t, _v97, 0)
- _ = crt.Xstrcpy(t, _v96, _v99)
- _v101 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v103 = Xsqlite3_column_int(t, _v101, 1)
- _v104 = int32(int32(_v6) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v104))) = _v103
- _v105 = *(*int32)(unsafe.Pointer(uintptr(_v104)))
- *(*int32)(unsafe.Pointer(uintptr(_v3))) = _v105
- _v108 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v110 = Xsqlite3_column_text(t, _v108, 2)
- *(*int32)(unsafe.Pointer(bp + 48)) = _v110
-
- _v111 = Xsqlite3_mprintf(t, int32(uintptr(unsafe.Pointer(&s__55))), bp+48)
- *(*int32)(unsafe.Pointer(uintptr(_v4))) = _v111
- _v113 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _ = Xsqlite3_finalize(t, _v113)
- _v116 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- *(*int32)(unsafe.Pointer(bp + 56)) = _v116
- s_runSql(t, int32(uintptr(unsafe.Pointer(&s__56))), bp+56)
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 88)) = 10000
- s_runSql(t, int32(uintptr(unsafe.Pointer(&s__53))), 0)
- return 0
-l21:
- _v122 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _ = Xsqlite3_finalize(t, _v122)
- _v124 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v126 = crt.Bool32(int32(_v124) == int32(101))
- if _v126 != 0 {
- goto l22
- }
- goto l29
-l22:
- _v127 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v129 = crt.Bool32(int32(_v127) > int32(30000))
- if _v129 != 0 {
- goto l23
- }
- goto l24
-l23:
- s_errorMessage(t, int32(uintptr(unsafe.Pointer(&s__57))), 0)
- *(*int32)(unsafe.Pointer(bp + 64)) = _v1
- s_runSql(t, int32(uintptr(unsafe.Pointer(&s__58))), bp+64)
- _v135 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 12))
- _ = Xsqlite3_close(t, _v135)
- crt.Xexit(t, 1)
- goto l24
-l24:
- goto l25
-l25:
-
- _v139 = s_trySql(t, int32(uintptr(unsafe.Pointer(&s__59))), 0)
- _v141 = crt.Bool32(int32(_v139) == int32(5))
- if _v141 != 0 {
- goto l26
- }
- goto l27
-l26:
- _ = Xsqlite3_sleep(t, 10)
- _v145 = int32(int32(_v8) + int32(0))
- _v146 = *(*int32)(unsafe.Pointer(uintptr(_v145)))
- _v147 = int32(int32(_v146) + int32(10))
- *(*int32)(unsafe.Pointer(uintptr(_v145))) = _v147
- goto l25
-l27:
- _ = Xsqlite3_sleep(t, 100)
- _v151 = int32(int32(_v8) + int32(0))
- _v152 = *(*int32)(unsafe.Pointer(uintptr(_v151)))
- _v153 = int32(int32(_v152) + int32(100))
- *(*int32)(unsafe.Pointer(uintptr(_v151))) = _v153
- goto l2
-l29:
- _v157 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 12))
- _v158 = Xsqlite3_errmsg(t, _v157)
- *(*int32)(unsafe.Pointer(bp + 72)) = _v158
- s_fatalError(t, int32(uintptr(unsafe.Pointer(&s__55))), bp+72)
- goto l2
-l30:
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 88)) = 10000
- goto l31
-l31:
- return 0
-}
-
-var s__47 = [12]byte{0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74}
-
-var s__48 = [16]byte{0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45}
-
-var s__49 = [19]byte{
- 0x69, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3a, 0x20,
- 0x25, 0x73,
-}
-
-var s__50 = [53]byte{
- 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x20,
- 0x53, 0x45, 0x54, 0x20, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x3d, 0x6e, 0x45, 0x72, 0x72, 0x6f,
- 0x72, 0x2b, 0x25, 0x64, 0x2c, 0x20, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x3d, 0x6e, 0x54, 0x65, 0x73,
- 0x74, 0x2b, 0x25, 0x64,
-}
-
-var s__51 = [46]byte{
- 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x20, 0x31, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0x20, 0x63, 0x6c,
- 0x69, 0x65, 0x6e, 0x74, 0x20, 0x57, 0x48, 0x45, 0x52, 0x45, 0x20, 0x69, 0x64, 0x3d, 0x25, 0x64,
- 0x20, 0x41, 0x4e, 0x44, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x48, 0x61, 0x6c, 0x74,
-}
-
-var s__52 = [31]byte{
- 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0x20, 0x63, 0x6c, 0x69, 0x65,
- 0x6e, 0x74, 0x20, 0x57, 0x48, 0x45, 0x52, 0x45, 0x20, 0x69, 0x64, 0x3d, 0x25, 0x64,
-}
-
-var s__53 = [20]byte{
- 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x20, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49,
- 0x4f, 0x4e, 0x3b,
-}
-
-var s__54 = [92]byte{
- 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x20, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2c, 0x20, 0x69,
- 0x64, 0x2c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0x20, 0x74, 0x61, 0x73,
- 0x6b, 0x20, 0x57, 0x48, 0x45, 0x52, 0x45, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x3d, 0x25,
- 0x64, 0x20, 0x41, 0x4e, 0x44, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x20,
- 0x49, 0x53, 0x20, 0x4e, 0x55, 0x4c, 0x4c, 0x20, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x20, 0x42, 0x59,
- 0x20, 0x69, 0x64, 0x20, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x20, 0x31,
-}
-
-var s__55 = [3]byte{0x25, 0x73}
-
-var s__56 = [83]byte{
- 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x20, 0x20, 0x53, 0x45,
- 0x54, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x3d, 0x73, 0x74, 0x72, 0x66,
- 0x74, 0x69, 0x6d, 0x65, 0x28, 0x27, 0x25, 0x25, 0x59, 0x2d, 0x25, 0x25, 0x6d, 0x2d, 0x25, 0x25,
- 0x64, 0x20, 0x25, 0x25, 0x48, 0x3a, 0x25, 0x25, 0x4d, 0x3a, 0x25, 0x25, 0x66, 0x27, 0x2c, 0x27,
- 0x6e, 0x6f, 0x77, 0x27, 0x29, 0x20, 0x57, 0x48, 0x45, 0x52, 0x45, 0x20, 0x69, 0x64, 0x3d, 0x25,
- 0x64, 0x3b,
-}
-
-var s__57 = [49]byte{
- 0x57, 0x61, 0x69, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x33, 0x30, 0x20, 0x73,
- 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x6e, 0x6f, 0x20, 0x77,
- 0x6f, 0x72, 0x6b, 0x2e, 0x20, 0x20, 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x70, 0x2e,
-}
-
-var s__58 = [40]byte{
- 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0x20, 0x63, 0x6c, 0x69, 0x65,
- 0x6e, 0x74, 0x20, 0x57, 0x48, 0x45, 0x52, 0x45, 0x20, 0x69, 0x64, 0x3d, 0x25, 0x64, 0x3b, 0x20,
- 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x3b,
-}
-
-var s__59 = [7]byte{0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54}
-
-func s_finishScript(t *crt.TLS, _v1 int32, _v2 int32, _v3 int32) int32 {
- bp := t.Alloc(16)
- defer t.Free(16)
- *(*int32)(unsafe.Pointer(bp + 0)) = _v2
- s_runSql(t, int32(uintptr(unsafe.Pointer(&s__61))), bp+0)
- if _v3 != 0 {
- goto l2
- }
- goto l3
-l2:
- *(*int32)(unsafe.Pointer(bp + 8)) = _v1
- s_runSql(t, int32(uintptr(unsafe.Pointer(&s__52))), bp+8)
- goto l3
-l3:
- return 0
-}
-
-var s__60 = [13]byte{0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74}
-
-var s__61 = [81]byte{
- 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x20, 0x20, 0x53, 0x45,
- 0x54, 0x20, 0x65, 0x6e, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x3d, 0x73, 0x74, 0x72, 0x66, 0x74, 0x69,
- 0x6d, 0x65, 0x28, 0x27, 0x25, 0x25, 0x59, 0x2d, 0x25, 0x25, 0x6d, 0x2d, 0x25, 0x25, 0x64, 0x20,
- 0x25, 0x25, 0x48, 0x3a, 0x25, 0x25, 0x4d, 0x3a, 0x25, 0x25, 0x66, 0x27, 0x2c, 0x27, 0x6e, 0x6f,
- 0x77, 0x27, 0x29, 0x20, 0x57, 0x48, 0x45, 0x52, 0x45, 0x20, 0x69, 0x64, 0x3d, 0x25, 0x64, 0x3b,
-}
-
-func s_startClient(t *crt.TLS, _v1 int32) {
- bp := t.Alloc(112)
- defer t.Free(112)
- var _v13 int32 // %t10
- var _v16 int32 // %t13
- var _v20 int32 // %t17
- var _v21 int32 // %t18
- var _v22 int32 // %t19
- var _v25 int32 // %t22
- var _v27 int32 // %t24
- var _v28 int32 // %t25
- var _v29 int32 // %t26
- var _v32 int32 // %t29
- var _v34 int32 // %t31
- var _v35 int32 // %t32
- var _v36 int32 // %t33
- var _v39 int32 // %t36
- var _v41 int32 // %t38
- var _v44 int32 // %t41
- var _v45 int32 // %t42
- var _v46 int32 // %t43
- var _v49 int32 // %t46
- var _v51 int32 // %t48
- var _v8 int32 // %t5
- var _v53 int32 // %t50
- var _v55 int32 // %t52
- var _v56 int32 // %t53
- var _v57 int32 // %t54
- var _v58 int32 // %t55
- var _v59 int32 // %t56
- var _v60 int32 // %t57
- var _v61 int32 // %t58
- var _v9 int32 // %t6
- var _v63 int32 // %t60
- var _v64 int32 // %t61
- var _v2 = int32(bp + 96) // %v2
- var _v3 = int32(bp + 100) // %v3
- *(*int32)(unsafe.Pointer(bp + 0)) = _v1
- s_runSql(t, int32(uintptr(unsafe.Pointer(&s__63))), bp+0)
- _v8 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 12))
- _v9 = Xsqlite3_changes(t, _v8)
- if _v9 != 0 {
- goto l2
- }
- goto l13
-l2:
- _v13 = *(*int32)(unsafe.Pointer(&s_g))
- _v16 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 8))
- _v20 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 68))
- *(*int32)(unsafe.Pointer(bp + 8)) = _v13
-
- *(*int32)(unsafe.Pointer(bp + 16)) = _v16
-
- *(*int32)(unsafe.Pointer(bp + 24)) = _v1
-
- *(*int32)(unsafe.Pointer(bp + 32)) = _v20
-
- _v21 = Xsqlite3_mprintf(t, int32(uintptr(unsafe.Pointer(&s__64))), bp+8)
- _v22 = int32(int32(_v2) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v22))) = _v21
- _v25 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 72))
- if _v25 != 0 {
- goto l3
- }
- goto l4
-l3:
- _v27 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- *(*int32)(unsafe.Pointer(bp + 40)) = _v27
-
- _v28 = Xsqlite3_mprintf(t, int32(uintptr(unsafe.Pointer(&s__65))), bp+40)
- _v29 = int32(int32(_v2) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v29))) = _v28
- goto l4
-l4:
- _v32 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 92))
- if _v32 != 0 {
- goto l5
- }
- goto l6
-l5:
- _v34 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- *(*int32)(unsafe.Pointer(bp + 48)) = _v34
-
- _v35 = Xsqlite3_mprintf(t, int32(uintptr(unsafe.Pointer(&s__66))), bp+48)
- _v36 = int32(int32(_v2) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v36))) = _v35
- goto l6
-l6:
- _v39 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 4))
- if _v39 != 0 {
- goto l7
- }
- goto l8
-l7:
- _v41 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v44 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 4))
- *(*int32)(unsafe.Pointer(bp + 56)) = _v41
-
- *(*int32)(unsafe.Pointer(bp + 64)) = _v44
-
- _v45 = Xsqlite3_mprintf(t, int32(uintptr(unsafe.Pointer(&s__67))), bp+56)
- _v46 = int32(int32(_v2) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v46))) = _v45
- goto l8
-l8:
- _v49 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 68))
- _v51 = crt.Bool32(int32(_v49) >= int32(2))
- if _v51 != 0 {
- goto l9
- }
- goto l10
-l9:
- _v53 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- *(*int32)(unsafe.Pointer(bp + 72)) = _v53
- s_logMessage(t, int32(uintptr(unsafe.Pointer(&s__68))), bp+72)
- goto l10
-l10:
- _v55 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- *(*int32)(unsafe.Pointer(bp + 80)) = _v55
-
- _v56 = Xsqlite3_mprintf(t, int32(uintptr(unsafe.Pointer(&s__69))), bp+80)
- _v57 = int32(int32(_v2) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v57))) = _v56
- _v58 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v59 = crt.Xsystem(t, _v58)
- _v60 = int32(int32(_v3) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v60))) = _v59
- _v61 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- if _v61 != 0 {
- goto l11
- }
- goto l12
-l11:
- _v63 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- *(*int32)(unsafe.Pointer(bp + 88)) = _v63
- s_errorMessage(t, int32(uintptr(unsafe.Pointer(&s__70))), bp+88)
- goto l12
-l12:
- _v64 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- Xsqlite3_free(t, _v64)
- goto l13
-l13:
- goto l14
-l14:
-}
-
-var s__62 = [12]byte{0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74}
-
-var s__63 = [42]byte{
- 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x20, 0x4f, 0x52, 0x20, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45,
- 0x20, 0x49, 0x4e, 0x54, 0x4f, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x56, 0x41, 0x4c,
- 0x55, 0x45, 0x53, 0x28, 0x25, 0x64, 0x2c, 0x30, 0x29,
-}
-
-var s__64 = [31]byte{
- 0x25, 0x73, 0x20, 0x22, 0x25, 0x73, 0x22, 0x20, 0x2d, 0x2d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
- 0x20, 0x25, 0x64, 0x20, 0x2d, 0x2d, 0x74, 0x72, 0x61, 0x63, 0x65, 0x20, 0x25, 0x64,
-}
-
-var s__65 = [14]byte{0x25, 0x7a, 0x20, 0x2d, 0x2d, 0x73, 0x71, 0x6c, 0x74, 0x72, 0x61, 0x63, 0x65}
-
-var s__66 = [10]byte{0x25, 0x7a, 0x20, 0x2d, 0x2d, 0x73, 0x79, 0x6e, 0x63}
-
-var s__67 = [14]byte{0x25, 0x7a, 0x20, 0x2d, 0x2d, 0x76, 0x66, 0x73, 0x20, 0x22, 0x25, 0x73, 0x22}
-
-var s__68 = [13]byte{0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x28, 0x27, 0x25, 0x71, 0x27, 0x29}
-
-var s__69 = [5]byte{0x25, 0x7a, 0x20, 0x26}
-
-var s__70 = [34]byte{
- 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x28, 0x29, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x77,
- 0x69, 0x74, 0x68, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x25,
- 0x64,
-}
-
-func s_readFile(t *crt.TLS, _v1 int32) int32 {
- bp := t.Alloc(32)
- defer t.Free(32)
- var _v17 int32 // %t13
- var _v18 int32 // %t14
- var _v19 int32 // %t15
- var _v20 int32 // %t16
- var _v21 int32 // %t17
- var _v23 int32 // %t19
- var _v24 int32 // %t20
- var _v25 int32 // %t21
- var _v26 int32 // %t22
- var _v28 int32 // %t24
- var _v29 int32 // %t25
- var _v30 int32 // %t26
- var _v31 int32 // %t27
- var _v7 int32 // %t3
- var _v34 int32 // %t30
- var _v35 int32 // %t31
- var _v36 int32 // %t32
- var _v37 int32 // %t33
- var _v38 int32 // %t34
- var _v40 int32 // %t36
- var _v8 int32 // %t4
- var _v10 int32 // %t6
- var _v13 int32 // %t9
- var _v2 = int32(bp + 8) // %v2
- var _v3 = int32(bp + 12) // %v3
- var _v4 = int32(bp + 16) // %v4
- _v7 = crt.Xfopen(t, _v1, int32(uintptr(unsafe.Pointer(&s__72))))
- *(*int32)(unsafe.Pointer(uintptr(_v2))) = _v7
- _v8 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v10 = crt.Bool32(int32(_v8) == int32(0))
- if _v10 != 0 {
- goto l2
- }
- goto l3
-l2:
- *(*int32)(unsafe.Pointer(bp + 0)) = _v1
- s_fatalError(t, int32(uintptr(unsafe.Pointer(&s__73))), bp+0)
- goto l3
-l3:
- _v13 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _ = crt.Xfseek(t, _v13, 0, 2)
- _v17 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v18 = crt.Xftell(t, _v17)
- _v19 = int32(int32(_v3) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v19))) = _v18
- _v20 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- crt.Xrewind(t, _v20)
- _v21 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v23 = int32(int32(_v21) + int32(1))
- _v24 = Xsqlite3_malloc(t, _v23)
- _v25 = int32(int32(_v4) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v25))) = _v24
- _v26 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v28 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v29 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v30 = crt.Xfread(t, _v26, 1, _v28, _v29)
- _v31 = int32(int32(_v3) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v31))) = _v30
- _v34 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v35 = int32(_v34 * 1)
- _v36 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v37 = int32(int32(_v36) + int32(_v35))
- *(*int8)(unsafe.Pointer(uintptr(_v37))) = 0
- _v38 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _ = crt.Xfclose(t, _v38)
- _v40 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- return _v40
-}
-
-var s__71 = [9]byte{0x72, 0x65, 0x61, 0x64, 0x46, 0x69, 0x6c, 0x65}
-
-var s__72 = [3]byte{0x72, 0x62}
-
-var s__73 = [29]byte{
- 0x63, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x22, 0x25, 0x73, 0x22,
- 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67,
-}
-
-func s_tokenLength(t *crt.TLS, _v1 int32, _v2 int32) int32 {
- bp := t.Alloc(32)
- defer t.Free(32)
- var _v17 int32 // %t10
- var _v107 int32 // %t100
- var _v108 int32 // %t101
- var _v110 int32 // %t103
- var _v111 int32 // %t104
- var _v112 int32 // %t105
- var _v113 int32 // %t106
- var _v115 int32 // %t108
- var _v116 int32 // %t109
- var _v18 int32 // %t11
- var _v117 int32 // %t110
- var _v119 int32 // %t112
- var _v120 int32 // %t113
- var _v121 int32 // %t114
- var _v122 int32 // %t115
- var _v123 int32 // %t116
- var _v125 int32 // %t118
- var _v126 int32 // %t119
- var _v19 int32 // %t12
- var _v127 int32 // %t120
- var _v128 int32 // %t121
- var _v129 int32 // %t122
- var _v130 int32 // %t123
- var _v134 int32 // %t127
- var _v135 int32 // %t128
- var _v136 int32 // %t129
- var _v20 int32 // %t13
- var _v138 int32 // %t131
- var _v142 int32 // %t135
- var _v143 int32 // %t136
- var _v144 int32 // %t137
- var _v146 int32 // %t139
- var _v147 int32 // %t140
- var _v149 int32 // %t142
- var _v150 int32 // %t143
- var _v151 int32 // %t144
- var _v153 int32 // %t146
- var _v154 int32 // %t147
- var _v155 int32 // %t148
- var _v156 int32 // %t149
- var _v158 int32 // %t151
- var _v159 int32 // %t152
- var _v160 int32 // %t153
- var _v162 int32 // %t155
- var _v163 int32 // %t156
- var _v164 int32 // %t157
- var _v165 int32 // %t158
- var _v166 int32 // %t159
- var _v167 int32 // %t160
- var _v168 int32 // %t161
- var _v170 int32 // %t163
- var _v171 int32 // %t164
- var _v173 int32 // %t166
- var _v174 int32 // %t167
- var _v175 int32 // %t168
- var _v176 int32 // %t169
- var _v24 int32 // %t17
- var _v177 int32 // %t170
- var _v181 int32 // %t174
- var _v182 int32 // %t175
- var _v183 int32 // %t176
- var _v185 int32 // %t178
- var _v189 int32 // %t182
- var _v190 int32 // %t183
- var _v191 int32 // %t184
- var _v193 int32 // %t186
- var _v194 int32 // %t187
- var _v198 int32 // %t191
- var _v199 int32 // %t192
- var _v200 int32 // %t193
- var _v202 int32 // %t195
- var _v203 int32 // %t196
- var _v204 int32 // %t197
- var _v206 int32 // %t199
- var _v207 int32 // %t200
- var _v208 int32 // %t201
- var _v209 int32 // %t202
- var _v211 int32 // %t204
- var _v212 int32 // %t205
- var _v213 int32 // %t206
- var _v215 int32 // %t208
- var _v28 int32 // %t21
- var _v217 int32 // %t210
- var _v218 int32 // %t211
- var _v219 int32 // %t212
- var _v220 int32 // %t213
- var _v222 int32 // %t215
- var _v223 int32 // %t216
- var _v224 int32 // %t217
- var _v225 int32 // %t218
- var _v226 int32 // %t219
- var _v29 int32 // %t22
- var _v227 int32 // %t220
- var _v228 int32 // %t221
- var _v229 int32 // %t222
- var _v230 int32 // %t223
- var _v232 int32 // %t225
- var _v233 int32 // %t226
- var _v235 int32 // %t228
- var _v236 int32 // %t229
- var _v30 int32 // %t23
- var _v237 int32 // %t230
- var _v238 int32 // %t231
- var _v239 int32 // %t232
- var _v240 int32 // %t233
- var _v241 int32 // %t234
- var _v242 int32 // %t235
- var _v244 int32 // %t237
- var _v245 int32 // %t238
- var _v246 int32 // %t239
- var _v248 int32 // %t241
- var _v249 int32 // %t242
- var _v250 int32 // %t243
- var _v251 int32 // %t244
- var _v252 int32 // %t245
- var _v254 int32 // %t247
- var _v255 int32 // %t248
- var _v256 int32 // %t249
- var _v32 int32 // %t25
- var _v257 int32 // %t250
- var _v258 int32 // %t251
- var _v259 int32 // %t252
- var _v260 int32 // %t253
- var _v261 int32 // %t254
- var _v262 int32 // %t255
- var _v263 int32 // %t256
- var _v267 int32 // %t260
- var _v268 int32 // %t261
- var _v269 int32 // %t262
- var _v270 int32 // %t263
- var _v272 int32 // %t265
- var _v273 int32 // %t266
- var _v274 int32 // %t267
- var _v276 int32 // %t269
- var _v277 int32 // %t270
- var _v278 int32 // %t271
- var _v280 int32 // %t273
- var _v281 int32 // %t274
- var _v282 int32 // %t275
- var _v283 int32 // %t276
- var _v284 int32 // %t277
- var _v285 int32 // %t278
- var _v36 int32 // %t29
- var _v37 int32 // %t30
- var _v38 int32 // %t31
- var _v40 int32 // %t33
- var _v41 int32 // %t34
- var _v42 int32 // %t35
- var _v47 int32 // %t40
- var _v48 int32 // %t41
- var _v49 int32 // %t42
- var _v51 int32 // %t44
- var _v53 int32 // %t46
- var _v55 int32 // %t48
- var _v56 int32 // %t49
- var _v12 int32 // %t5
- var _v57 int32 // %t50
- var _v58 int32 // %t51
- var _v59 int32 // %t52
- var _v61 int32 // %t54
- var _v62 int32 // %t55
- var _v63 int32 // %t56
- var _v64 int32 // %t57
- var _v65 int32 // %t58
- var _v13 int32 // %t6
- var _v67 int32 // %t60
- var _v68 int32 // %t61
- var _v70 int32 // %t63
- var _v72 int32 // %t65
- var _v73 int32 // %t66
- var _v74 int32 // %t67
- var _v75 int32 // %t68
- var _v76 int32 // %t69
- var _v14 int32 // %t7
- var _v77 int32 // %t70
- var _v78 int32 // %t71
- var _v79 int32 // %t72
- var _v80 int32 // %t73
- var _v81 int32 // %t74
- var _v82 int32 // %t75
- var _v86 int32 // %t79
- var _v15 int32 // %t8
- var _v87 int32 // %t80
- var _v88 int32 // %t81
- var _v90 int32 // %t83
- var _v91 int32 // %t84
- var _v92 int32 // %t85
- var _v93 int32 // %t86
- var _v95 int32 // %t88
- var _v96 int32 // %t89
- var _v16 int32 // %t9
- var _v97 int32 // %t90
- var _v99 int32 // %t92
- var _v100 int32 // %t93
- var _v101 int32 // %t94
- var _v102 int32 // %t95
- var _v103 int32 // %t96
- var _v105 int32 // %t98
- var _v106 int32 // %t99
- var _v3 = int32(bp + 0) // %v3
- var _v4 = int32(bp + 4) // %v4
- var _v5 = int32(bp + 8) // %v5
- var _v6 = int32(bp + 12) // %v6
- var _v7 = int32(bp + 16) // %v7
- *(*int32)(unsafe.Pointer(uintptr(_v3))) = 0
- _v12 = int32(int32(_v1) + int32(0))
- _v13 = int32(*(*int8)(unsafe.Pointer(uintptr(_v12))))
- _v14 = int32(int32(uint8(_v13)))
- _v15 = int32(_v14 * 2)
- _v16 = crt.X__ctype_b_loc(t)
- _v17 = *(*int32)(unsafe.Pointer(uintptr(_v16)))
- _v18 = int32(int32(_v17) + int32(_v15))
- _v19 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v18))))
- _v20 = int32(uint16(_v19))
- _v24 = int32(int32(_v20) & int32(8192))
- goto l2
-l2:
- if _v24 != 0 {
- goto l127
- }
- goto l3
-l127:
- _v42 = 1
- goto l11
-l3:
- _v28 = int32(int32(_v1) + int32(0))
- _v29 = int32(*(*int8)(unsafe.Pointer(uintptr(_v28))))
- _v30 = int32(int8(_v29))
- _v32 = crt.Bool32(int32(_v30) == int32(47))
- goto l4
-l4:
- if _v32 != 0 {
- goto l5
- }
- goto l128
-l128:
- _v41 = 0
- goto l8
-l5:
- _v36 = int32(int32(_v1) + int32(1))
- _v37 = int32(*(*int8)(unsafe.Pointer(uintptr(_v36))))
- _v38 = int32(int8(_v37))
- _v40 = crt.Bool32(int32(_v38) == int32(42))
- goto l6
-l6:
- if _v40 != 0 {
- goto l7
- }
- goto l129
-l129:
- _v41 = 0
- goto l8
-l7:
- _v41 = 1
- goto l8
-l8:
- goto l9
-l9:
- if _v41 != 0 {
- goto l130
- }
- goto l10
-l130:
- _v42 = 1
- goto l11
-l10:
- _v42 = 0
- goto l11
-l11:
- if _v42 != 0 {
- goto l12
- }
- goto l58
-l12:
- *(*int32)(unsafe.Pointer(uintptr(_v4))) = 0
- _v47 = int32(int32(_v1) + int32(0))
- _v48 = int32(*(*int8)(unsafe.Pointer(uintptr(_v47))))
- _v49 = int32(int8(_v48))
- _v51 = crt.Bool32(int32(_v49) == int32(47))
- if _v51 != 0 {
- goto l13
- }
- goto l14
-l13:
- _v53 = int32(int32(_v4) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v53))) = 1
- _v55 = int32(int32(_v3) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v55))) = 2
- goto l14
-l14:
- goto l15
-l15:
- _v56 = int32(int32(_v3) + int32(0))
- _v57 = *(*int32)(unsafe.Pointer(uintptr(_v56)))
- _v58 = int32(int32(_v57) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v56))) = _v58
- _v59 = int32(_v57 * 1)
- _v61 = int32(int32(_v1) + int32(_v59))
- _v62 = int32(*(*int8)(unsafe.Pointer(uintptr(_v61))))
- _v63 = int32(int8(_v62))
- _v64 = int32(int32(_v5) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v64))) = _v63
- _v65 = *(*int32)(unsafe.Pointer(uintptr(_v64)))
- _v67 = crt.Bool32(int32(_v65) != int32(0))
- if _v67 != 0 {
- goto l16
- }
- goto l131
-l131:
- goto l57
-l16:
- _v68 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v70 = crt.Bool32(int32(_v68) == int32(10))
- if _v70 != 0 {
- goto l17
- }
- goto l18
-l17:
- _v72 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v73 = int32(int32(_v72) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v2))) = _v73
- goto l18
-l18:
- _v74 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v75 = int32(int32(_v74) & int32(255))
- _v76 = int32(int32(uint8(_v75)))
- _v77 = int32(_v76 * 2)
- _v78 = crt.X__ctype_b_loc(t)
- _v79 = *(*int32)(unsafe.Pointer(uintptr(_v78)))
- _v80 = int32(int32(_v79) + int32(_v77))
- _v81 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v80))))
- _v82 = int32(uint16(_v81))
- _v86 = int32(int32(_v82) & int32(8192))
- if _v86 != 0 {
- goto l19
- }
- goto l21
-l19:
- goto l15
-l21:
- _v87 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- goto l22
-l22:
- if _v87 != 0 {
- goto l23
- }
- goto l132
-l132:
- _v91 = 0
- goto l26
-l23:
- _v88 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v90 = crt.Bool32(int32(_v88) == int32(42))
- goto l24
-l24:
- if _v90 != 0 {
- goto l25
- }
- goto l133
-l133:
- _v91 = 0
- goto l26
-l25:
- _v91 = 1
- goto l26
-l26:
- goto l27
-l27:
- if _v91 != 0 {
- goto l28
- }
- goto l134
-l134:
- _v100 = 0
- goto l31
-l28:
- _v92 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v93 = int32(_v92 * 1)
- _v95 = int32(int32(_v1) + int32(_v93))
- _v96 = int32(*(*int8)(unsafe.Pointer(uintptr(_v95))))
- _v97 = int32(int8(_v96))
- _v99 = crt.Bool32(int32(_v97) == int32(47))
- goto l29
-l29:
- if _v99 != 0 {
- goto l30
- }
- goto l135
-l135:
- _v100 = 0
- goto l31
-l30:
- _v100 = 1
- goto l31
-l31:
- if _v100 != 0 {
- goto l32
- }
- goto l33
-l32:
- _v101 = int32(int32(_v3) + int32(0))
- _v102 = *(*int32)(unsafe.Pointer(uintptr(_v101)))
- _v103 = int32(int32(_v102) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v101))) = _v103
- _v105 = int32(int32(_v4) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v105))) = 0
- goto l56
-l33:
- _v106 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- goto l34
-l34:
- if _v106 != 0 {
- goto l35
- }
- goto l136
-l136:
- _v107 = 1
- goto l36
-l35:
- _v107 = 0
- goto l36
-l36:
- goto l37
-l37:
- if _v107 != 0 {
- goto l38
- }
- goto l137
-l137:
- _v111 = 0
- goto l41
-l38:
- _v108 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v110 = crt.Bool32(int32(_v108) == int32(47))
- goto l39
-l39:
- if _v110 != 0 {
- goto l40
- }
- goto l138
-l138:
- _v111 = 0
- goto l41
-l40:
- _v111 = 1
- goto l41
-l41:
- goto l42
-l42:
- if _v111 != 0 {
- goto l43
- }
- goto l139
-l139:
- _v120 = 0
- goto l46
-l43:
- _v112 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v113 = int32(_v112 * 1)
- _v115 = int32(int32(_v1) + int32(_v113))
- _v116 = int32(*(*int8)(unsafe.Pointer(uintptr(_v115))))
- _v117 = int32(int8(_v116))
- _v119 = crt.Bool32(int32(_v117) == int32(42))
- goto l44
-l44:
- if _v119 != 0 {
- goto l45
- }
- goto l140
-l140:
- _v120 = 0
- goto l46
-l45:
- _v120 = 1
- goto l46
-l46:
- if _v120 != 0 {
- goto l47
- }
- goto l48
-l47:
- _v121 = int32(int32(_v3) + int32(0))
- _v122 = *(*int32)(unsafe.Pointer(uintptr(_v121)))
- _v123 = int32(int32(_v122) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v121))) = _v123
- _v125 = int32(int32(_v4) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v125))) = 1
- goto l55
-l48:
- _v126 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- goto l49
-l49:
- if _v126 != 0 {
- goto l50
- }
- goto l141
-l141:
- _v127 = 1
- goto l51
-l50:
- _v127 = 0
- goto l51
-l51:
- if _v127 != 0 {
- goto l52
- }
- goto l54
-l52:
- goto l57
-l54:
- goto l55
-l55:
- goto l56
-l56:
- goto l15
-l57:
- _v128 = int32(int32(_v3) + int32(0))
- _v129 = *(*int32)(unsafe.Pointer(uintptr(_v128)))
- _v130 = int32(int32(_v129) - int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v128))) = _v130
- goto l124
-l58:
- _v134 = int32(int32(_v1) + int32(0))
- _v135 = int32(*(*int8)(unsafe.Pointer(uintptr(_v134))))
- _v136 = int32(int8(_v135))
- _v138 = crt.Bool32(int32(_v136) == int32(45))
- goto l59
-l59:
- if _v138 != 0 {
- goto l60
- }
- goto l142
-l142:
- _v147 = 0
- goto l63
-l60:
- _v142 = int32(int32(_v1) + int32(1))
- _v143 = int32(*(*int8)(unsafe.Pointer(uintptr(_v142))))
- _v144 = int32(int8(_v143))
- _v146 = crt.Bool32(int32(_v144) == int32(45))
- goto l61
-l61:
- if _v146 != 0 {
- goto l62
- }
- goto l143
-l143:
- _v147 = 0
- goto l63
-l62:
- _v147 = 1
- goto l63
-l63:
- if _v147 != 0 {
- goto l64
- }
- goto l76
-l64:
- _v149 = int32(int32(_v3) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v149))) = 2
- goto l65
-l65:
- _v150 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v151 = int32(_v150 * 1)
- _v153 = int32(int32(_v1) + int32(_v151))
- _v154 = int32(*(*int8)(unsafe.Pointer(uintptr(_v153))))
- goto l66
-l66:
- if _v154 != 0 {
- goto l67
- }
- goto l144
-l144:
- _v163 = 0
- goto l70
-l67:
- _v155 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v156 = int32(_v155 * 1)
- _v158 = int32(int32(_v1) + int32(_v156))
- _v159 = int32(*(*int8)(unsafe.Pointer(uintptr(_v158))))
- _v160 = int32(int8(_v159))
- _v162 = crt.Bool32(int32(_v160) != int32(10))
- goto l68
-l68:
- if _v162 != 0 {
- goto l69
- }
- goto l145
-l145:
- _v163 = 0
- goto l70
-l69:
- _v163 = 1
- goto l70
-l70:
- if _v163 != 0 {
- goto l71
- }
- goto l73
-l71:
- goto l72
-l72:
- _v164 = int32(int32(_v3) + int32(0))
- _v165 = *(*int32)(unsafe.Pointer(uintptr(_v164)))
- _v166 = int32(int32(_v165) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v164))) = _v166
- goto l65
-l73:
- _v167 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v168 = int32(_v167 * 1)
- _v170 = int32(int32(_v1) + int32(_v168))
- _v171 = int32(*(*int8)(unsafe.Pointer(uintptr(_v170))))
- if _v171 != 0 {
- goto l74
- }
- goto l75
-l74:
- _v173 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v174 = int32(int32(_v173) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v2))) = _v174
- _v175 = int32(int32(_v3) + int32(0))
- _v176 = *(*int32)(unsafe.Pointer(uintptr(_v175)))
- _v177 = int32(int32(_v176) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v175))) = _v177
- goto l75
-l75:
- goto l123
-l76:
- _v181 = int32(int32(_v1) + int32(0))
- _v182 = int32(*(*int8)(unsafe.Pointer(uintptr(_v181))))
- _v183 = int32(int8(_v182))
- _v185 = crt.Bool32(int32(_v183) == int32(34))
- goto l77
-l77:
- if _v185 != 0 {
- goto l146
- }
- goto l78
-l146:
- _v194 = 1
- goto l81
-l78:
- _v189 = int32(int32(_v1) + int32(0))
- _v190 = int32(*(*int8)(unsafe.Pointer(uintptr(_v189))))
- _v191 = int32(int8(_v190))
- _v193 = crt.Bool32(int32(_v191) == int32(39))
- goto l79
-l79:
- if _v193 != 0 {
- goto l147
- }
- goto l80
-l147:
- _v194 = 1
- goto l81
-l80:
- _v194 = 0
- goto l81
-l81:
- if _v194 != 0 {
- goto l82
- }
- goto l94
-l82:
- _v198 = int32(int32(_v1) + int32(0))
- _v199 = int32(*(*int8)(unsafe.Pointer(uintptr(_v198))))
- _v200 = int32(int8(_v199))
- *(*int32)(unsafe.Pointer(uintptr(_v6))) = _v200
- _v202 = int32(int32(_v3) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v202))) = 1
- goto l83
-l83:
- _v203 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v204 = int32(_v203 * 1)
- _v206 = int32(int32(_v1) + int32(_v204))
- _v207 = int32(*(*int8)(unsafe.Pointer(uintptr(_v206))))
- if _v207 != 0 {
- goto l84
- }
- goto l148
-l148:
- goto l93
-l84:
- _v208 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v209 = int32(_v208 * 1)
- _v211 = int32(int32(_v1) + int32(_v209))
- _v212 = int32(*(*int8)(unsafe.Pointer(uintptr(_v211))))
- _v213 = int32(int8(_v212))
- _v215 = crt.Bool32(int32(_v213) == int32(10))
- if _v215 != 0 {
- goto l85
- }
- goto l86
-l85:
- _v217 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v218 = int32(int32(_v217) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v2))) = _v218
- goto l86
-l86:
- _v219 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v220 = int32(_v219 * 1)
- _v222 = int32(int32(_v1) + int32(_v220))
- _v223 = int32(*(*int8)(unsafe.Pointer(uintptr(_v222))))
- _v224 = int32(int8(_v223))
- _v225 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v226 = crt.Bool32(int32(_v224) == int32(_v225))
- if _v226 != 0 {
- goto l87
- }
- goto l91
-l87:
- _v227 = int32(int32(_v3) + int32(0))
- _v228 = *(*int32)(unsafe.Pointer(uintptr(_v227)))
- _v229 = int32(int32(_v228) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v227))) = _v229
- _v230 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v232 = int32(int32(_v230) + int32(1))
- _v233 = int32(_v232 * 1)
- _v235 = int32(int32(_v1) + int32(_v233))
- _v236 = int32(*(*int8)(unsafe.Pointer(uintptr(_v235))))
- _v237 = int32(int8(_v236))
- _v238 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v239 = crt.Bool32(int32(_v237) != int32(_v238))
- if _v239 != 0 {
- goto l88
- }
- goto l90
-l88:
- goto l93
-l90:
- goto l91
-l91:
- goto l92
-l92:
- _v240 = int32(int32(_v3) + int32(0))
- _v241 = *(*int32)(unsafe.Pointer(uintptr(_v240)))
- _v242 = int32(int32(_v241) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v240))) = _v242
- goto l83
-l93:
- goto l122
-l94:
- _v244 = int32(int32(_v3) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v244))) = 1
- goto l95
-l95:
- _v245 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v246 = int32(_v245 * 1)
- _v248 = int32(int32(_v1) + int32(_v246))
- _v249 = int32(*(*int8)(unsafe.Pointer(uintptr(_v248))))
- _v250 = int32(int8(_v249))
- _v251 = int32(int32(_v7) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v251))) = _v250
- _v252 = *(*int32)(unsafe.Pointer(uintptr(_v251)))
- _v254 = crt.Bool32(int32(_v252) != int32(0))
- goto l96
-l96:
- if _v254 != 0 {
- goto l97
- }
- goto l149
-l149:
- _v269 = 0
- goto l103
-l97:
- _v255 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v256 = int32(int32(_v255) & int32(255))
- _v257 = int32(int32(uint8(_v256)))
- _v258 = int32(_v257 * 2)
- _v259 = crt.X__ctype_b_loc(t)
- _v260 = *(*int32)(unsafe.Pointer(uintptr(_v259)))
- _v261 = int32(int32(_v260) + int32(_v258))
- _v262 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v261))))
- _v263 = int32(uint16(_v262))
- _v267 = int32(int32(_v263) & int32(8192))
- goto l98
-l98:
- if _v267 != 0 {
- goto l99
- }
- goto l150
-l150:
- _v268 = 1
- goto l100
-l99:
- _v268 = 0
- goto l100
-l100:
- goto l101
-l101:
- if _v268 != 0 {
- goto l102
- }
- goto l151
-l151:
- _v269 = 0
- goto l103
-l102:
- _v269 = 1
- goto l103
-l103:
- goto l104
-l104:
- if _v269 != 0 {
- goto l105
- }
- goto l152
-l152:
- _v273 = 0
- goto l108
-l105:
- _v270 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v272 = crt.Bool32(int32(_v270) != int32(34))
- goto l106
-l106:
- if _v272 != 0 {
- goto l107
- }
- goto l153
-l153:
- _v273 = 0
- goto l108
-l107:
- _v273 = 1
- goto l108
-l108:
- goto l109
-l109:
- if _v273 != 0 {
- goto l110
- }
- goto l154
-l154:
- _v277 = 0
- goto l113
-l110:
- _v274 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v276 = crt.Bool32(int32(_v274) != int32(39))
- goto l111
-l111:
- if _v276 != 0 {
- goto l112
- }
- goto l155
-l155:
- _v277 = 0
- goto l113
-l112:
- _v277 = 1
- goto l113
-l113:
- goto l114
-l114:
- if _v277 != 0 {
- goto l115
- }
- goto l156
-l156:
- _v281 = 0
- goto l118
-l115:
- _v278 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v280 = crt.Bool32(int32(_v278) != int32(59))
- goto l116
-l116:
- if _v280 != 0 {
- goto l117
- }
- goto l157
-l157:
- _v281 = 0
- goto l118
-l117:
- _v281 = 1
- goto l118
-l118:
- if _v281 != 0 {
- goto l119
- }
- goto l121
-l119:
- goto l120
-l120:
- _v282 = int32(int32(_v3) + int32(0))
- _v283 = *(*int32)(unsafe.Pointer(uintptr(_v282)))
- _v284 = int32(int32(_v283) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v282))) = _v284
- goto l95
-l121:
- goto l122
-l122:
- goto l123
-l123:
- goto l124
-l124:
- _v285 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- return _v285
-}
-
-var s__74 = [12]byte{0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68}
-
-func s_extractToken(t *crt.TLS, _v1 int32, _v2 int32, _v3 int32, _v4 int32) int32 {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v16 int32 // %t10
- var _v19 int32 // %t13
- var _v20 int32 // %t14
- var _v22 int32 // %t16
- var _v23 int32 // %t17
- var _v26 int32 // %t20
- var _v27 int32 // %t21
- var _v28 int32 // %t22
- var _v29 int32 // %t23
- var _v30 int32 // %t24
- var _v32 int32 // %t26
- var _v33 int32 // %t27
- var _v34 int32 // %t28
- var _v35 int32 // %t29
- var _v36 int32 // %t30
- var _v37 int32 // %t31
- var _v38 int32 // %t32
- var _v39 int32 // %t33
- var _v40 int32 // %t34
- var _v44 int32 // %t38
- var _v45 int32 // %t39
- var _v10 int32 // %t4
- var _v46 int32 // %t40
- var _v47 int32 // %t41
- var _v48 int32 // %t42
- var _v50 int32 // %t44
- var _v51 int32 // %t45
- var _v52 int32 // %t46
- var _v53 int32 // %t47
- var _v54 int32 // %t48
- var _v55 int32 // %t49
- var _v56 int32 // %t50
- var _v57 int32 // %t51
- var _v58 int32 // %t52
- var _v61 int32 // %t55
- var _v62 int32 // %t56
- var _v63 int32 // %t57
- var _v64 int32 // %t58
- var _v65 int32 // %t59
- var _v15 int32 // %t9
- var _v5 = int32(bp + 0) // %v3
- var _v7 = int32(bp + 4) // %v5
- *(*int32)(unsafe.Pointer(uintptr(_v5))) = _v3
- _v10 = crt.Bool32(int32(_v2) <= int32(0))
- if _v10 != 0 {
- goto l2
- }
- goto l4
-l2:
- _v15 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v16 = int32(int32(_v15) + int32(0))
- *(*int8)(unsafe.Pointer(uintptr(_v16))) = 0
- return 0
-l4:
- _v19 = int32(int32(_v7) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v19))) = 0
- goto l5
-l5:
- _v20 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v22 = crt.Bool32(int32(_v20) < int32(_v2))
- goto l6
-l6:
- if _v22 != 0 {
- goto l7
- }
- goto l24
-l24:
- _v28 = 0
- goto l10
-l7:
- _v23 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v26 = int32(int32(_v4) - int32(1))
- _v27 = crt.Bool32(int32(_v23) < int32(_v26))
- goto l8
-l8:
- if _v27 != 0 {
- goto l9
- }
- goto l25
-l25:
- _v28 = 0
- goto l10
-l9:
- _v28 = 1
- goto l10
-l10:
- goto l11
-l11:
- if _v28 != 0 {
- goto l12
- }
- goto l26
-l26:
- _v46 = 0
- goto l18
-l12:
- _v29 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v30 = int32(_v29 * 1)
- _v32 = int32(int32(_v1) + int32(_v30))
- _v33 = int32(*(*int8)(unsafe.Pointer(uintptr(_v32))))
- _v34 = int32(int32(uint8(_v33)))
- _v35 = int32(_v34 * 2)
- _v36 = crt.X__ctype_b_loc(t)
- _v37 = *(*int32)(unsafe.Pointer(uintptr(_v36)))
- _v38 = int32(int32(_v37) + int32(_v35))
- _v39 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v38))))
- _v40 = int32(uint16(_v39))
- _v44 = int32(int32(_v40) & int32(8192))
- goto l13
-l13:
- if _v44 != 0 {
- goto l14
- }
- goto l27
-l27:
- _v45 = 1
- goto l15
-l14:
- _v45 = 0
- goto l15
-l15:
- goto l16
-l16:
- if _v45 != 0 {
- goto l17
- }
- goto l28
-l28:
- _v46 = 0
- goto l18
-l17:
- _v46 = 1
- goto l18
-l18:
- if _v46 != 0 {
- goto l19
- }
- goto l21
-l19:
- _v47 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v48 = int32(_v47 * 1)
- _v50 = int32(int32(_v1) + int32(_v48))
- _v51 = int32(*(*int8)(unsafe.Pointer(uintptr(_v50))))
- _v52 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v53 = int32(_v52 * 1)
- _v54 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v55 = int32(int32(_v54) + int32(_v53))
- *(*int8)(unsafe.Pointer(uintptr(_v55))) = int8(_v51)
- goto l20
-l20:
- _v56 = int32(int32(_v7) + int32(0))
- _v57 = *(*int32)(unsafe.Pointer(uintptr(_v56)))
- _v58 = int32(int32(_v57) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v56))) = _v58
- goto l5
-l21:
- _v61 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v62 = int32(_v61 * 1)
- _v63 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v64 = int32(int32(_v63) + int32(_v62))
- *(*int8)(unsafe.Pointer(uintptr(_v64))) = 0
- _v65 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- return _v65
-}
-
-var s__75 = [13]byte{0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e}
-
-func s_findEnd(t *crt.TLS, _v1 int32, _v2 int32) int32 {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v15 int32 // %t12
- var _v16 int32 // %t13
- var _v18 int32 // %t15
- var _v19 int32 // %t16
- var _v21 int32 // %t18
- var _v22 int32 // %t19
- var _v5 int32 // %t2
- var _v23 int32 // %t20
- var _v24 int32 // %t21
- var _v25 int32 // %t22
- var _v26 int32 // %t23
- var _v27 int32 // %t24
- var _v28 int32 // %t25
- var _v29 int32 // %t26
- var _v6 int32 // %t3
- var _v33 int32 // %t30
- var _v34 int32 // %t31
- var _v35 int32 // %t32
- var _v36 int32 // %t33
- var _v38 int32 // %t35
- var _v39 int32 // %t36
- var _v41 int32 // %t38
- var _v42 int32 // %t39
- var _v43 int32 // %t40
- var _v44 int32 // %t41
- var _v45 int32 // %t42
- var _v8 int32 // %t5
- var _v9 int32 // %t6
- var _v11 int32 // %t8
- var _v12 int32 // %t9
- var _v3 = int32(bp + 0) // %v3
- *(*int32)(unsafe.Pointer(uintptr(_v3))) = 0
- goto l2
-l2:
- _v5 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v6 = int32(_v5 * 1)
- _v8 = int32(int32(_v1) + int32(_v6))
- _v9 = int32(*(*int8)(unsafe.Pointer(uintptr(_v8))))
- goto l3
-l3:
- if _v9 != 0 {
- goto l4
- }
- goto l20
-l20:
- _v36 = 0
- goto l15
-l4:
- _v11 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v12 = int32(int32(_v1) + int32(_v11))
- _v15 = crt.Xstrncmp(t, _v12, int32(uintptr(unsafe.Pointer(&s__77))), 5)
- goto l5
-l5:
- if _v15 != 0 {
- goto l21
- }
- goto l6
-l21:
- _v35 = 1
- goto l12
-l6:
- _v16 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v18 = int32(int32(_v16) + int32(5))
- _v19 = int32(_v18 * 1)
- _v21 = int32(int32(_v1) + int32(_v19))
- _v22 = int32(*(*int8)(unsafe.Pointer(uintptr(_v21))))
- _v23 = int32(int32(uint8(_v22)))
- _v24 = int32(_v23 * 2)
- _v25 = crt.X__ctype_b_loc(t)
- _v26 = *(*int32)(unsafe.Pointer(uintptr(_v25)))
- _v27 = int32(int32(_v26) + int32(_v24))
- _v28 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v27))))
- _v29 = int32(uint16(_v28))
- _v33 = int32(int32(_v29) & int32(8192))
- goto l7
-l7:
- if _v33 != 0 {
- goto l8
- }
- goto l22
-l22:
- _v34 = 1
- goto l9
-l8:
- _v34 = 0
- goto l9
-l9:
- goto l10
-l10:
- if _v34 != 0 {
- goto l23
- }
- goto l11
-l23:
- _v35 = 1
- goto l12
-l11:
- _v35 = 0
- goto l12
-l12:
- goto l13
-l13:
- if _v35 != 0 {
- goto l14
- }
- goto l24
-l24:
- _v36 = 0
- goto l15
-l14:
- _v36 = 1
- goto l15
-l15:
- if _v36 != 0 {
- goto l16
- }
- goto l17
-l16:
- _v38 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v39 = int32(int32(_v1) + int32(_v38))
- _v41 = s_tokenLength(t, _v39, _v2)
- _v42 = int32(int32(_v3) + int32(0))
- _v43 = *(*int32)(unsafe.Pointer(uintptr(_v42)))
- _v44 = int32(int32(_v43) + int32(_v41))
- *(*int32)(unsafe.Pointer(uintptr(_v42))) = _v44
- goto l2
-l17:
- _v45 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- return _v45
-}
-
-var s__76 = [8]byte{0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x64}
-
-var s__77 = [6]byte{0x2d, 0x2d, 0x65, 0x6e, 0x64}
-
-func s_findEndif(t *crt.TLS, _v1 int32, _v2 int32, _v3 int32) int32 {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v106 int32 // %t100
- var _v107 int32 // %t101
- var _v108 int32 // %t102
- var _v109 int32 // %t103
- var _v112 int32 // %t106
- var _v113 int32 // %t107
- var _v114 int32 // %t108
- var _v115 int32 // %t109
- var _v17 int32 // %t11
- var _v116 int32 // %t110
- var _v117 int32 // %t111
- var _v118 int32 // %t112
- var _v119 int32 // %t113
- var _v120 int32 // %t114
- var _v121 int32 // %t115
- var _v122 int32 // %t116
- var _v123 int32 // %t117
- var _v19 int32 // %t13
- var _v20 int32 // %t14
- var _v23 int32 // %t17
- var _v25 int32 // %t19
- var _v8 int32 // %t2
- var _v26 int32 // %t20
- var _v28 int32 // %t22
- var _v29 int32 // %t23
- var _v31 int32 // %t25
- var _v32 int32 // %t26
- var _v33 int32 // %t27
- var _v34 int32 // %t28
- var _v35 int32 // %t29
- var _v9 int32 // %t3
- var _v36 int32 // %t30
- var _v37 int32 // %t31
- var _v38 int32 // %t32
- var _v39 int32 // %t33
- var _v43 int32 // %t37
- var _v44 int32 // %t38
- var _v47 int32 // %t41
- var _v48 int32 // %t42
- var _v51 int32 // %t45
- var _v53 int32 // %t47
- var _v54 int32 // %t48
- var _v55 int32 // %t49
- var _v11 int32 // %t5
- var _v57 int32 // %t51
- var _v58 int32 // %t52
- var _v60 int32 // %t54
- var _v61 int32 // %t55
- var _v62 int32 // %t56
- var _v63 int32 // %t57
- var _v64 int32 // %t58
- var _v65 int32 // %t59
- var _v12 int32 // %t6
- var _v66 int32 // %t60
- var _v67 int32 // %t61
- var _v68 int32 // %t62
- var _v72 int32 // %t66
- var _v73 int32 // %t67
- var _v74 int32 // %t68
- var _v75 int32 // %t69
- var _v76 int32 // %t70
- var _v77 int32 // %t71
- var _v79 int32 // %t73
- var _v80 int32 // %t74
- var _v83 int32 // %t77
- var _v85 int32 // %t79
- var _v14 int32 // %t8
- var _v86 int32 // %t80
- var _v88 int32 // %t82
- var _v89 int32 // %t83
- var _v91 int32 // %t85
- var _v92 int32 // %t86
- var _v93 int32 // %t87
- var _v94 int32 // %t88
- var _v95 int32 // %t89
- var _v15 int32 // %t9
- var _v96 int32 // %t90
- var _v97 int32 // %t91
- var _v98 int32 // %t92
- var _v99 int32 // %t93
- var _v103 int32 // %t97
- var _v104 int32 // %t98
- var _v4 = int32(bp + 0) // %v4
- var _v5 = int32(bp + 4) // %v5
- var _v6 = int32(bp + 8) // %v6
- *(*int32)(unsafe.Pointer(uintptr(_v4))) = 0
- goto l2
-l2:
- _v8 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v9 = int32(_v8 * 1)
- _v11 = int32(int32(_v1) + int32(_v9))
- _v12 = int32(*(*int8)(unsafe.Pointer(uintptr(_v11))))
- if _v12 != 0 {
- goto l3
- }
- goto l35
-l3:
- _v14 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v15 = int32(int32(_v1) + int32(_v14))
- _v17 = s_tokenLength(t, _v15, _v3)
- *(*int32)(unsafe.Pointer(uintptr(_v5))) = _v17
- _v19 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v20 = int32(int32(_v1) + int32(_v19))
- _v23 = crt.Xstrncmp(t, _v20, int32(uintptr(unsafe.Pointer(&s__79))), 7)
- _v25 = crt.Bool32(int32(_v23) == int32(0))
- goto l4
-l4:
- if _v25 != 0 {
- goto l5
- }
- goto l38
-l38:
- _v44 = 0
- goto l8
-l5:
- _v26 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v28 = int32(int32(_v26) + int32(7))
- _v29 = int32(_v28 * 1)
- _v31 = int32(int32(_v1) + int32(_v29))
- _v32 = int32(*(*int8)(unsafe.Pointer(uintptr(_v31))))
- _v33 = int32(int32(uint8(_v32)))
- _v34 = int32(_v33 * 2)
- _v35 = crt.X__ctype_b_loc(t)
- _v36 = *(*int32)(unsafe.Pointer(uintptr(_v35)))
- _v37 = int32(int32(_v36) + int32(_v34))
- _v38 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v37))))
- _v39 = int32(uint16(_v38))
- _v43 = int32(int32(_v39) & int32(8192))
- goto l6
-l6:
- if _v43 != 0 {
- goto l7
- }
- goto l39
-l39:
- _v44 = 0
- goto l8
-l7:
- _v44 = 1
- goto l8
-l8:
- goto l9
-l9:
- if _v44 != 0 {
- goto l40
- }
- goto l10
-l40:
- _v74 = 1
- goto l23
-l10:
- goto l11
-l11:
- if _v2 != 0 {
- goto l12
- }
- goto l41
-l41:
- _v54 = 0
- goto l15
-l12:
- _v47 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v48 = int32(int32(_v1) + int32(_v47))
- _v51 = crt.Xstrncmp(t, _v48, int32(uintptr(unsafe.Pointer(&s__80))), 6)
- _v53 = crt.Bool32(int32(_v51) == int32(0))
- goto l13
-l13:
- if _v53 != 0 {
- goto l14
- }
- goto l42
-l42:
- _v54 = 0
- goto l15
-l14:
- _v54 = 1
- goto l15
-l15:
- goto l16
-l16:
- if _v54 != 0 {
- goto l17
- }
- goto l43
-l43:
- _v73 = 0
- goto l20
-l17:
- _v55 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v57 = int32(int32(_v55) + int32(6))
- _v58 = int32(_v57 * 1)
- _v60 = int32(int32(_v1) + int32(_v58))
- _v61 = int32(*(*int8)(unsafe.Pointer(uintptr(_v60))))
- _v62 = int32(int32(uint8(_v61)))
- _v63 = int32(_v62 * 2)
- _v64 = crt.X__ctype_b_loc(t)
- _v65 = *(*int32)(unsafe.Pointer(uintptr(_v64)))
- _v66 = int32(int32(_v65) + int32(_v63))
- _v67 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v66))))
- _v68 = int32(uint16(_v67))
- _v72 = int32(int32(_v68) & int32(8192))
- goto l18
-l18:
- if _v72 != 0 {
- goto l19
- }
- goto l44
-l44:
- _v73 = 0
- goto l20
-l19:
- _v73 = 1
- goto l20
-l20:
- goto l21
-l21:
- if _v73 != 0 {
- goto l45
- }
- goto l22
-l45:
- _v74 = 1
- goto l23
-l22:
- _v74 = 0
- goto l23
-l23:
- if _v74 != 0 {
- goto l24
- }
- goto l26
-l24:
- _v75 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v76 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v77 = int32(int32(_v75) + int32(_v76))
- return _v77
-l26:
- _v79 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v80 = int32(int32(_v1) + int32(_v79))
- _v83 = crt.Xstrncmp(t, _v80, int32(uintptr(unsafe.Pointer(&s__81))), 4)
- _v85 = crt.Bool32(int32(_v83) == int32(0))
- goto l27
-l27:
- if _v85 != 0 {
- goto l28
- }
- goto l46
-l46:
- _v104 = 0
- goto l31
-l28:
- _v86 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v88 = int32(int32(_v86) + int32(4))
- _v89 = int32(_v88 * 1)
- _v91 = int32(int32(_v1) + int32(_v89))
- _v92 = int32(*(*int8)(unsafe.Pointer(uintptr(_v91))))
- _v93 = int32(int32(uint8(_v92)))
- _v94 = int32(_v93 * 2)
- _v95 = crt.X__ctype_b_loc(t)
- _v96 = *(*int32)(unsafe.Pointer(uintptr(_v95)))
- _v97 = int32(int32(_v96) + int32(_v94))
- _v98 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v97))))
- _v99 = int32(uint16(_v98))
- _v103 = int32(int32(_v99) & int32(8192))
- goto l29
-l29:
- if _v103 != 0 {
- goto l30
- }
- goto l47
-l47:
- _v104 = 0
- goto l31
-l30:
- _v104 = 1
- goto l31
-l31:
- if _v104 != 0 {
- goto l32
- }
- goto l33
-l32:
- _v106 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v107 = int32(int32(_v1) + int32(_v106))
- _v108 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v109 = int32(int32(_v107) + int32(_v108))
- _v112 = s_findEndif(t, _v109, 0, _v3)
- *(*int32)(unsafe.Pointer(uintptr(_v6))) = _v112
- _v113 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v114 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v115 = int32(int32(_v113) + int32(_v114))
- _v116 = int32(int32(_v4) + int32(0))
- _v117 = *(*int32)(unsafe.Pointer(uintptr(_v116)))
- _v118 = int32(int32(_v117) + int32(_v115))
- *(*int32)(unsafe.Pointer(uintptr(_v116))) = _v118
- goto l34
-l33:
- _v119 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v120 = int32(int32(_v4) + int32(0))
- _v121 = *(*int32)(unsafe.Pointer(uintptr(_v120)))
- _v122 = int32(int32(_v121) + int32(_v119))
- *(*int32)(unsafe.Pointer(uintptr(_v120))) = _v122
- goto l34
-l34:
- goto l2
-l35:
- _v123 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- return _v123
-}
-
-var s__78 = [10]byte{0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x64, 0x69, 0x66}
-
-var s__79 = [8]byte{0x2d, 0x2d, 0x65, 0x6e, 0x64, 0x69, 0x66}
-
-var s__80 = [7]byte{0x2d, 0x2d, 0x65, 0x6c, 0x73, 0x65}
-
-var s__81 = [5]byte{0x2d, 0x2d, 0x69, 0x66}
-
-func s_waitForClient(t *crt.TLS, _v1 int32, _v2 int32, _v3 int32) {
- bp := t.Alloc(48)
- defer t.Free(48)
- var _v18 int32 // %t11
- var _v19 int32 // %t12
- var _v23 int32 // %t16
- var _v24 int32 // %t17
- var _v25 int32 // %t18
- var _v26 int32 // %t19
- var _v28 int32 // %t21
- var _v29 int32 // %t22
- var _v31 int32 // %t24
- var _v32 int32 // %t25
- var _v33 int32 // %t26
- var _v35 int32 // %t28
- var _v36 int32 // %t29
- var _v37 int32 // %t30
- var _v42 int32 // %t35
- var _v43 int32 // %t36
- var _v44 int32 // %t37
- var _v45 int32 // %t38
- var _v50 int32 // %t43
- var _v52 int32 // %t45
- var _v53 int32 // %t46
- var _v55 int32 // %t48
- var _v12 int32 // %t5
- var _v57 int32 // %t50
- var _v60 int32 // %t53
- var _v62 int32 // %t55
- var _v65 int32 // %t58
- var _v15 int32 // %t8
- var _v16 int32 // %t9
- var _v4 = int32(bp + 32) // %v2
- var _v6 = int32(bp + 36) // %v3
- var _v8 = int32(bp + 40) // %v4
- var _v9 = int32(bp + 44) // %v5
- *(*int32)(unsafe.Pointer(uintptr(_v4))) = _v2
- *(*int32)(unsafe.Pointer(uintptr(_v6))) = _v3
- _v12 = crt.Bool32(int32(_v1) > int32(0))
- if _v12 != 0 {
- goto l2
- }
- goto l3
-l2:
- *(*int32)(unsafe.Pointer(bp + 0)) = _v1
-
- _v15 = s_prepareSql(t, int32(uintptr(unsafe.Pointer(&s__83))), bp+0)
- _v16 = int32(int32(_v8) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v16))) = _v15
- goto l4
-l3:
-
- _v18 = s_prepareSql(t, int32(uintptr(unsafe.Pointer(&s__84))), 0)
- _v19 = int32(int32(_v8) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v19))) = _v18
- goto l4
-l4:
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 88)) = 0
- goto l5
-l5:
- _v23 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v24 = Xsqlite3_step(t, _v23)
- _v25 = int32(int32(_v9) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v25))) = _v24
- _v26 = *(*int32)(unsafe.Pointer(uintptr(_v25)))
- _v28 = crt.Bool32(int32(_v26) == int32(5))
- goto l6
-l6:
- if _v28 != 0 {
- goto l26
- }
- goto l7
-l26:
- _v32 = 1
- goto l10
-l7:
- _v29 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v31 = crt.Bool32(int32(_v29) == int32(100))
- goto l8
-l8:
- if _v31 != 0 {
- goto l27
- }
- goto l9
-l27:
- _v32 = 1
- goto l10
-l9:
- _v32 = 0
- goto l10
-l10:
- goto l11
-l11:
- if _v32 != 0 {
- goto l12
- }
- goto l28
-l28:
- _v36 = 0
- goto l15
-l12:
- _v33 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v35 = crt.Bool32(int32(_v33) > int32(0))
- goto l13
-l13:
- if _v35 != 0 {
- goto l14
- }
- goto l29
-l29:
- _v36 = 0
- goto l15
-l14:
- _v36 = 1
- goto l15
-l15:
- if _v36 != 0 {
- goto l16
- }
- goto l17
-l16:
- _v37 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _ = Xsqlite3_reset(t, _v37)
- _ = Xsqlite3_sleep(t, 50)
- _v42 = int32(int32(_v4) + int32(0))
- _v43 = *(*int32)(unsafe.Pointer(uintptr(_v42)))
- _v44 = int32(int32(_v43) - int32(50))
- *(*int32)(unsafe.Pointer(uintptr(_v42))) = _v44
- goto l5
-l17:
- _v45 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _ = Xsqlite3_finalize(t, _v45)
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 88)) = 10000
- _v50 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v52 = crt.Bool32(int32(_v50) != int32(101))
- if _v52 != 0 {
- goto l18
- }
- goto l24
-l18:
- _v53 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v55 = crt.Bool32(int32(_v53) == int32(0))
- if _v55 != 0 {
- goto l19
- }
- goto l20
-l19:
- _v57 = int32(int32(_v6) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v57))) = int32(uintptr(unsafe.Pointer(&s__85)))
- goto l20
-l20:
- _v60 = crt.Bool32(int32(_v1) > int32(0))
- if _v60 != 0 {
- goto l21
- }
- goto l22
-l21:
- _v62 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- *(*int32)(unsafe.Pointer(bp + 8)) = _v62
-
- *(*int32)(unsafe.Pointer(bp + 16)) = _v1
- s_errorMessage(t, int32(uintptr(unsafe.Pointer(&s__86))), bp+8)
- goto l23
-l22:
- _v65 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- *(*int32)(unsafe.Pointer(bp + 24)) = _v65
- s_errorMessage(t, int32(uintptr(unsafe.Pointer(&s__87))), bp+24)
- goto l23
-l23:
- goto l24
-l24:
- goto l25
-l25:
-}
-
-var s__82 = [14]byte{0x77, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74}
-
-var s__83 = [96]byte{
- 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x20, 0x31, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0x20, 0x74, 0x61,
- 0x73, 0x6b, 0x20, 0x57, 0x48, 0x45, 0x52, 0x45, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x3d,
- 0x25, 0x64, 0x20, 0x20, 0x20, 0x41, 0x4e, 0x44, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20,
- 0x49, 0x4e, 0x20, 0x28, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x20, 0x69, 0x64, 0x20, 0x46, 0x52,
- 0x4f, 0x4d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x29, 0x20, 0x20, 0x41, 0x4e, 0x44, 0x20,
- 0x65, 0x6e, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x49, 0x53, 0x20, 0x4e, 0x55, 0x4c, 0x4c,
-}
-
-var s__84 = [81]byte{
- 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x20, 0x31, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0x20, 0x74, 0x61,
- 0x73, 0x6b, 0x20, 0x57, 0x48, 0x45, 0x52, 0x45, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20,
- 0x49, 0x4e, 0x20, 0x28, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x20, 0x69, 0x64, 0x20, 0x46, 0x52,
- 0x4f, 0x4d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x29, 0x20, 0x20, 0x20, 0x41, 0x4e, 0x44,
- 0x20, 0x65, 0x6e, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x49, 0x53, 0x20, 0x4e, 0x55, 0x4c, 0x4c,
-}
-
-var s__85 [1]byte
-
-var s__86 = [32]byte{
- 0x25, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x20, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e,
- 0x67, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x25, 0x64,
-}
-
-var s__87 = [34]byte{
- 0x25, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x20, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e,
- 0x67, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
- 0x73,
-}
-
-func s_filenameTail(t *crt.TLS, _v1 int32) int32 {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v13 int32 // %t10
- var _v14 int32 // %t11
- var _v16 int32 // %t13
- var _v17 int32 // %t14
- var _v18 int32 // %t15
- var _v20 int32 // %t17
- var _v21 int32 // %t18
- var _v5 int32 // %t2
- var _v23 int32 // %t20
- var _v24 int32 // %t21
- var _v25 int32 // %t22
- var _v26 int32 // %t23
- var _v27 int32 // %t24
- var _v29 int32 // %t26
- var _v30 int32 // %t27
- var _v6 int32 // %t3
- var _v7 int32 // %t4
- var _v8 int32 // %t5
- var _v9 int32 // %t6
- var _v11 int32 // %t8
- var _v12 int32 // %t9
- var _v2 = int32(bp + 0) // %v2
- var _v3 = int32(bp + 4) // %v3
- _v5 = int32(int32(_v3) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v5))) = 0
- _v6 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v7 = int32(int32(_v2) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v7))) = _v6
- goto l2
-l2:
- _v8 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v9 = int32(_v8 * 1)
- _v11 = int32(int32(_v1) + int32(_v9))
- _v12 = int32(*(*int8)(unsafe.Pointer(uintptr(_v11))))
- if _v12 != 0 {
- goto l3
- }
- goto l7
-l3:
- _v13 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v14 = int32(_v13 * 1)
- _v16 = int32(int32(_v1) + int32(_v14))
- _v17 = int32(*(*int8)(unsafe.Pointer(uintptr(_v16))))
- _v18 = int32(int8(_v17))
- _v20 = crt.Bool32(int32(_v18) == int32(47))
- if _v20 != 0 {
- goto l4
- }
- goto l5
-l4:
- _v21 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v23 = int32(int32(_v21) + int32(1))
- _v24 = int32(int32(_v3) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v24))) = _v23
- goto l5
-l5:
- goto l6
-l6:
- _v25 = int32(int32(_v2) + int32(0))
- _v26 = *(*int32)(unsafe.Pointer(uintptr(_v25)))
- _v27 = int32(int32(_v26) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v25))) = _v27
- goto l2
-l7:
- _v29 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v30 = int32(int32(_v1) + int32(_v29))
- return _v30
-}
-
-var s__88 = [13]byte{0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x69, 0x6c}
-
-func s_booleanValue(t *crt.TLS, _v1 int32) int32 {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v12 int32 // %t10
- var _v13 int32 // %t11
- var _v14 int32 // %t12
- var _v16 int32 // %t14
- var _v17 int32 // %t15
- var _v18 int32 // %t16
- var _v20 int32 // %t18
- var _v21 int32 // %t19
- var _v22 int32 // %t20
- var _v24 int32 // %t22
- var _v25 int32 // %t23
- var _v26 int32 // %t24
- var _v27 int32 // %t25
- var _v28 int32 // %t26
- var _v29 int32 // %t27
- var _v31 int32 // %t29
- var _v5 int32 // %t3
- var _v32 int32 // %t30
- var _v33 int32 // %t31
- var _v35 int32 // %t33
- var _v36 int32 // %t34
- var _v37 int32 // %t35
- var _v39 int32 // %t37
- var _v40 int32 // %t38
- var _v42 int32 // %t40
- var _v45 int32 // %t43
- var _v47 int32 // %t45
- var _v50 int32 // %t48
- var _v52 int32 // %t50
- var _v53 int32 // %t51
- var _v57 int32 // %t55
- var _v59 int32 // %t57
- var _v8 int32 // %t6
- var _v62 int32 // %t60
- var _v64 int32 // %t62
- var _v65 int32 // %t63
- var _v9 int32 // %t7
- var _v10 int32 // %t8
- var _v2 = int32(bp + 8) // %v2
- _v5 = crt.Bool32(int32(_v1) == int32(0))
- if _v5 != 0 {
- goto l2
- }
- goto l4
-l2:
- return 0
-l4:
- _v8 = int32(int32(_v2) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v8))) = 0
- goto l5
-l5:
- _v9 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v10 = int32(_v9 * 1)
- _v12 = int32(int32(_v1) + int32(_v10))
- _v13 = int32(*(*int8)(unsafe.Pointer(uintptr(_v12))))
- _v14 = int32(int8(_v13))
- _v16 = crt.Bool32(int32(_v14) >= int32(48))
- goto l6
-l6:
- if _v16 != 0 {
- goto l7
- }
- goto l40
-l40:
- _v25 = 0
- goto l10
-l7:
- _v17 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v18 = int32(_v17 * 1)
- _v20 = int32(int32(_v1) + int32(_v18))
- _v21 = int32(*(*int8)(unsafe.Pointer(uintptr(_v20))))
- _v22 = int32(int8(_v21))
- _v24 = crt.Bool32(int32(_v22) <= int32(57))
- goto l8
-l8:
- if _v24 != 0 {
- goto l9
- }
- goto l41
-l41:
- _v25 = 0
- goto l10
-l9:
- _v25 = 1
- goto l10
-l10:
- if _v25 != 0 {
- goto l11
- }
- goto l13
-l11:
- goto l12
-l12:
- _v26 = int32(int32(_v2) + int32(0))
- _v27 = *(*int32)(unsafe.Pointer(uintptr(_v26)))
- _v28 = int32(int32(_v27) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v26))) = _v28
- goto l5
-l13:
- _v29 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v31 = crt.Bool32(int32(_v29) > int32(0))
- goto l14
-l14:
- if _v31 != 0 {
- goto l15
- }
- goto l42
-l42:
- _v40 = 0
- goto l18
-l15:
- _v32 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v33 = int32(_v32 * 1)
- _v35 = int32(int32(_v1) + int32(_v33))
- _v36 = int32(*(*int8)(unsafe.Pointer(uintptr(_v35))))
- _v37 = int32(int8(_v36))
- _v39 = crt.Bool32(int32(_v37) == int32(0))
- goto l16
-l16:
- if _v39 != 0 {
- goto l17
- }
- goto l43
-l43:
- _v40 = 0
- goto l18
-l17:
- _v40 = 1
- goto l18
-l18:
- if _v40 != 0 {
- goto l19
- }
- goto l21
-l19:
- _v42 = crt.Xatoi(t, _v1)
- return _v42
-l21:
- _v45 = Xsqlite3_stricmp(t, _v1, int32(uintptr(unsafe.Pointer(&s__90))))
- _v47 = crt.Bool32(int32(_v45) == int32(0))
- goto l22
-l22:
- if _v47 != 0 {
- goto l44
- }
- goto l23
-l44:
- _v53 = 1
- goto l26
-l23:
- _v50 = Xsqlite3_stricmp(t, _v1, int32(uintptr(unsafe.Pointer(&s__91))))
- _v52 = crt.Bool32(int32(_v50) == int32(0))
- goto l24
-l24:
- if _v52 != 0 {
- goto l45
- }
- goto l25
-l45:
- _v53 = 1
- goto l26
-l25:
- _v53 = 0
- goto l26
-l26:
- if _v53 != 0 {
- goto l27
- }
- goto l29
-l27:
- return 1
-l29:
- _v57 = Xsqlite3_stricmp(t, _v1, int32(uintptr(unsafe.Pointer(&s__92))))
- _v59 = crt.Bool32(int32(_v57) == int32(0))
- goto l30
-l30:
- if _v59 != 0 {
- goto l46
- }
- goto l31
-l46:
- _v65 = 1
- goto l34
-l31:
- _v62 = Xsqlite3_stricmp(t, _v1, int32(uintptr(unsafe.Pointer(&s__93))))
- _v64 = crt.Bool32(int32(_v62) == int32(0))
- goto l32
-l32:
- if _v64 != 0 {
- goto l47
- }
- goto l33
-l47:
- _v65 = 1
- goto l34
-l33:
- _v65 = 0
- goto l34
-l34:
- if _v65 != 0 {
- goto l35
- }
- goto l37
-l35:
- return 0
-l37:
- *(*int32)(unsafe.Pointer(bp + 0)) = _v1
- s_errorMessage(t, int32(uintptr(unsafe.Pointer(&s__94))), bp+0)
- return 0
-}
-
-var s__89 = [13]byte{0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65}
-
-var s__90 = [3]byte{0x6f, 0x6e}
-
-var s__91 = [4]byte{0x79, 0x65, 0x73}
-
-var s__92 = [4]byte{0x6f, 0x66, 0x66}
-
-var s__93 = [3]byte{0x6e, 0x6f}
-
-var s__94 = [22]byte{
- 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x3a,
- 0x20, 0x5b, 0x25, 0x73, 0x5d,
-}
-
-func s_test_breakpoint(t *crt.TLS) {
- var _v2 int32 // %t2
- var _v3 int32 // %t3
- _v2 = *(*int32)(unsafe.Pointer(&s__96))
- _v3 = int32(int32(_v2) + int32(1))
- *(*int32)(unsafe.Pointer(&s__96)) = _v3
- goto l2
-l2:
-}
-
-var s__95 = [16]byte{0x74, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74}
-
-var s__96 [4]byte
-
-func s_runScript(t *crt.TLS, _v1 int32, _v2 int32, _v3 int32, _v4 int32) {
- bp := t.Alloc(1744)
- defer t.Free(1744)
- var _v50 int32 // %t10
- var _v140 int32 // %t100
- var _v142 int32 // %t102
- var _v143 int32 // %t103
- var _v144 int32 // %t104
- var _v146 int32 // %t106
- var _v147 int32 // %t107
- var _v148 int32 // %t108
- var _v149 int32 // %t109
- var _v51 int32 // %t11
- var _v150 int32 // %t110
- var _v152 int32 // %t112
- var _v153 int32 // %t113
- var _v154 int32 // %t114
- var _v155 int32 // %t115
- var _v156 int32 // %t116
- var _v159 int32 // %t119
- var _v161 int32 // %t121
- var _v163 int32 // %t123
- var _v165 int32 // %t125
- var _v166 int32 // %t126
- var _v168 int32 // %t128
- var _v169 int32 // %t129
- var _v53 int32 // %t13
- var _v171 int32 // %t131
- var _v172 int32 // %t132
- var _v174 int32 // %t134
- var _v177 int32 // %t137
- var _v178 int32 // %t138
- var _v54 int32 // %t14
- var _v180 int32 // %t140
- var _v181 int32 // %t141
- var _v182 int32 // %t142
- var _v184 int32 // %t144
- var _v185 int32 // %t145
- var _v186 int32 // %t146
- var _v188 int32 // %t148
- var _v189 int32 // %t149
- var _v55 int32 // %t15
- var _v190 int32 // %t150
- var _v191 int32 // %t151
- var _v193 int32 // %t153
- var _v194 int32 // %t154
- var _v195 int32 // %t155
- var _v197 int32 // %t157
- var _v198 int32 // %t158
- var _v199 int32 // %t159
- var _v56 int32 // %t16
- var _v200 int32 // %t160
- var _v202 int32 // %t162
- var _v203 int32 // %t163
- var _v204 int32 // %t164
- var _v205 int32 // %t165
- var _v206 int32 // %t166
- var _v207 int32 // %t167
- var _v208 int32 // %t168
- var _v209 int32 // %t169
- var _v57 int32 // %t17
- var _v210 int32 // %t170
- var _v214 int32 // %t174
- var _v215 int32 // %t175
- var _v216 int32 // %t176
- var _v217 int32 // %t177
- var _v218 int32 // %t178
- var _v219 int32 // %t179
- var _v220 int32 // %t180
- var _v222 int32 // %t182
- var _v223 int32 // %t183
- var _v225 int32 // %t185
- var _v226 int32 // %t186
- var _v228 int32 // %t188
- var _v229 int32 // %t189
- var _v59 int32 // %t19
- var _v230 int32 // %t190
- var _v231 int32 // %t191
- var _v233 int32 // %t193
- var _v234 int32 // %t194
- var _v235 int32 // %t195
- var _v236 int32 // %t196
- var _v237 int32 // %t197
- var _v239 int32 // %t199
- var _v60 int32 // %t20
- var _v241 int32 // %t201
- var _v242 int32 // %t202
- var _v243 int32 // %t203
- var _v244 int32 // %t204
- var _v245 int32 // %t205
- var _v246 int32 // %t206
- var _v247 int32 // %t207
- var _v248 int32 // %t208
- var _v249 int32 // %t209
- var _v61 int32 // %t21
- var _v250 int32 // %t210
- var _v252 int32 // %t212
- var _v257 int32 // %t217
- var _v258 int32 // %t218
- var _v259 int32 // %t219
- var _v260 int32 // %t220
- var _v261 int32 // %t221
- var _v262 int32 // %t222
- var _v263 int32 // %t223
- var _v264 int32 // %t224
- var _v265 int32 // %t225
- var _v266 int32 // %t226
- var _v267 int32 // %t227
- var _v269 int32 // %t229
- var _v63 int32 // %t23
- var _v271 int32 // %t231
- var _v274 int32 // %t234
- var _v275 int32 // %t235
- var _v276 int32 // %t236
- var _v278 int32 // %t238
- var _v64 int32 // %t24
- var _v280 int32 // %t240
- var _v282 int32 // %t242
- var _v285 int32 // %t245
- var _v286 int32 // %t246
- var _v287 int32 // %t247
- var _v65 int32 // %t25
- var _v292 int32 // %t252
- var _v294 int32 // %t254
- var _v297 int32 // %t257
- var _v299 int32 // %t259
- var _v66 int32 // %t26
- var _v300 int32 // %t260
- var _v302 int32 // %t262
- var _v304 int32 // %t264
- var _v307 int32 // %t267
- var _v309 int32 // %t269
- var _v67 int32 // %t27
- var _v311 int32 // %t271
- var _v313 int32 // %t273
- var _v315 int32 // %t275
- var _v316 int32 // %t276
- var _v317 int32 // %t277
- var _v318 int32 // %t278
- var _v68 int32 // %t28
- var _v320 int32 // %t280
- var _v322 int32 // %t282
- var _v325 int32 // %t285
- var _v326 int32 // %t286
- var _v69 int32 // %t29
- var _v333 int32 // %t293
- var _v335 int32 // %t295
- var _v336 int32 // %t296
- var _v339 int32 // %t299
- var _v70 int32 // %t30
- var _v341 int32 // %t301
- var _v343 int32 // %t303
- var _v344 int32 // %t304
- var _v346 int32 // %t306
- var _v347 int32 // %t307
- var _v348 int32 // %t308
- var _v71 int32 // %t31
- var _v350 int32 // %t310
- var _v351 int32 // %t311
- var _v352 int32 // %t312
- var _v353 int32 // %t313
- var _v354 int32 // %t314
- var _v355 int32 // %t315
- var _v356 int32 // %t316
- var _v357 int32 // %t317
- var _v358 int32 // %t318
- var _v359 int32 // %t319
- var _v72 int32 // %t32
- var _v360 int32 // %t320
- var _v361 int32 // %t321
- var _v362 int32 // %t322
- var _v363 int32 // %t323
- var _v367 int32 // %t327
- var _v368 int32 // %t328
- var _v369 int32 // %t329
- var _v73 int32 // %t33
- var _v370 int32 // %t330
- var _v371 int32 // %t331
- var _v372 int32 // %t332
- var _v373 int32 // %t333
- var _v374 int32 // %t334
- var _v375 int32 // %t335
- var _v376 int32 // %t336
- var _v377 int32 // %t337
- var _v378 int32 // %t338
- var _v74 int32 // %t34
- var _v380 int32 // %t340
- var _v381 int32 // %t341
- var _v382 int32 // %t342
- var _v383 int32 // %t343
- var _v384 int32 // %t344
- var _v385 int32 // %t345
- var _v386 int32 // %t346
- var _v387 int32 // %t347
- var _v388 int32 // %t348
- var _v389 int32 // %t349
- var _v75 int32 // %t35
- var _v390 int32 // %t350
- var _v391 int32 // %t351
- var _v393 int32 // %t353
- var _v394 int32 // %t354
- var _v395 int32 // %t355
- var _v397 int32 // %t357
- var _v399 int32 // %t359
- var _v76 int32 // %t36
- var _v400 int32 // %t360
- var _v401 int32 // %t361
- var _v403 int32 // %t363
- var _v404 int32 // %t364
- var _v405 int32 // %t365
- var _v406 int32 // %t366
- var _v407 int32 // %t367
- var _v410 int32 // %t370
- var _v411 int32 // %t371
- var _v412 int32 // %t372
- var _v415 int32 // %t375
- var _v417 int32 // %t377
- var _v420 int32 // %t380
- var _v422 int32 // %t382
- var _v423 int32 // %t383
- var _v425 int32 // %t385
- var _v426 int32 // %t386
- var _v430 int32 // %t390
- var _v431 int32 // %t391
- var _v432 int32 // %t392
- var _v434 int32 // %t394
- var _v437 int32 // %t397
- var _v438 int32 // %t398
- var _v439 int32 // %t399
- var _v80 int32 // %t40
- var _v440 int32 // %t400
- var _v441 int32 // %t401
- var _v442 int32 // %t402
- var _v444 int32 // %t404
- var _v445 int32 // %t405
- var _v446 int32 // %t406
- var _v447 int32 // %t407
- var _v448 int32 // %t408
- var _v449 int32 // %t409
- var _v81 int32 // %t41
- var _v450 int32 // %t410
- var _v451 int32 // %t411
- var _v452 int32 // %t412
- var _v453 int32 // %t413
- var _v454 int32 // %t414
- var _v455 int32 // %t415
- var _v456 int32 // %t416
- var _v457 int32 // %t417
- var _v461 int32 // %t421
- var _v462 int32 // %t422
- var _v463 int32 // %t423
- var _v464 int32 // %t424
- var _v465 int32 // %t425
- var _v466 int32 // %t426
- var _v467 int32 // %t427
- var _v468 int32 // %t428
- var _v469 int32 // %t429
- var _v83 int32 // %t43
- var _v471 int32 // %t431
- var _v472 int32 // %t432
- var _v473 int32 // %t433
- var _v475 int32 // %t435
- var _v476 int32 // %t436
- var _v477 int32 // %t437
- var _v478 int32 // %t438
- var _v479 int32 // %t439
- var _v84 int32 // %t44
- var _v480 int32 // %t440
- var _v481 int32 // %t441
- var _v482 int32 // %t442
- var _v483 int32 // %t443
- var _v485 int32 // %t445
- var _v486 int32 // %t446
- var _v487 int32 // %t447
- var _v489 int32 // %t449
- var _v491 int32 // %t451
- var _v492 int32 // %t452
- var _v493 int32 // %t453
- var _v494 int32 // %t454
- var _v495 int32 // %t455
- var _v498 int32 // %t458
- var _v499 int32 // %t459
- var _v86 int32 // %t46
- var _v500 int32 // %t460
- var _v503 int32 // %t463
- var _v505 int32 // %t465
- var _v507 int32 // %t467
- var _v508 int32 // %t468
- var _v509 int32 // %t469
- var _v87 int32 // %t47
- var _v512 int32 // %t472
- var _v514 int32 // %t474
- var _v519 int32 // %t479
- var _v520 int32 // %t480
- var _v523 int32 // %t483
- var _v524 int32 // %t484
- var _v525 int32 // %t485
- var _v526 int32 // %t486
- var _v528 int32 // %t488
- var _v529 int32 // %t489
- var _v89 int32 // %t49
- var _v531 int32 // %t491
- var _v533 int32 // %t493
- var _v534 int32 // %t494
- var _v535 int32 // %t495
- var _v537 int32 // %t497
- var _v538 int32 // %t498
- var _v539 int32 // %t499
- var _v45 int32 // %t5
- var _v90 int32 // %t50
- var _v541 int32 // %t501
- var _v542 int32 // %t502
- var _v543 int32 // %t503
- var _v545 int32 // %t505
- var _v546 int32 // %t506
- var _v547 int32 // %t507
- var _v548 int32 // %t508
- var _v549 int32 // %t509
- var _v91 int32 // %t51
- var _v550 int32 // %t510
- var _v551 int32 // %t511
- var _v553 int32 // %t513
- var _v555 int32 // %t515
- var _v557 int32 // %t517
- var _v558 int32 // %t518
- var _v559 int32 // %t519
- var _v560 int32 // %t520
- var _v561 int32 // %t521
- var _v562 int32 // %t522
- var _v563 int32 // %t523
- var _v564 int32 // %t524
- var _v567 int32 // %t527
- var _v569 int32 // %t529
- var _v93 int32 // %t53
- var _v572 int32 // %t532
- var _v573 int32 // %t533
- var _v574 int32 // %t534
- var _v577 int32 // %t537
- var _v579 int32 // %t539
- var _v94 int32 // %t54
- var _v580 int32 // %t540
- var _v583 int32 // %t543
- var _v585 int32 // %t545
- var _v587 int32 // %t547
- var _v588 int32 // %t548
- var _v589 int32 // %t549
- var _v95 int32 // %t55
- var _v590 int32 // %t550
- var _v591 int32 // %t551
- var _v592 int32 // %t552
- var _v593 int32 // %t553
- var _v594 int32 // %t554
- var _v596 int32 // %t556
- var _v597 int32 // %t557
- var _v598 int32 // %t558
- var _v599 int32 // %t559
- var _v96 int32 // %t56
- var _v600 int32 // %t560
- var _v601 int32 // %t561
- var _v602 int32 // %t562
- var _v603 int32 // %t563
- var _v604 int32 // %t564
- var _v608 int32 // %t568
- var _v609 int32 // %t569
- var _v97 int32 // %t57
- var _v610 int32 // %t570
- var _v611 int32 // %t571
- var _v612 int32 // %t572
- var _v614 int32 // %t574
- var _v615 int32 // %t575
- var _v616 int32 // %t576
- var _v618 int32 // %t578
- var _v619 int32 // %t579
- var _v98 int32 // %t58
- var _v620 int32 // %t580
- var _v621 int32 // %t581
- var _v624 int32 // %t584
- var _v626 int32 // %t586
- var _v628 int32 // %t588
- var _v629 int32 // %t589
- var _v99 int32 // %t59
- var _v630 int32 // %t590
- var _v631 int32 // %t591
- var _v632 int32 // %t592
- var _v633 int32 // %t593
- var _v634 int32 // %t594
- var _v635 int32 // %t595
- var _v637 int32 // %t597
- var _v638 int32 // %t598
- var _v639 int32 // %t599
- var _v100 int32 // %t60
- var _v640 int32 // %t600
- var _v641 int32 // %t601
- var _v642 int32 // %t602
- var _v643 int32 // %t603
- var _v644 int32 // %t604
- var _v645 int32 // %t605
- var _v649 int32 // %t609
- var _v650 int32 // %t610
- var _v651 int32 // %t611
- var _v652 int32 // %t612
- var _v653 int32 // %t613
- var _v655 int32 // %t615
- var _v656 int32 // %t616
- var _v657 int32 // %t617
- var _v659 int32 // %t619
- var _v102 int32 // %t62
- var _v660 int32 // %t620
- var _v661 int32 // %t621
- var _v662 int32 // %t622
- var _v663 int32 // %t623
- var _v664 int32 // %t624
- var _v665 int32 // %t625
- var _v666 int32 // %t626
- var _v667 int32 // %t627
- var _v668 int32 // %t628
- var _v103 int32 // %t63
- var _v670 int32 // %t630
- var _v671 int32 // %t631
- var _v673 int32 // %t633
- var _v675 int32 // %t635
- var _v676 int32 // %t636
- var _v678 int32 // %t638
- var _v679 int32 // %t639
- var _v680 int32 // %t640
- var _v681 int32 // %t641
- var _v683 int32 // %t643
- var _v684 int32 // %t644
- var _v685 int32 // %t645
- var _v686 int32 // %t646
- var _v687 int32 // %t647
- var _v688 int32 // %t648
- var _v105 int32 // %t65
- var _v692 int32 // %t652
- var _v694 int32 // %t654
- var _v696 int32 // %t656
- var _v697 int32 // %t657
- var _v698 int32 // %t658
- var _v699 int32 // %t659
- var _v106 int32 // %t66
- var _v701 int32 // %t661
- var _v702 int32 // %t662
- var _v703 int32 // %t663
- var _v704 int32 // %t664
- var _v705 int32 // %t665
- var _v708 int32 // %t668
- var _v710 int32 // %t670
- var _v713 int32 // %t673
- var _v715 int32 // %t675
- var _v718 int32 // %t678
- var _v719 int32 // %t679
- var _v108 int32 // %t68
- var _v723 int32 // %t683
- var _v724 int32 // %t684
- var _v725 int32 // %t685
- var _v727 int32 // %t687
- var _v728 int32 // %t688
- var _v109 int32 // %t69
- var _v731 int32 // %t691
- var _v733 int32 // %t693
- var _v736 int32 // %t696
- var _v737 int32 // %t697
- var _v738 int32 // %t698
- var _v110 int32 // %t70
- var _v740 int32 // %t700
- var _v744 int32 // %t704
- var _v745 int32 // %t705
- var _v747 int32 // %t707
- var _v751 int32 // %t711
- var _v757 int32 // %t717
- var _v758 int32 // %t718
- var _v759 int32 // %t719
- var _v112 int32 // %t72
- var _v763 int32 // %t723
- var _v765 int32 // %t725
- var _v768 int32 // %t728
- var _v769 int32 // %t729
- var _v113 int32 // %t73
- var _v773 int32 // %t733
- var _v774 int32 // %t734
- var _v776 int32 // %t736
- var _v777 int32 // %t737
- var _v778 int32 // %t738
- var _v779 int32 // %t739
- var _v114 int32 // %t74
- var _v780 int32 // %t740
- var _v781 int32 // %t741
- var _v782 int32 // %t742
- var _v783 int32 // %t743
- var _v785 int32 // %t745
- var _v787 int32 // %t747
- var _v789 int32 // %t749
- var _v791 int32 // %t751
- var _v793 int32 // %t753
- var _v794 int32 // %t754
- var _v795 int32 // %t755
- var _v796 int32 // %t756
- var _v797 int32 // %t757
- var _v798 int32 // %t758
- var _v799 int32 // %t759
- var _v116 int32 // %t76
- var _v801 int32 // %t761
- var _v806 int32 // %t766
- var _v807 int32 // %t767
- var _v808 int32 // %t768
- var _v117 int32 // %t77
- var _v811 int32 // %t771
- var _v812 int32 // %t772
- var _v813 int32 // %t773
- var _v814 int32 // %t774
- var _v815 int32 // %t775
- var _v817 int32 // %t777
- var _v818 int32 // %t778
- var _v819 int32 // %t779
- var _v820 int32 // %t780
- var _v821 int32 // %t781
- var _v823 int32 // %t783
- var _v824 int32 // %t784
- var _v825 int32 // %t785
- var _v826 int32 // %t786
- var _v827 int32 // %t787
- var _v828 int32 // %t788
- var _v829 int32 // %t789
- var _v119 int32 // %t79
- var _v830 int32 // %t790
- var _v831 int32 // %t791
- var _v832 int32 // %t792
- var _v833 int32 // %t793
- var _v834 int32 // %t794
- var _v835 int32 // %t795
- var _v836 int32 // %t796
- var _v837 int32 // %t797
- var _v838 int32 // %t798
- var _v839 int32 // %t799
- var _v120 int32 // %t80
- var _v840 int32 // %t800
- var _v841 int32 // %t801
- var _v844 int32 // %t804
- var _v846 int32 // %t806
- var _v849 int32 // %t809
- var _v121 int32 // %t81
- var _v851 int32 // %t811
- var _v852 int32 // %t812
- var _v854 int32 // %t814
- var _v858 int32 // %t818
- var _v859 int32 // %t819
- var _v122 int32 // %t82
- var _v860 int32 // %t820
- var _v862 int32 // %t822
- var _v866 int32 // %t826
- var _v869 int32 // %t829
- var _v123 int32 // %t83
- var _v870 int32 // %t830
- var _v871 int32 // %t831
- var _v872 int32 // %t832
- var _v873 int32 // %t833
- var _v874 int32 // %t834
- var _v875 int32 // %t835
- var _v877 int32 // %t837
- var _v878 int32 // %t838
- var _v879 int32 // %t839
- var _v124 int32 // %t84
- var _v881 int32 // %t841
- var _v882 int32 // %t842
- var _v883 int32 // %t843
- var _v884 int32 // %t844
- var _v885 int32 // %t845
- var _v886 int32 // %t846
- var _v125 int32 // %t85
- var _v126 int32 // %t86
- var _v127 int32 // %t87
- var _v49 int32 // %t9
- var _v131 int32 // %t91
- var _v132 int32 // %t92
- var _v133 int32 // %t93
- var _v134 int32 // %t94
- var _v135 int32 // %t95
- var _v136 int32 // %t96
- var _v137 int32 // %t97
- var _v138 int32 // %t98
- var _v139 int32 // %t99
- var _v10 = int32(bp + 380) // %v10
- var _v11 = int32(bp + 384) // %v11
- var _v12 = int32(bp + 388) // %v12
- var _v13 = int32(bp + 392) // %v13
- var _v14 = int32(bp + 396) // %v14
- var _v15 = int32(bp + 408) // %v15
- var _v16 = int32(bp + 440) // %v16
- var _v17 = int32(bp + 1440) // %v17
- var _v18 = int32(bp + 1640) // %v18
- var _v19 = int32(bp + 1644) // %v19
- var _v20 = int32(bp + 1648) // %v20
- var _v21 = int32(bp + 1652) // %v21
- var _v22 = int32(bp + 1656) // %v22
- var _v23 = int32(bp + 1660) // %v23
- var _v24 = int32(bp + 1664) // %v24
- var _v25 = int32(bp + 1668) // %v25
- var _v26 = int32(bp + 1672) // %v26
- var _v27 = int32(bp + 1676) // %v27
- var _v28 = int32(bp + 1680) // %v28
- var _v29 = int32(bp + 1684) // %v29
- var _v30 = int32(bp + 1688) // %v30
- var _v31 = int32(bp + 1692) // %v31
- var _v32 = int32(bp + 1696) // %v32
- var _v33 = int32(bp + 1700) // %v33
- var _v34 = int32(bp + 1704) // %v34
- var _v35 = int32(bp + 1708) // %v35
- var _v36 = int32(bp + 1712) // %v36
- var _v37 = int32(bp + 1716) // %v37
- var _v38 = int32(bp + 1720) // %v38
- var _v39 = int32(bp + 1724) // %v39
- var _v40 = int32(bp + 1728) // %v40
- var _v5 = int32(bp + 360) // %v5
- var _v6 = int32(bp + 364) // %v6
- var _v7 = int32(bp + 368) // %v7
- var _v8 = int32(bp + 372) // %v8
- var _v9 = int32(bp + 376) // %v9
- *(*int32)(unsafe.Pointer(uintptr(_v5))) = 1
- *(*int32)(unsafe.Pointer(uintptr(_v6))) = 1
- *(*int32)(unsafe.Pointer(uintptr(_v7))) = 0
- *(*int32)(unsafe.Pointer(uintptr(_v8))) = 0
- _v45 = int32(int32(_v14) + int32(0))
- _ = crt.Xmemset(t, _v45, 0, 12)
- _v49 = int32(int32(_v14) + int32(0))
- s_stringReset(t, _v49)
- goto l2
-l2:
- _v50 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v51 = int32(_v50 * 1)
- _v53 = int32(int32(_v3) + int32(_v51))
- _v54 = int32(*(*int8)(unsafe.Pointer(uintptr(_v53))))
- _v55 = int32(int8(_v54))
- _v56 = int32(int32(_v10) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v56))) = _v55
- _v57 = *(*int32)(unsafe.Pointer(uintptr(_v56)))
- _v59 = crt.Bool32(int32(_v57) != int32(0))
- if _v59 != 0 {
- goto l3
- }
- goto l242
-l3:
- _v60 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v61 = int32(int32(_v6) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v61))) = _v60
- _v63 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v64 = int32(int32(_v3) + int32(_v63))
- _v65 = int32(int32(_v5) + int32(0))
- _v66 = s_tokenLength(t, _v64, _v65)
- _v67 = int32(int32(_v12) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v67))) = _v66
- _v68 = *(*int32)(unsafe.Pointer(uintptr(_v10)))
- _v69 = int32(int32(_v68) & int32(255))
- _v70 = int32(int32(uint8(_v69)))
- _v71 = int32(_v70 * 2)
- _v72 = crt.X__ctype_b_loc(t)
- _v73 = *(*int32)(unsafe.Pointer(uintptr(_v72)))
- _v74 = int32(int32(_v73) + int32(_v71))
- _v75 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v74))))
- _v76 = int32(uint16(_v75))
- _v80 = int32(int32(_v76) & int32(8192))
- goto l4
-l4:
- if _v80 != 0 {
- goto l246
- }
- goto l5
-l246:
- _v95 = 1
- goto l13
-l5:
- _v81 = *(*int32)(unsafe.Pointer(uintptr(_v10)))
- _v83 = crt.Bool32(int32(_v81) == int32(47))
- goto l6
-l6:
- if _v83 != 0 {
- goto l7
- }
- goto l247
-l247:
- _v94 = 0
- goto l10
-l7:
- _v84 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v86 = int32(int32(_v84) + int32(1))
- _v87 = int32(_v86 * 1)
- _v89 = int32(int32(_v3) + int32(_v87))
- _v90 = int32(*(*int8)(unsafe.Pointer(uintptr(_v89))))
- _v91 = int32(int8(_v90))
- _v93 = crt.Bool32(int32(_v91) == int32(42))
- goto l8
-l8:
- if _v93 != 0 {
- goto l9
- }
- goto l248
-l248:
- _v94 = 0
- goto l10
-l9:
- _v94 = 1
- goto l10
-l10:
- goto l11
-l11:
- if _v94 != 0 {
- goto l249
- }
- goto l12
-l249:
- _v95 = 1
- goto l13
-l12:
- _v95 = 0
- goto l13
-l13:
- if _v95 != 0 {
- goto l14
- }
- goto l16
-l14:
- _v96 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v97 = int32(int32(_v7) + int32(0))
- _v98 = *(*int32)(unsafe.Pointer(uintptr(_v97)))
- _v99 = int32(int32(_v98) + int32(_v96))
- *(*int32)(unsafe.Pointer(uintptr(_v97))) = _v99
- goto l2
-l16:
- _v100 = *(*int32)(unsafe.Pointer(uintptr(_v10)))
- _v102 = crt.Bool32(int32(_v100) != int32(45))
- goto l17
-l17:
- if _v102 != 0 {
- goto l250
- }
- goto l18
-l250:
- _v113 = 1
- goto l21
-l18:
- _v103 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v105 = int32(int32(_v103) + int32(1))
- _v106 = int32(_v105 * 1)
- _v108 = int32(int32(_v3) + int32(_v106))
- _v109 = int32(*(*int8)(unsafe.Pointer(uintptr(_v108))))
- _v110 = int32(int8(_v109))
- _v112 = crt.Bool32(int32(_v110) != int32(45))
- goto l19
-l19:
- if _v112 != 0 {
- goto l251
- }
- goto l20
-l251:
- _v113 = 1
- goto l21
-l20:
- _v113 = 0
- goto l21
-l21:
- goto l22
-l22:
- if _v113 != 0 {
- goto l252
- }
- goto l23
-l252:
- _v133 = 1
- goto l29
-l23:
- _v114 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v116 = int32(int32(_v114) + int32(2))
- _v117 = int32(_v116 * 1)
- _v119 = int32(int32(_v3) + int32(_v117))
- _v120 = int32(*(*int8)(unsafe.Pointer(uintptr(_v119))))
- _v121 = int32(int8(_v120))
- _v122 = int32(_v121 * 2)
- _v123 = crt.X__ctype_b_loc(t)
- _v124 = *(*int32)(unsafe.Pointer(uintptr(_v123)))
- _v125 = int32(int32(_v124) + int32(_v122))
- _v126 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v125))))
- _v127 = int32(uint16(_v126))
- _v131 = int32(int32(_v127) & int32(1024))
- goto l24
-l24:
- if _v131 != 0 {
- goto l25
- }
- goto l253
-l253:
- _v132 = 1
- goto l26
-l25:
- _v132 = 0
- goto l26
-l26:
- goto l27
-l27:
- if _v132 != 0 {
- goto l254
- }
- goto l28
-l254:
- _v133 = 1
- goto l29
-l28:
- _v133 = 0
- goto l29
-l29:
- if _v133 != 0 {
- goto l30
- }
- goto l32
-l30:
- _v134 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v135 = int32(int32(_v7) + int32(0))
- _v136 = *(*int32)(unsafe.Pointer(uintptr(_v135)))
- _v137 = int32(int32(_v136) + int32(_v134))
- *(*int32)(unsafe.Pointer(uintptr(_v135))) = _v137
- goto l2
-l32:
- _v138 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v139 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v140 = crt.Bool32(int32(_v138) > int32(_v139))
- if _v140 != 0 {
- goto l33
- }
- goto l34
-l33:
- _v142 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v143 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v144 = int32(int32(_v142) - int32(_v143))
- _v146 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v147 = int32(int32(_v3) + int32(_v146))
- *(*int32)(unsafe.Pointer(bp + 0)) = _v144
-
- *(*int32)(unsafe.Pointer(bp + 8)) = _v147
-
- _v148 = Xsqlite3_mprintf(t, int32(uintptr(unsafe.Pointer(&s__98))), bp+0)
- *(*int32)(unsafe.Pointer(uintptr(_v18))) = _v148
- _v149 = int32(int32(_v14) + int32(0))
- _v150 = *(*int32)(unsafe.Pointer(uintptr(_v18)))
-
- _ = s_evalSql(t, _v149, _v150, 0)
- _v152 = *(*int32)(unsafe.Pointer(uintptr(_v18)))
- Xsqlite3_free(t, _v152)
- _v153 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v154 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v155 = int32(int32(_v153) + int32(_v154))
- _v156 = int32(int32(_v8) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v156))) = _v155
- goto l34
-l34:
- _v159 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 68))
- _v161 = crt.Bool32(int32(_v159) >= int32(2))
- if _v161 != 0 {
- goto l35
- }
- goto l36
-l35:
- _v163 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v165 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v166 = int32(int32(_v3) + int32(_v165))
- *(*int32)(unsafe.Pointer(bp + 16)) = _v163
-
- *(*int32)(unsafe.Pointer(bp + 24)) = _v166
- s_logMessage(t, int32(uintptr(unsafe.Pointer(&s__98))), bp+16)
- goto l36
-l36:
- _v168 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v169 = int32(int32(_v3) + int32(_v168))
- _v171 = int32(int32(_v169) + int32(2))
- _v172 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v174 = int32(int32(_v172) - int32(2))
- _v177 = s_extractToken(t, _v171, _v174, _v15, 30)
- _v178 = int32(int32(_v9) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v178))) = _v177
- _v180 = int32(int32(_v13) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v180))) = 0
- goto l37
-l37:
- _v181 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v182 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v184 = int32(int32(_v182) - int32(2))
- _v185 = crt.Bool32(int32(_v181) < int32(_v184))
- goto l38
-l38:
- if _v185 != 0 {
- goto l39
- }
- goto l255
-l255:
- _v189 = 0
- goto l42
-l39:
- _v186 = *(*int32)(unsafe.Pointer(uintptr(_v13)))
- _v188 = crt.Bool32(int32(_v186) < int32(2))
- goto l40
-l40:
- if _v188 != 0 {
- goto l41
- }
- goto l256
-l256:
- _v189 = 0
- goto l42
-l41:
- _v189 = 1
- goto l42
-l42:
- if _v189 != 0 {
- goto l43
- }
- goto l257
-l257:
- goto l56
-l43:
- goto l44
-l44:
- _v190 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v191 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v193 = int32(int32(_v191) - int32(2))
- _v194 = crt.Bool32(int32(_v190) < int32(_v193))
- goto l45
-l45:
- if _v194 != 0 {
- goto l46
- }
- goto l258
-l258:
- _v215 = 0
- goto l49
-l46:
- _v195 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v197 = int32(int32(_v195) + int32(2))
- _v198 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v199 = int32(int32(_v197) + int32(_v198))
- _v200 = int32(_v199 * 1)
- _v202 = int32(int32(_v3) + int32(_v200))
- _v203 = int32(*(*int8)(unsafe.Pointer(uintptr(_v202))))
- _v204 = int32(int32(uint8(_v203)))
- _v205 = int32(_v204 * 2)
- _v206 = crt.X__ctype_b_loc(t)
- _v207 = *(*int32)(unsafe.Pointer(uintptr(_v206)))
- _v208 = int32(int32(_v207) + int32(_v205))
- _v209 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v208))))
- _v210 = int32(uint16(_v209))
- _v214 = int32(int32(_v210) & int32(8192))
- goto l47
-l47:
- if _v214 != 0 {
- goto l48
- }
- goto l259
-l259:
- _v215 = 0
- goto l49
-l48:
- _v215 = 1
- goto l49
-l49:
- if _v215 != 0 {
- goto l50
- }
- goto l51
-l50:
- _v216 = int32(int32(_v9) + int32(0))
- _v217 = *(*int32)(unsafe.Pointer(uintptr(_v216)))
- _v218 = int32(int32(_v217) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v216))) = _v218
- goto l44
-l51:
- _v219 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v220 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v222 = int32(int32(_v220) - int32(2))
- _v223 = crt.Bool32(int32(_v219) >= int32(_v222))
- if _v223 != 0 {
- goto l52
- }
- goto l54
-l52:
- goto l56
-l54:
- _v225 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v226 = int32(int32(_v3) + int32(_v225))
- _v228 = int32(int32(_v226) + int32(2))
- _v229 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v230 = int32(int32(_v228) + int32(_v229))
- _v231 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v233 = int32(int32(_v231) - int32(2))
- _v234 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v235 = int32(int32(_v233) - int32(_v234))
- _v236 = *(*int32)(unsafe.Pointer(uintptr(_v13)))
- _v237 = int32(_v236 * 100)
- _v239 = int32(int32(_v17) + int32(_v237))
- _v241 = s_extractToken(t, _v230, _v235, _v239, 100)
- _v242 = int32(int32(_v9) + int32(0))
- _v243 = *(*int32)(unsafe.Pointer(uintptr(_v242)))
- _v244 = int32(int32(_v243) + int32(_v241))
- *(*int32)(unsafe.Pointer(uintptr(_v242))) = _v244
- goto l55
-l55:
- _v245 = int32(int32(_v13) + int32(0))
- _v246 = *(*int32)(unsafe.Pointer(uintptr(_v245)))
- _v247 = int32(int32(_v246) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v245))) = _v247
- goto l37
-l56:
- _v248 = *(*int32)(unsafe.Pointer(uintptr(_v13)))
- _v249 = int32(int32(_v11) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v249))) = _v248
- goto l57
-l57:
- _v250 = *(*int32)(unsafe.Pointer(uintptr(_v11)))
- _v252 = crt.Bool32(int32(_v250) < int32(2))
- if _v252 != 0 {
- goto l58
- }
- goto l60
-l58:
- _v257 = int32(int32(_v11) + int32(0))
- _v258 = *(*int32)(unsafe.Pointer(uintptr(_v257)))
- _v259 = int32(int32(_v258) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v257))) = _v259
- _v260 = int32(_v258 * 100)
- _v261 = int32(_v17)
- _v262 = int32(int32(_v261) + int32(_v260))
- _v263 = int32(int32(_v262) + int32(0))
- *(*int8)(unsafe.Pointer(uintptr(_v263))) = 0
- goto l59
-l59:
- _v264 = int32(int32(_v11) + int32(0))
- _v265 = *(*int32)(unsafe.Pointer(uintptr(_v264)))
- _v266 = int32(int32(_v265) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v264))) = _v266
- goto l57
-l60:
- _v267 = int32(_v15)
- _v269 = crt.Xstrcmp(t, _v267, int32(uintptr(unsafe.Pointer(&s__99))))
- _v271 = crt.Bool32(int32(_v269) == int32(0))
- if _v271 != 0 {
- goto l61
- }
- goto l62
-l61:
- _v274 = int32(_v17)
- _v275 = int32(int32(_v274) + int32(0))
- _v276 = crt.Xatoi(t, _v275)
- _ = Xsqlite3_sleep(t, _v276)
- goto l241
-l62:
- _v278 = int32(_v15)
- _v280 = crt.Xstrcmp(t, _v278, int32(uintptr(unsafe.Pointer(&s__100))))
- _v282 = crt.Bool32(int32(_v280) == int32(0))
- if _v282 != 0 {
- goto l63
- }
- goto l66
-l63:
- _v285 = int32(_v17)
- _v286 = int32(int32(_v285) + int32(0))
- _v287 = crt.Xatoi(t, _v286)
- *(*int32)(unsafe.Pointer(uintptr(_v19))) = _v287
- _ = s_finishScript(t, _v1, _v2, 1)
- _v292 = *(*int32)(unsafe.Pointer(uintptr(_v19)))
- _v294 = crt.Bool32(int32(_v292) == int32(0))
- if _v294 != 0 {
- goto l64
- }
- goto l65
-l64:
- _v297 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 12))
- _ = Xsqlite3_close(t, _v297)
- goto l65
-l65:
- _v299 = *(*int32)(unsafe.Pointer(uintptr(_v19)))
- crt.Xexit(t, _v299)
- goto l240
-l66:
- _v300 = int32(_v15)
- _v302 = crt.Xstrcmp(t, _v300, int32(uintptr(unsafe.Pointer(&s__101))))
- _v304 = crt.Bool32(int32(_v302) == int32(0))
- if _v304 != 0 {
- goto l67
- }
- goto l70
-l67:
- _v307 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 68))
- _v309 = crt.Bool32(int32(_v307) == int32(1))
- if _v309 != 0 {
- goto l68
- }
- goto l69
-l68:
- _v311 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v313 = int32(int32(_v311) - int32(1))
- _v315 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v316 = int32(int32(_v3) + int32(_v315))
- *(*int32)(unsafe.Pointer(bp + 32)) = _v313
-
- *(*int32)(unsafe.Pointer(bp + 40)) = _v316
- s_logMessage(t, int32(uintptr(unsafe.Pointer(&s__98))), bp+32)
- goto l69
-l69:
- _v317 = int32(int32(_v14) + int32(0))
- s_stringReset(t, _v317)
- goto l239
-l70:
- _v318 = int32(_v15)
- _v320 = crt.Xstrcmp(t, _v318, int32(uintptr(unsafe.Pointer(&s__102))))
- _v322 = crt.Bool32(int32(_v320) == int32(0))
- goto l71
-l71:
- if _v322 != 0 {
- goto l72
- }
- goto l260
-l260:
- _v326 = 0
- goto l75
-l72:
- _v325 = crt.Bool32(int32(_v1) > int32(0))
- goto l73
-l73:
- if _v325 != 0 {
- goto l74
- }
- goto l261
-l261:
- _v326 = 0
- goto l75
-l74:
- _v326 = 1
- goto l75
-l75:
- if _v326 != 0 {
- goto l76
- }
- goto l77
-l76:
- _ = s_finishScript(t, _v1, _v2, 1)
- goto l238
-l77:
- _v333 = crt.Xstrcmp(t, _v15, int32(uintptr(unsafe.Pointer(&s__103))))
- _v335 = crt.Bool32(int32(_v333) == int32(0))
- if _v335 != 0 {
- goto l78
- }
- goto l79
-l78:
- _v336 = int32(int32(_v14) + int32(0))
- s_stringReset(t, _v336)
- goto l237
-l79:
- _v339 = crt.Xstrcmp(t, _v15, int32(uintptr(unsafe.Pointer(&s__104))))
- _v341 = crt.Bool32(int32(_v339) == int32(0))
- if _v341 != 0 {
- goto l80
- }
- goto l97
-l80:
- _v343 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v344 = int32(int32(_v3) + int32(_v343))
- *(*int32)(unsafe.Pointer(uintptr(_v21))) = _v344
- _v346 = int32(int32(_v20) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v346))) = 7
- goto l81
-l81:
- _v347 = *(*int32)(unsafe.Pointer(uintptr(_v20)))
- _v348 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v350 = int32(int32(_v348) - int32(1))
- _v351 = crt.Bool32(int32(_v347) < int32(_v350))
- goto l82
-l82:
- if _v351 != 0 {
- goto l83
- }
- goto l262
-l262:
- _v368 = 0
- goto l86
-l83:
- _v352 = *(*int32)(unsafe.Pointer(uintptr(_v20)))
- _v353 = int32(_v352 * 1)
- _v354 = *(*int32)(unsafe.Pointer(uintptr(_v21)))
- _v355 = int32(int32(_v354) + int32(_v353))
- _v356 = int32(*(*int8)(unsafe.Pointer(uintptr(_v355))))
- _v357 = int32(int32(uint8(_v356)))
- _v358 = int32(_v357 * 2)
- _v359 = crt.X__ctype_b_loc(t)
- _v360 = *(*int32)(unsafe.Pointer(uintptr(_v359)))
- _v361 = int32(int32(_v360) + int32(_v358))
- _v362 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v361))))
- _v363 = int32(uint16(_v362))
- _v367 = int32(int32(_v363) & int32(8192))
- goto l84
-l84:
- if _v367 != 0 {
- goto l85
- }
- goto l263
-l263:
- _v368 = 0
- goto l86
-l85:
- _v368 = 1
- goto l86
-l86:
- if _v368 != 0 {
- goto l87
- }
- goto l89
-l87:
- goto l88
-l88:
- _v369 = int32(int32(_v20) + int32(0))
- _v370 = *(*int32)(unsafe.Pointer(uintptr(_v369)))
- _v371 = int32(int32(_v370) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v369))) = _v371
- goto l81
-l89:
- _v372 = *(*int32)(unsafe.Pointer(uintptr(_v20)))
- _v373 = int32(int32(_v21) + int32(0))
- _v374 = *(*int32)(unsafe.Pointer(uintptr(_v373)))
- _v375 = int32(int32(_v374) + int32(_v372))
- *(*int32)(unsafe.Pointer(uintptr(_v373))) = _v375
- _v376 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v377 = *(*int32)(unsafe.Pointer(uintptr(_v20)))
- _v378 = int32(int32(_v376) - int32(_v377))
- _v380 = int32(int32(_v378) - int32(1))
- _v381 = int32(int32(_v14) + int32(0))
- _v382 = int32(int32(_v381) + int32(4))
- _v383 = *(*int32)(unsafe.Pointer(uintptr(_v382)))
- _v384 = crt.Bool32(int32(_v380) != int32(_v383))
- goto l90
-l90:
- if _v384 != 0 {
- goto l264
- }
- goto l91
-l264:
- _v395 = 1
- goto l94
-l91:
- _v385 = int32(int32(_v14) + int32(0))
- _v386 = int32(int32(_v385) + int32(0))
- _v387 = *(*int32)(unsafe.Pointer(uintptr(_v386)))
- _v388 = *(*int32)(unsafe.Pointer(uintptr(_v21)))
- _v389 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v390 = *(*int32)(unsafe.Pointer(uintptr(_v20)))
- _v391 = int32(int32(_v389) - int32(_v390))
- _v393 = int32(int32(_v391) - int32(1))
- _v394 = crt.Xstrncmp(t, _v387, _v388, _v393)
- goto l92
-l92:
- if _v394 != 0 {
- goto l265
- }
- goto l93
-l265:
- _v395 = 1
- goto l94
-l93:
- _v395 = 0
- goto l94
-l94:
- if _v395 != 0 {
- goto l95
- }
- goto l96
-l95:
- _v397 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v399 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v400 = *(*int32)(unsafe.Pointer(uintptr(_v20)))
- _v401 = int32(int32(_v399) - int32(_v400))
- _v403 = int32(int32(_v401) - int32(1))
- _v404 = *(*int32)(unsafe.Pointer(uintptr(_v21)))
- _v405 = int32(int32(_v14) + int32(0))
- _v406 = int32(int32(_v405) + int32(0))
- _v407 = *(*int32)(unsafe.Pointer(uintptr(_v406)))
- *(*int32)(unsafe.Pointer(bp + 48)) = _v397
-
- *(*int32)(unsafe.Pointer(bp + 56)) = _v4
-
- *(*int32)(unsafe.Pointer(bp + 64)) = _v403
-
- *(*int32)(unsafe.Pointer(bp + 72)) = _v404
-
- *(*int32)(unsafe.Pointer(bp + 80)) = _v407
- s_errorMessage(t, int32(uintptr(unsafe.Pointer(&s__105))), bp+48)
- goto l96
-l96:
- _v410 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 84))
- _v411 = int32(int32(_v410) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 84)) = _v411
- _v412 = int32(int32(_v14) + int32(0))
- s_stringReset(t, _v412)
- goto l236
-l97:
- _v415 = crt.Xstrcmp(t, _v15, int32(uintptr(unsafe.Pointer(&s__106))))
- _v417 = crt.Bool32(int32(_v415) == int32(0))
- goto l98
-l98:
- if _v417 != 0 {
- goto l266
- }
- goto l99
-l266:
- _v423 = 1
- goto l102
-l99:
- _v420 = crt.Xstrcmp(t, _v15, int32(uintptr(unsafe.Pointer(&s__107))))
- _v422 = crt.Bool32(int32(_v420) == int32(0))
- goto l100
-l100:
- if _v422 != 0 {
- goto l267
- }
- goto l101
-l267:
- _v423 = 1
- goto l102
-l101:
- _v423 = 0
- goto l102
-l102:
- if _v423 != 0 {
- goto l103
- }
- goto l115
-l103:
- _v425 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v426 = int32(int32(_v3) + int32(_v425))
- *(*int32)(unsafe.Pointer(uintptr(_v23))) = _v426
- _v430 = int32(int32(_v15) + int32(0))
- _v431 = int32(*(*int8)(unsafe.Pointer(uintptr(_v430))))
- _v432 = int32(int8(_v431))
- _v434 = crt.Bool32(int32(_v432) == int32(103))
- *(*int32)(unsafe.Pointer(uintptr(_v25))) = _v434
- _v437 = *(*int32)(unsafe.Pointer(uintptr(_v25)))
- _v438 = int32(3 * _v437)
- _v439 = int32(int32(9) - int32(_v438))
- _v440 = int32(int32(_v22) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v440))) = _v439
- goto l104
-l104:
- _v441 = *(*int32)(unsafe.Pointer(uintptr(_v22)))
- _v442 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v444 = int32(int32(_v442) - int32(1))
- _v445 = crt.Bool32(int32(_v441) < int32(_v444))
- goto l105
-l105:
- if _v445 != 0 {
- goto l106
- }
- goto l268
-l268:
- _v462 = 0
- goto l109
-l106:
- _v446 = *(*int32)(unsafe.Pointer(uintptr(_v22)))
- _v447 = int32(_v446 * 1)
- _v448 = *(*int32)(unsafe.Pointer(uintptr(_v23)))
- _v449 = int32(int32(_v448) + int32(_v447))
- _v450 = int32(*(*int8)(unsafe.Pointer(uintptr(_v449))))
- _v451 = int32(int32(uint8(_v450)))
- _v452 = int32(_v451 * 2)
- _v453 = crt.X__ctype_b_loc(t)
- _v454 = *(*int32)(unsafe.Pointer(uintptr(_v453)))
- _v455 = int32(int32(_v454) + int32(_v452))
- _v456 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v455))))
- _v457 = int32(uint16(_v456))
- _v461 = int32(int32(_v457) & int32(8192))
- goto l107
-l107:
- if _v461 != 0 {
- goto l108
- }
- goto l269
-l269:
- _v462 = 0
- goto l109
-l108:
- _v462 = 1
- goto l109
-l109:
- if _v462 != 0 {
- goto l110
- }
- goto l112
-l110:
- goto l111
-l111:
- _v463 = int32(int32(_v22) + int32(0))
- _v464 = *(*int32)(unsafe.Pointer(uintptr(_v463)))
- _v465 = int32(int32(_v464) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v463))) = _v465
- goto l104
-l112:
- _v466 = *(*int32)(unsafe.Pointer(uintptr(_v22)))
- _v467 = int32(int32(_v23) + int32(0))
- _v468 = *(*int32)(unsafe.Pointer(uintptr(_v467)))
- _v469 = int32(int32(_v468) + int32(_v466))
- *(*int32)(unsafe.Pointer(uintptr(_v467))) = _v469
- _v471 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v472 = *(*int32)(unsafe.Pointer(uintptr(_v22)))
- _v473 = int32(int32(_v471) - int32(_v472))
- _v475 = int32(int32(_v473) - int32(1))
- _v476 = *(*int32)(unsafe.Pointer(uintptr(_v23)))
- *(*int32)(unsafe.Pointer(bp + 88)) = _v475
-
- *(*int32)(unsafe.Pointer(bp + 96)) = _v476
-
- _v477 = Xsqlite3_mprintf(t, int32(uintptr(unsafe.Pointer(&s__98))), bp+88)
- _v478 = int32(int32(_v24) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v478))) = _v477
- _v479 = *(*int32)(unsafe.Pointer(uintptr(_v24)))
- _v480 = int32(int32(_v14) + int32(0))
- _v481 = int32(int32(_v480) + int32(0))
- _v482 = *(*int32)(unsafe.Pointer(uintptr(_v481)))
- _v483 = Xsqlite3_strglob(t, _v479, _v482)
- _v485 = crt.Bool32(int32(_v483) == int32(0))
- _v486 = *(*int32)(unsafe.Pointer(uintptr(_v25)))
- _v487 = int32(_v485 ^ _v486)
- if _v487 != 0 {
- goto l113
- }
- goto l114
-l113:
- _v489 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v491 = *(*int32)(unsafe.Pointer(uintptr(_v24)))
- _v492 = int32(int32(_v14) + int32(0))
- _v493 = int32(int32(_v492) + int32(0))
- _v494 = *(*int32)(unsafe.Pointer(uintptr(_v493)))
- *(*int32)(unsafe.Pointer(bp + 104)) = _v489
-
- *(*int32)(unsafe.Pointer(bp + 112)) = _v4
-
- *(*int32)(unsafe.Pointer(bp + 120)) = _v491
-
- *(*int32)(unsafe.Pointer(bp + 128)) = _v494
- s_errorMessage(t, int32(uintptr(unsafe.Pointer(&s__108))), bp+104)
- goto l114
-l114:
- _v495 = *(*int32)(unsafe.Pointer(uintptr(_v24)))
- Xsqlite3_free(t, _v495)
- _v498 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 84))
- _v499 = int32(int32(_v498) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 84)) = _v499
- _v500 = int32(int32(_v14) + int32(0))
- s_stringReset(t, _v500)
- goto l235
-l115:
- _v503 = crt.Xstrcmp(t, _v15, int32(uintptr(unsafe.Pointer(&s__109))))
- _v505 = crt.Bool32(int32(_v503) == int32(0))
- if _v505 != 0 {
- goto l116
- }
- goto l117
-l116:
- _v507 = int32(int32(_v14) + int32(0))
- _v508 = int32(int32(_v507) + int32(0))
- _v509 = *(*int32)(unsafe.Pointer(uintptr(_v508)))
- *(*int32)(unsafe.Pointer(bp + 136)) = _v509
- s_logMessage(t, int32(uintptr(unsafe.Pointer(&s__55))), bp+136)
- goto l234
-l117:
- _v512 = crt.Xstrcmp(t, _v15, int32(uintptr(unsafe.Pointer(&s__110))))
- _v514 = crt.Bool32(int32(_v512) == int32(0))
- if _v514 != 0 {
- goto l118
- }
- goto l142
-l118:
- *(*int32)(unsafe.Pointer(uintptr(_v28))) = 0
- _v519 = int32(int32(_v17) + int32(0))
- _v520 = int32(int32(_v26) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v520))) = _v519
- _v523 = *(*int32)(unsafe.Pointer(uintptr(_v26)))
- _v524 = int32(int32(_v523) + int32(0))
- _v525 = int32(*(*int8)(unsafe.Pointer(uintptr(_v524))))
- _v526 = int32(int8(_v525))
- _v528 = crt.Bool32(int32(_v526) == int32(47))
- goto l119
-l119:
- if _v528 != 0 {
- goto l120
- }
- goto l270
-l270:
- _v529 = 1
- goto l121
-l120:
- _v529 = 0
- goto l121
-l121:
- if _v529 != 0 {
- goto l122
- }
- goto l271
-l271:
- goto l137
-l122:
- _v531 = crt.Xstrlen(t, _v4)
- _v533 = int32(int32(_v531) - int32(1))
- _v534 = int32(int32(_v29) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v534))) = _v533
- goto l123
-l123:
- _v535 = *(*int32)(unsafe.Pointer(uintptr(_v29)))
- _v537 = crt.Bool32(int32(_v535) >= int32(0))
- goto l124
-l124:
- if _v537 != 0 {
- goto l125
- }
- goto l272
-l272:
- _v547 = 0
- goto l131
-l125:
- _v538 = *(*int32)(unsafe.Pointer(uintptr(_v29)))
- _v539 = int32(_v538 * 1)
- _v541 = int32(int32(_v4) + int32(_v539))
- _v542 = int32(*(*int8)(unsafe.Pointer(uintptr(_v541))))
- _v543 = int32(int8(_v542))
- _v545 = crt.Bool32(int32(_v543) == int32(47))
- goto l126
-l126:
- if _v545 != 0 {
- goto l127
- }
- goto l273
-l273:
- _v546 = 1
- goto l128
-l127:
- _v546 = 0
- goto l128
-l128:
- goto l129
-l129:
- if _v546 != 0 {
- goto l130
- }
- goto l274
-l274:
- _v547 = 0
- goto l131
-l130:
- _v547 = 1
- goto l131
-l131:
- if _v547 != 0 {
- goto l132
- }
- goto l134
-l132:
- goto l133
-l133:
- _v548 = int32(int32(_v29) + int32(0))
- _v549 = *(*int32)(unsafe.Pointer(uintptr(_v548)))
- _v550 = int32(int32(_v549) - int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v548))) = _v550
- goto l123
-l134:
- _v551 = *(*int32)(unsafe.Pointer(uintptr(_v29)))
- _v553 = crt.Bool32(int32(_v551) > int32(0))
- if _v553 != 0 {
- goto l135
- }
- goto l136
-l135:
- _v555 = *(*int32)(unsafe.Pointer(uintptr(_v29)))
- _v557 = *(*int32)(unsafe.Pointer(uintptr(_v26)))
- *(*int32)(unsafe.Pointer(bp + 144)) = _v555
-
- *(*int32)(unsafe.Pointer(bp + 152)) = _v4
-
- *(*int32)(unsafe.Pointer(bp + 160)) = _v557
-
- _v558 = Xsqlite3_mprintf(t, int32(uintptr(unsafe.Pointer(&s__111))), bp+144)
- _v559 = int32(int32(_v28) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v559))) = _v558
- _v560 = *(*int32)(unsafe.Pointer(uintptr(_v559)))
- _v561 = int32(int32(_v26) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v561))) = _v560
- goto l136
-l136:
- goto l137
-l137:
- _v562 = *(*int32)(unsafe.Pointer(uintptr(_v26)))
- _v563 = s_readFile(t, _v562)
- _v564 = int32(int32(_v27) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v564))) = _v563
- _v567 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 68))
- if _v567 != 0 {
- goto l138
- }
- goto l139
-l138:
- _v569 = *(*int32)(unsafe.Pointer(uintptr(_v26)))
- *(*int32)(unsafe.Pointer(bp + 168)) = _v569
- s_logMessage(t, int32(uintptr(unsafe.Pointer(&s__112))), bp+168)
- goto l139
-l139:
- _v572 = *(*int32)(unsafe.Pointer(uintptr(_v27)))
- _v573 = *(*int32)(unsafe.Pointer(uintptr(_v26)))
- s_runScript(t, 0, 0, _v572, _v573)
- _v574 = *(*int32)(unsafe.Pointer(uintptr(_v27)))
- Xsqlite3_free(t, _v574)
- _v577 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 68))
- if _v577 != 0 {
- goto l140
- }
- goto l141
-l140:
- _v579 = *(*int32)(unsafe.Pointer(uintptr(_v26)))
- *(*int32)(unsafe.Pointer(bp + 176)) = _v579
- s_logMessage(t, int32(uintptr(unsafe.Pointer(&s__113))), bp+176)
- goto l141
-l141:
- _v580 = *(*int32)(unsafe.Pointer(uintptr(_v28)))
- Xsqlite3_free(t, _v580)
- goto l233
-l142:
- _v583 = crt.Xstrcmp(t, _v15, int32(uintptr(unsafe.Pointer(&s__114))))
- _v585 = crt.Bool32(int32(_v583) == int32(0))
- if _v585 != 0 {
- goto l143
- }
- goto l153
-l143:
- _v587 = int32(int32(_v30) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v587))) = 7
- goto l144
-l144:
- _v588 = *(*int32)(unsafe.Pointer(uintptr(_v30)))
- _v589 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v590 = crt.Bool32(int32(_v588) < int32(_v589))
- goto l145
-l145:
- if _v590 != 0 {
- goto l146
- }
- goto l275
-l275:
- _v609 = 0
- goto l149
-l146:
- _v591 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v592 = *(*int32)(unsafe.Pointer(uintptr(_v30)))
- _v593 = int32(int32(_v591) + int32(_v592))
- _v594 = int32(_v593 * 1)
- _v596 = int32(int32(_v3) + int32(_v594))
- _v597 = int32(*(*int8)(unsafe.Pointer(uintptr(_v596))))
- _v598 = int32(int32(uint8(_v597)))
- _v599 = int32(_v598 * 2)
- _v600 = crt.X__ctype_b_loc(t)
- _v601 = *(*int32)(unsafe.Pointer(uintptr(_v600)))
- _v602 = int32(int32(_v601) + int32(_v599))
- _v603 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v602))))
- _v604 = int32(uint16(_v603))
- _v608 = int32(int32(_v604) & int32(8192))
- goto l147
-l147:
- if _v608 != 0 {
- goto l148
- }
- goto l276
-l276:
- _v609 = 0
- goto l149
-l148:
- _v609 = 1
- goto l149
-l149:
- if _v609 != 0 {
- goto l150
- }
- goto l152
-l150:
- goto l151
-l151:
- _v610 = int32(int32(_v30) + int32(0))
- _v611 = *(*int32)(unsafe.Pointer(uintptr(_v610)))
- _v612 = int32(int32(_v611) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v610))) = _v612
- goto l144
-l152:
- _v614 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v615 = *(*int32)(unsafe.Pointer(uintptr(_v30)))
- _v616 = int32(int32(_v614) - int32(_v615))
- _v618 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v619 = int32(int32(_v3) + int32(_v618))
- _v620 = *(*int32)(unsafe.Pointer(uintptr(_v30)))
- _v621 = int32(int32(_v619) + int32(_v620))
- *(*int32)(unsafe.Pointer(bp + 184)) = _v616
-
- *(*int32)(unsafe.Pointer(bp + 192)) = _v621
- s_logMessage(t, int32(uintptr(unsafe.Pointer(&s__98))), bp+184)
- goto l232
-l153:
- _v624 = crt.Xstrcmp(t, _v15, int32(uintptr(unsafe.Pointer(&s__115))))
- _v626 = crt.Bool32(int32(_v624) == int32(0))
- if _v626 != 0 {
- goto l154
- }
- goto l171
-l154:
- _v628 = int32(int32(_v31) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v628))) = 4
- goto l155
-l155:
- _v629 = *(*int32)(unsafe.Pointer(uintptr(_v31)))
- _v630 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v631 = crt.Bool32(int32(_v629) < int32(_v630))
- goto l156
-l156:
- if _v631 != 0 {
- goto l157
- }
- goto l277
-l277:
- _v650 = 0
- goto l160
-l157:
- _v632 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v633 = *(*int32)(unsafe.Pointer(uintptr(_v31)))
- _v634 = int32(int32(_v632) + int32(_v633))
- _v635 = int32(_v634 * 1)
- _v637 = int32(int32(_v3) + int32(_v635))
- _v638 = int32(*(*int8)(unsafe.Pointer(uintptr(_v637))))
- _v639 = int32(int32(uint8(_v638)))
- _v640 = int32(_v639 * 2)
- _v641 = crt.X__ctype_b_loc(t)
- _v642 = *(*int32)(unsafe.Pointer(uintptr(_v641)))
- _v643 = int32(int32(_v642) + int32(_v640))
- _v644 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v643))))
- _v645 = int32(uint16(_v644))
- _v649 = int32(int32(_v645) & int32(8192))
- goto l158
-l158:
- if _v649 != 0 {
- goto l159
- }
- goto l278
-l278:
- _v650 = 0
- goto l160
-l159:
- _v650 = 1
- goto l160
-l160:
- if _v650 != 0 {
- goto l161
- }
- goto l163
-l161:
- goto l162
-l162:
- _v651 = int32(int32(_v31) + int32(0))
- _v652 = *(*int32)(unsafe.Pointer(uintptr(_v651)))
- _v653 = int32(int32(_v652) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v651))) = _v653
- goto l155
-l163:
- _v655 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v656 = *(*int32)(unsafe.Pointer(uintptr(_v31)))
- _v657 = int32(int32(_v655) - int32(_v656))
- _v659 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v660 = int32(int32(_v3) + int32(_v659))
- _v661 = *(*int32)(unsafe.Pointer(uintptr(_v31)))
- _v662 = int32(int32(_v660) + int32(_v661))
- *(*int32)(unsafe.Pointer(bp + 200)) = _v657
-
- *(*int32)(unsafe.Pointer(bp + 208)) = _v662
-
- _v663 = s_prepareSql(t, int32(uintptr(unsafe.Pointer(&s__116))), bp+200)
- _v664 = int32(int32(_v33) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v664))) = _v663
- _v665 = *(*int32)(unsafe.Pointer(uintptr(_v33)))
- _v666 = Xsqlite3_step(t, _v665)
- _v667 = int32(int32(_v32) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v667))) = _v666
- _v668 = *(*int32)(unsafe.Pointer(uintptr(_v32)))
- _v670 = crt.Bool32(int32(_v668) != int32(100))
- goto l164
-l164:
- if _v670 != 0 {
- goto l279
- }
- goto l165
-l279:
- _v676 = 1
- goto l168
-l165:
- _v671 = *(*int32)(unsafe.Pointer(uintptr(_v33)))
- _v673 = Xsqlite3_column_int(t, _v671, 0)
- _v675 = crt.Bool32(int32(_v673) == int32(0))
- goto l166
-l166:
- if _v675 != 0 {
- goto l280
- }
- goto l167
-l280:
- _v676 = 1
- goto l168
-l167:
- _v676 = 0
- goto l168
-l168:
- if _v676 != 0 {
- goto l169
- }
- goto l170
-l169:
- _v678 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v679 = int32(int32(_v3) + int32(_v678))
- _v680 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v681 = int32(int32(_v679) + int32(_v680))
- _v683 = int32(int32(_v5) + int32(0))
- _v684 = s_findEndif(t, _v681, 1, _v683)
- _v685 = int32(int32(_v7) + int32(0))
- _v686 = *(*int32)(unsafe.Pointer(uintptr(_v685)))
- _v687 = int32(int32(_v686) + int32(_v684))
- *(*int32)(unsafe.Pointer(uintptr(_v685))) = _v687
- goto l170
-l170:
- _v688 = *(*int32)(unsafe.Pointer(uintptr(_v33)))
- _ = Xsqlite3_finalize(t, _v688)
- goto l231
-l171:
- _v692 = crt.Xstrcmp(t, _v15, int32(uintptr(unsafe.Pointer(&s__117))))
- _v694 = crt.Bool32(int32(_v692) == int32(0))
- if _v694 != 0 {
- goto l172
- }
- goto l173
-l172:
- _v696 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v697 = int32(int32(_v3) + int32(_v696))
- _v698 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v699 = int32(int32(_v697) + int32(_v698))
- _v701 = int32(int32(_v5) + int32(0))
- _v702 = s_findEndif(t, _v699, 0, _v701)
- _v703 = int32(int32(_v7) + int32(0))
- _v704 = *(*int32)(unsafe.Pointer(uintptr(_v703)))
- _v705 = int32(int32(_v704) + int32(_v702))
- *(*int32)(unsafe.Pointer(uintptr(_v703))) = _v705
- goto l230
-l173:
- _v708 = crt.Xstrcmp(t, _v15, int32(uintptr(unsafe.Pointer(&s__118))))
- _v710 = crt.Bool32(int32(_v708) == int32(0))
- if _v710 != 0 {
- goto l174
- }
- goto l175
-l174:
- goto l229
-l175:
- _v713 = crt.Xstrcmp(t, _v15, int32(uintptr(unsafe.Pointer(&s__119))))
- _v715 = crt.Bool32(int32(_v713) == int32(0))
- goto l176
-l176:
- if _v715 != 0 {
- goto l177
- }
- goto l281
-l281:
- _v719 = 0
- goto l180
-l177:
- _v718 = crt.Bool32(int32(_v1) == int32(0))
- goto l178
-l178:
- if _v718 != 0 {
- goto l179
- }
- goto l282
-l282:
- _v719 = 0
- goto l180
-l179:
- _v719 = 1
- goto l180
-l180:
- if _v719 != 0 {
- goto l181
- }
- goto l184
-l181:
- _v723 = int32(int32(_v17) + int32(0))
- _v724 = crt.Xatoi(t, _v723)
- *(*int32)(unsafe.Pointer(uintptr(_v34))) = _v724
- _v725 = *(*int32)(unsafe.Pointer(uintptr(_v34)))
- _v727 = crt.Bool32(int32(_v725) > int32(0))
- if _v727 != 0 {
- goto l182
- }
- goto l183
-l182:
- _v728 = *(*int32)(unsafe.Pointer(uintptr(_v34)))
- s_startClient(t, _v728)
- goto l183
-l183:
- goto l228
-l184:
- _v731 = crt.Xstrcmp(t, _v15, int32(uintptr(unsafe.Pointer(&s__120))))
- _v733 = crt.Bool32(int32(_v731) == int32(0))
- goto l185
-l185:
- if _v733 != 0 {
- goto l186
- }
- goto l283
-l283:
- _v737 = 0
- goto l189
-l186:
- _v736 = crt.Bool32(int32(_v1) == int32(0))
- goto l187
-l187:
- if _v736 != 0 {
- goto l188
- }
- goto l284
-l284:
- _v737 = 0
- goto l189
-l188:
- _v737 = 1
- goto l189
-l189:
- if _v737 != 0 {
- goto l190
- }
- goto l197
-l190:
- _v738 = *(*int32)(unsafe.Pointer(uintptr(_v13)))
- _v740 = crt.Bool32(int32(_v738) >= int32(2))
- goto l191
-l191:
- if _v740 != 0 {
- goto l192
- }
- goto l194
-l192:
- _v744 = int32(int32(_v17) + int32(100))
- _v745 = crt.Xatoi(t, _v744)
- goto l193
-l193:
- _v747 = _v745
- goto l196
-l194:
- goto l195
-l195:
- _v747 = 10000
- goto l196
-l196:
- *(*int32)(unsafe.Pointer(uintptr(_v35))) = _v747
- _v751 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- *(*int32)(unsafe.Pointer(bp + 216)) = _v751
-
- *(*int32)(unsafe.Pointer(bp + 224)) = _v4
-
- _ = Xsqlite3_snprintf(t, 1000, _v16, int32(uintptr(unsafe.Pointer(&s__121))), bp+216)
- _v757 = int32(int32(_v17) + int32(0))
- _v758 = crt.Xatoi(t, _v757)
- _v759 = *(*int32)(unsafe.Pointer(uintptr(_v35)))
- s_waitForClient(t, _v758, _v759, _v16)
- goto l227
-l197:
- _v763 = crt.Xstrcmp(t, _v15, int32(uintptr(unsafe.Pointer(&s__122))))
- _v765 = crt.Bool32(int32(_v763) == int32(0))
- goto l198
-l198:
- if _v765 != 0 {
- goto l199
- }
- goto l285
-l285:
- _v769 = 0
- goto l202
-l199:
- _v768 = crt.Bool32(int32(_v1) == int32(0))
- goto l200
-l200:
- if _v768 != 0 {
- goto l201
- }
- goto l286
-l286:
- _v769 = 0
- goto l202
-l201:
- _v769 = 1
- goto l202
-l202:
- if _v769 != 0 {
- goto l203
- }
- goto l210
-l203:
- _v773 = int32(int32(_v17) + int32(0))
- _v774 = crt.Xatoi(t, _v773)
- *(*int32)(unsafe.Pointer(uintptr(_v36))) = _v774
- _v776 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v777 = int32(int32(_v3) + int32(_v776))
- _v778 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v779 = int32(int32(_v777) + int32(_v778))
- _v780 = int32(int32(_v5) + int32(0))
- _v781 = s_findEnd(t, _v779, _v780)
- _v782 = int32(int32(_v37) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v782))) = _v781
- _v783 = *(*int32)(unsafe.Pointer(uintptr(_v36)))
- _v785 = crt.Bool32(int32(_v783) < int32(0))
- if _v785 != 0 {
- goto l204
- }
- goto l205
-l204:
- _v787 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v789 = *(*int32)(unsafe.Pointer(uintptr(_v36)))
- *(*int32)(unsafe.Pointer(bp + 232)) = _v787
-
- *(*int32)(unsafe.Pointer(bp + 240)) = _v4
-
- *(*int32)(unsafe.Pointer(bp + 248)) = _v789
- s_errorMessage(t, int32(uintptr(unsafe.Pointer(&s__123))), bp+232)
- goto l209
-l205:
- _v791 = *(*int32)(unsafe.Pointer(uintptr(_v37)))
- _v793 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v794 = int32(int32(_v3) + int32(_v793))
- _v795 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v796 = int32(int32(_v794) + int32(_v795))
- *(*int32)(unsafe.Pointer(bp + 256)) = _v791
-
- *(*int32)(unsafe.Pointer(bp + 264)) = _v796
-
- _v797 = Xsqlite3_mprintf(t, int32(uintptr(unsafe.Pointer(&s__98))), bp+256)
- _v798 = int32(int32(_v38) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v798))) = _v797
- _v799 = *(*int32)(unsafe.Pointer(uintptr(_v13)))
- _v801 = crt.Bool32(int32(_v799) > int32(1))
- if _v801 != 0 {
- goto l206
- }
- goto l207
-l206:
- _v806 = int32(int32(_v17) + int32(100))
- *(*int32)(unsafe.Pointer(bp + 272)) = _v806
-
- _v807 = Xsqlite3_mprintf(t, int32(uintptr(unsafe.Pointer(&s__55))), bp+272)
- _v808 = int32(int32(_v39) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v808))) = _v807
- goto l208
-l207:
- _v811 = s_filenameTail(t, _v4)
- _v812 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- *(*int32)(unsafe.Pointer(bp + 280)) = _v811
-
- *(*int32)(unsafe.Pointer(bp + 288)) = _v812
-
- _v813 = Xsqlite3_mprintf(t, int32(uintptr(unsafe.Pointer(&s__124))), bp+280)
- _v814 = int32(int32(_v39) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v814))) = _v813
- goto l208
-l208:
- _v815 = *(*int32)(unsafe.Pointer(uintptr(_v36)))
- s_startClient(t, _v815)
- _v817 = *(*int32)(unsafe.Pointer(uintptr(_v36)))
- _v818 = *(*int32)(unsafe.Pointer(uintptr(_v38)))
- _v819 = *(*int32)(unsafe.Pointer(uintptr(_v39)))
- *(*int32)(unsafe.Pointer(bp + 296)) = _v817
-
- *(*int32)(unsafe.Pointer(bp + 304)) = _v818
-
- *(*int32)(unsafe.Pointer(bp + 312)) = _v819
- s_runSql(t, int32(uintptr(unsafe.Pointer(&s__125))), bp+296)
- _v820 = *(*int32)(unsafe.Pointer(uintptr(_v38)))
- Xsqlite3_free(t, _v820)
- _v821 = *(*int32)(unsafe.Pointer(uintptr(_v39)))
- Xsqlite3_free(t, _v821)
- goto l209
-l209:
- _v823 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v824 = int32(int32(_v3) + int32(_v823))
- _v825 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v826 = int32(int32(_v824) + int32(_v825))
- _v827 = *(*int32)(unsafe.Pointer(uintptr(_v37)))
- _v828 = int32(int32(_v826) + int32(_v827))
- _v829 = int32(int32(_v5) + int32(0))
- _v830 = s_tokenLength(t, _v828, _v829)
- _v831 = int32(int32(_v37) + int32(0))
- _v832 = *(*int32)(unsafe.Pointer(uintptr(_v831)))
- _v833 = int32(int32(_v832) + int32(_v830))
- *(*int32)(unsafe.Pointer(uintptr(_v831))) = _v833
- _v834 = *(*int32)(unsafe.Pointer(uintptr(_v37)))
- _v835 = int32(int32(_v12) + int32(0))
- _v836 = *(*int32)(unsafe.Pointer(uintptr(_v835)))
- _v837 = int32(int32(_v836) + int32(_v834))
- *(*int32)(unsafe.Pointer(uintptr(_v835))) = _v837
- _v838 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v839 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v840 = int32(int32(_v838) + int32(_v839))
- _v841 = int32(int32(_v8) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v841))) = _v840
- goto l226
-l210:
- _v844 = crt.Xstrcmp(t, _v15, int32(uintptr(unsafe.Pointer(&s__126))))
- _v846 = crt.Bool32(int32(_v844) == int32(0))
- if _v846 != 0 {
- goto l211
- }
- goto l212
-l211:
- s_test_breakpoint(t)
- goto l225
-l212:
- _v849 = crt.Xstrcmp(t, _v15, int32(uintptr(unsafe.Pointer(&s__127))))
- _v851 = crt.Bool32(int32(_v849) == int32(0))
- if _v851 != 0 {
- goto l213
- }
- goto l223
-l213:
- _v852 = *(*int32)(unsafe.Pointer(uintptr(_v13)))
- _v854 = crt.Bool32(int32(_v852) >= int32(1))
- goto l214
-l214:
- if _v854 != 0 {
- goto l215
- }
- goto l220
-l215:
- _v858 = int32(int32(_v17) + int32(0))
- _v859 = s_booleanValue(t, _v858)
- goto l216
-l216:
- if _v859 != 0 {
- goto l217
- }
- goto l287
-l287:
- _v860 = 1
- goto l218
-l217:
- _v860 = 0
- goto l218
-l218:
- goto l219
-l219:
- _v862 = int32(_v860)
- goto l222
-l220:
- goto l221
-l221:
- _v862 = 1
- goto l222
-l222:
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 76)) = _v862
- goto l224
-l223:
- _v866 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- *(*int32)(unsafe.Pointer(bp + 320)) = _v866
-
- *(*int32)(unsafe.Pointer(bp + 328)) = _v4
-
- *(*int32)(unsafe.Pointer(bp + 336)) = _v15
- s_errorMessage(t, int32(uintptr(unsafe.Pointer(&s__128))), bp+320)
- goto l224
-l224:
- goto l225
-l225:
- goto l226
-l226:
- goto l227
-l227:
- goto l228
-l228:
- goto l229
-l229:
- goto l230
-l230:
- goto l231
-l231:
- goto l232
-l232:
- goto l233
-l233:
- goto l234
-l234:
- goto l235
-l235:
- goto l236
-l236:
- goto l237
-l237:
- goto l238
-l238:
- goto l239
-l239:
- goto l240
-l240:
- goto l241
-l241:
- _v869 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v870 = int32(int32(_v7) + int32(0))
- _v871 = *(*int32)(unsafe.Pointer(uintptr(_v870)))
- _v872 = int32(int32(_v871) + int32(_v869))
- *(*int32)(unsafe.Pointer(uintptr(_v870))) = _v872
- goto l2
-l242:
- _v873 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v874 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v875 = crt.Bool32(int32(_v873) < int32(_v874))
- if _v875 != 0 {
- goto l243
- }
- goto l244
-l243:
- _v877 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v878 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v879 = int32(int32(_v877) - int32(_v878))
- _v881 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v882 = int32(int32(_v3) + int32(_v881))
- *(*int32)(unsafe.Pointer(bp + 344)) = _v879
-
- *(*int32)(unsafe.Pointer(bp + 352)) = _v882
-
- _v883 = Xsqlite3_mprintf(t, int32(uintptr(unsafe.Pointer(&s__98))), bp+344)
- *(*int32)(unsafe.Pointer(uintptr(_v40))) = _v883
- _v884 = *(*int32)(unsafe.Pointer(uintptr(_v40)))
- s_runSql(t, _v884, 0)
- _v885 = *(*int32)(unsafe.Pointer(uintptr(_v40)))
- Xsqlite3_free(t, _v885)
- goto l244
-l244:
- _v886 = int32(int32(_v14) + int32(0))
- s_stringFree(t, _v886)
- goto l245
-l245:
-}
-
-var s__97 = [10]byte{0x72, 0x75, 0x6e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74}
-
-var s__98 = [5]byte{0x25, 0x2e, 0x2a, 0x73}
-
-var s__99 = [6]byte{0x73, 0x6c, 0x65, 0x65, 0x70}
-
-var s__100 = [5]byte{0x65, 0x78, 0x69, 0x74}
-
-var s__101 = [9]byte{0x74, 0x65, 0x73, 0x74, 0x63, 0x61, 0x73, 0x65}
-
-var s__102 = [7]byte{0x66, 0x69, 0x6e, 0x69, 0x73, 0x68}
-
-var s__103 = [6]byte{0x72, 0x65, 0x73, 0x65, 0x74}
-
-var s__104 = [6]byte{0x6d, 0x61, 0x74, 0x63, 0x68}
-
-var s__105 = [45]byte{
- 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x25, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x25, 0x73, 0x3a, 0x0a, 0x45,
- 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x5b, 0x25, 0x2e, 0x2a, 0x73, 0x5d, 0x0a, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x47, 0x6f, 0x74, 0x20, 0x5b, 0x25, 0x73, 0x5d,
-}
-
-var s__106 = [5]byte{0x67, 0x6c, 0x6f, 0x62}
-
-var s__107 = [8]byte{0x6e, 0x6f, 0x74, 0x67, 0x6c, 0x6f, 0x62}
-
-var s__108 = [43]byte{
- 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x25, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x25, 0x73, 0x3a, 0x0a, 0x45,
- 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x5b, 0x25, 0x73, 0x5d, 0x0a, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x47, 0x6f, 0x74, 0x20, 0x5b, 0x25, 0x73, 0x5d,
-}
-
-var s__109 = [7]byte{0x6f, 0x75, 0x74, 0x70, 0x75, 0x74}
-
-var s__110 = [7]byte{0x73, 0x6f, 0x75, 0x72, 0x63, 0x65}
-
-var s__111 = [8]byte{0x25, 0x2e, 0x2a, 0x73, 0x2f, 0x25, 0x73}
-
-var s__112 = [19]byte{
- 0x62, 0x65, 0x67, 0x69, 0x6e, 0x20, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x5b, 0x25, 0x73,
- 0x5d, 0x0a,
-}
-
-var s__113 = [17]byte{0x65, 0x6e, 0x64, 0x20, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x5b, 0x25, 0x73, 0x5d, 0x0a}
-
-var s__114 = [6]byte{0x70, 0x72, 0x69, 0x6e, 0x74}
-
-var s__115 = [3]byte{0x69, 0x66}
-
-var s__116 = [12]byte{0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x20, 0x25, 0x2e, 0x2a, 0x73}
-
-var s__117 = [5]byte{0x65, 0x6c, 0x73, 0x65}
-
-var s__118 = [6]byte{0x65, 0x6e, 0x64, 0x69, 0x66}
-
-var s__119 = [6]byte{0x73, 0x74, 0x61, 0x72, 0x74}
-
-var s__120 = [5]byte{0x77, 0x61, 0x69, 0x74}
-
-var s__121 = [15]byte{0x6c, 0x69, 0x6e, 0x65, 0x20, 0x25, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x25, 0x73, 0x0a}
-
-var s__122 = [5]byte{0x74, 0x61, 0x73, 0x6b}
-
-var s__123 = [37]byte{
- 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x25, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x25, 0x73, 0x3a, 0x20, 0x62,
- 0x61, 0x64, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72,
- 0x3a, 0x20, 0x25, 0x64,
-}
-
-var s__124 = [6]byte{0x25, 0x73, 0x3a, 0x25, 0x64}
-
-var s__125 = [56]byte{
- 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x20, 0x49, 0x4e, 0x54, 0x4f, 0x20, 0x74, 0x61, 0x73, 0x6b,
- 0x28, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2c, 0x6e,
- 0x61, 0x6d, 0x65, 0x29, 0x20, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x53, 0x28, 0x25, 0x64, 0x2c, 0x27,
- 0x25, 0x71, 0x27, 0x2c, 0x25, 0x51, 0x29,
-}
-
-var s__126 = [11]byte{0x62, 0x72, 0x65, 0x61, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74}
-
-var s__127 = [16]byte{0x73, 0x68, 0x6f, 0x77, 0x2d, 0x73, 0x71, 0x6c, 0x2d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73}
-
-var s__128 = [36]byte{
- 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x25, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x25, 0x73, 0x3a, 0x20, 0x75,
- 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x20, 0x2d,
- 0x2d, 0x25, 0x73,
-}
-
-func s_findOption(t *crt.TLS, _v1 int32, _v2 int32, _v3 int32, _v4 int32) int32 {
- bp := t.Alloc(32)
- defer t.Free(32)
- var _v19 int32 // %t10
- var _v109 int32 // %t100
- var _v110 int32 // %t101
- var _v111 int32 // %t102
- var _v112 int32 // %t103
- var _v113 int32 // %t104
- var _v115 int32 // %t106
- var _v116 int32 // %t107
- var _v117 int32 // %t108
- var _v118 int32 // %t109
- var _v119 int32 // %t110
- var _v120 int32 // %t111
- var _v122 int32 // %t113
- var _v123 int32 // %t114
- var _v125 int32 // %t116
- var _v126 int32 // %t117
- var _v127 int32 // %t118
- var _v128 int32 // %t119
- var _v129 int32 // %t120
- var _v25 int32 // %t16
- var _v26 int32 // %t17
- var _v27 int32 // %t18
- var _v28 int32 // %t19
- var _v29 int32 // %t20
- var _v31 int32 // %t22
- var _v32 int32 // %t23
- var _v33 int32 // %t24
- var _v34 int32 // %t25
- var _v35 int32 // %t26
- var _v37 int32 // %t28
- var _v38 int32 // %t29
- var _v12 int32 // %t3
- var _v39 int32 // %t30
- var _v42 int32 // %t33
- var _v43 int32 // %t34
- var _v44 int32 // %t35
- var _v45 int32 // %t36
- var _v47 int32 // %t38
- var _v48 int32 // %t39
- var _v49 int32 // %t40
- var _v50 int32 // %t41
- var _v53 int32 // %t44
- var _v54 int32 // %t45
- var _v55 int32 // %t46
- var _v56 int32 // %t47
- var _v58 int32 // %t49
- var _v61 int32 // %t52
- var _v62 int32 // %t53
- var _v63 int32 // %t54
- var _v64 int32 // %t55
- var _v66 int32 // %t57
- var _v67 int32 // %t58
- var _v68 int32 // %t59
- var _v15 int32 // %t6
- var _v69 int32 // %t60
- var _v70 int32 // %t61
- var _v72 int32 // %t63
- var _v74 int32 // %t65
- var _v76 int32 // %t67
- var _v77 int32 // %t68
- var _v79 int32 // %t70
- var _v80 int32 // %t71
- var _v81 int32 // %t72
- var _v83 int32 // %t74
- var _v85 int32 // %t76
- var _v87 int32 // %t78
- var _v88 int32 // %t79
- var _v90 int32 // %t81
- var _v91 int32 // %t82
- var _v92 int32 // %t83
- var _v93 int32 // %t84
- var _v94 int32 // %t85
- var _v96 int32 // %t87
- var _v97 int32 // %t88
- var _v98 int32 // %t89
- var _v18 int32 // %t9
- var _v99 int32 // %t90
- var _v101 int32 // %t92
- var _v104 int32 // %t95
- var _v105 int32 // %t96
- var _v106 int32 // %t97
- var _v107 int32 // %t98
- var _v108 int32 // %t99
- var _v5 = int32(bp + 8) // %v5
- var _v6 = int32(bp + 12) // %v6
- var _v7 = int32(bp + 16) // %v7
- var _v8 = int32(bp + 20) // %v8
- var _v9 = int32(bp + 24) // %v9
- *(*int32)(unsafe.Pointer(uintptr(_v7))) = 0
- _v12 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- *(*int32)(unsafe.Pointer(uintptr(_v8))) = _v12
- _v15 = crt.Bool32(int32(_v4) == int32(0))
- goto l2
-l2:
- if _v15 != 0 {
- goto l46
- }
- goto l3
-l46:
- _v19 = 1
- goto l6
-l3:
- _v18 = crt.Bool32(int32(_v4) == int32(1))
- goto l4
-l4:
- if _v18 != 0 {
- goto l47
- }
- goto l5
-l47:
- _v19 = 1
- goto l6
-l5:
- _v19 = 0
- goto l6
-l6:
- goto l7
-l7:
- if _v19 != 0 {
- goto l8
- }
- goto l10
-l8:
- goto l9
-l9:
- goto l12
-l10:
- crt.X__assert_fail(t, int32(uintptr(unsafe.Pointer(&s__130))), int32(uintptr(unsafe.Pointer(&s__44))), 1211, int32(uintptr(unsafe.Pointer(&s__129))))
- goto l11
-l11:
- goto l12
-l12:
- _v25 = int32(int32(_v5) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v25))) = 0
- goto l13
-l13:
- _v26 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v27 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v28 = crt.Bool32(int32(_v26) < int32(_v27))
- if _v28 != 0 {
- goto l14
- }
- goto l43
-l14:
- _v29 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v31 = int32(int32(_v29) + int32(_v4))
- _v32 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v33 = crt.Bool32(int32(_v31) >= int32(_v32))
- if _v33 != 0 {
- goto l15
- }
- goto l17
-l15:
- goto l43
-l17:
- _v34 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v35 = int32(_v34 * 4)
- _v37 = int32(int32(_v1) + int32(_v35))
- _v38 = *(*int32)(unsafe.Pointer(uintptr(_v37)))
- _v39 = int32(int32(_v9) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v39))) = _v38
- _v42 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v43 = int32(int32(_v42) + int32(0))
- _v44 = int32(*(*int8)(unsafe.Pointer(uintptr(_v43))))
- _v45 = int32(int8(_v44))
- _v47 = crt.Bool32(int32(_v45) != int32(45))
- if _v47 != 0 {
- goto l18
- }
- goto l20
-l18:
- goto l42
-l20:
- _v48 = int32(int32(_v9) + int32(0))
- _v49 = *(*int32)(unsafe.Pointer(uintptr(_v48)))
- _v50 = int32(int32(_v49) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v48))) = _v50
- _v53 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v54 = int32(int32(_v53) + int32(0))
- _v55 = int32(*(*int8)(unsafe.Pointer(uintptr(_v54))))
- _v56 = int32(int8(_v55))
- _v58 = crt.Bool32(int32(_v56) == int32(45))
- if _v58 != 0 {
- goto l21
- }
- goto l25
-l21:
- _v61 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v62 = int32(int32(_v61) + int32(1))
- _v63 = int32(*(*int8)(unsafe.Pointer(uintptr(_v62))))
- _v64 = int32(int8(_v63))
- _v66 = crt.Bool32(int32(_v64) == int32(0))
- if _v66 != 0 {
- goto l22
- }
- goto l24
-l22:
- goto l43
-l24:
- _v67 = int32(int32(_v9) + int32(0))
- _v68 = *(*int32)(unsafe.Pointer(uintptr(_v67)))
- _v69 = int32(int32(_v68) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v67))) = _v69
- goto l25
-l25:
- _v70 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v72 = crt.Xstrcmp(t, _v70, _v3)
- _v74 = crt.Bool32(int32(_v72) == int32(0))
- if _v74 != 0 {
- goto l26
- }
- goto l41
-l26:
- goto l27
-l27:
- if _v4 != 0 {
- goto l28
- }
- goto l48
-l48:
- _v81 = 0
- goto l31
-l28:
- _v76 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v77 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v79 = int32(int32(_v77) - int32(1))
- _v80 = crt.Bool32(int32(_v76) == int32(_v79))
- goto l29
-l29:
- if _v80 != 0 {
- goto l30
- }
- goto l49
-l49:
- _v81 = 0
- goto l31
-l30:
- _v81 = 1
- goto l31
-l31:
- if _v81 != 0 {
- goto l32
- }
- goto l33
-l32:
- _v83 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- *(*int32)(unsafe.Pointer(bp + 0)) = _v83
- s_fatalError(t, int32(uintptr(unsafe.Pointer(&s__131))), bp+0)
- goto l33
-l33:
- if _v4 != 0 {
- goto l34
- }
- goto l35
-l34:
- _v85 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v87 = int32(int32(_v85) + int32(1))
- _v88 = int32(_v87 * 4)
- _v90 = int32(int32(_v1) + int32(_v88))
- _v91 = *(*int32)(unsafe.Pointer(uintptr(_v90)))
- _v92 = int32(int32(_v7) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v92))) = _v91
- goto l36
-l35:
- _v93 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v94 = int32(_v93 * 4)
- _v96 = int32(int32(_v1) + int32(_v94))
- _v97 = *(*int32)(unsafe.Pointer(uintptr(_v96)))
- _v98 = int32(int32(_v7) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v98))) = _v97
- goto l36
-l36:
- _v99 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v101 = int32(int32(_v99) + int32(1))
- _v104 = crt.Bool32(int32(_v4) != int32(0))
- _v105 = int32(int32(_v101) + int32(_v104))
- _v106 = int32(int32(_v6) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v106))) = _v105
- goto l37
-l37:
- _v107 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v108 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v109 = crt.Bool32(int32(_v107) < int32(_v108))
- if _v109 != 0 {
- goto l38
- }
- goto l39
-l38:
- _v110 = int32(int32(_v6) + int32(0))
- _v111 = *(*int32)(unsafe.Pointer(uintptr(_v110)))
- _v112 = int32(int32(_v111) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v110))) = _v112
- _v113 = int32(_v111 * 4)
- _v115 = int32(int32(_v1) + int32(_v113))
- _v116 = *(*int32)(unsafe.Pointer(uintptr(_v115)))
- _v117 = int32(int32(_v5) + int32(0))
- _v118 = *(*int32)(unsafe.Pointer(uintptr(_v117)))
- _v119 = int32(int32(_v118) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v117))) = _v119
- _v120 = int32(_v118 * 4)
- _v122 = int32(int32(_v1) + int32(_v120))
- *(*int32)(unsafe.Pointer(uintptr(_v122))) = _v116
- goto l37
-l39:
- _v123 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- *(*int32)(unsafe.Pointer(uintptr(_v2))) = _v123
- _v125 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- return _v125
-l41:
- goto l42
-l42:
- _v126 = int32(int32(_v5) + int32(0))
- _v127 = *(*int32)(unsafe.Pointer(uintptr(_v126)))
- _v128 = int32(int32(_v127) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v126))) = _v128
- goto l13
-l43:
- _v129 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- return _v129
-}
-
-var s__129 = [11]byte{0x66, 0x69, 0x6e, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e}
-
-var s__130 = [23]byte{
- 0x68, 0x61, 0x73, 0x41, 0x72, 0x67, 0x3d, 0x3d, 0x30, 0x20, 0x7c, 0x7c, 0x20, 0x68, 0x61, 0x73,
- 0x41, 0x72, 0x67, 0x3d, 0x3d, 0x31,
-}
-
-var s__131 = [48]byte{
- 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2d, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x6f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x20, 0x22, 0x2d, 0x2d, 0x25, 0x73, 0x22, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69,
- 0x72, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74,
-}
-
-func s_usage(t *crt.TLS, _v1 int32) {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v13 int32 // %t10
- var _v15 int32 // %t12
- var _v16 int32 // %t13
- var _v17 int32 // %t14
- var _v19 int32 // %t16
- var _v21 int32 // %t18
- var _v22 int32 // %t19
- var _v24 int32 // %t21
- var _v25 int32 // %t22
- var _v26 int32 // %t23
- var _v27 int32 // %t24
- var _v28 int32 // %t25
- var _v29 int32 // %t26
- var _v31 int32 // %t28
- var _v6 int32 // %t3
- var _v33 int32 // %t30
- var _v7 int32 // %t4
- var _v8 int32 // %t5
- var _v10 int32 // %t7
- var _v11 int32 // %t8
- var _v12 int32 // %t9
- var _v2 = int32(bp + 8) // %v2
- var _v3 = int32(bp + 12) // %v3
- *(*int32)(unsafe.Pointer(uintptr(_v3))) = _v1
- _v6 = int32(int32(_v2) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v6))) = 0
- goto l2
-l2:
- _v7 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v8 = int32(_v7 * 1)
- _v10 = int32(int32(_v1) + int32(_v8))
- _v11 = int32(*(*int8)(unsafe.Pointer(uintptr(_v10))))
- if _v11 != 0 {
- goto l3
- }
- goto l7
-l3:
- _v12 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v13 = int32(_v12 * 1)
- _v15 = int32(int32(_v1) + int32(_v13))
- _v16 = int32(*(*int8)(unsafe.Pointer(uintptr(_v15))))
- _v17 = int32(int8(_v16))
- _v19 = crt.Bool32(int32(_v17) == int32(47))
- if _v19 != 0 {
- goto l4
- }
- goto l5
-l4:
- _v21 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v22 = int32(int32(_v1) + int32(_v21))
- _v24 = int32(int32(_v22) + int32(1))
- _v25 = int32(int32(_v3) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v25))) = _v24
- goto l5
-l5:
- goto l6
-l6:
- _v26 = int32(int32(_v2) + int32(0))
- _v27 = *(*int32)(unsafe.Pointer(uintptr(_v26)))
- _v28 = int32(int32(_v27) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v26))) = _v28
- goto l2
-l7:
- _v29 = *(*int32)(unsafe.Pointer(&crt.Xstderr))
- _v31 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- *(*int32)(unsafe.Pointer(bp + 0)) = _v31
-
- _ = crt.Xfprintf(t, _v29, int32(uintptr(unsafe.Pointer(&s__133))), bp+0)
- _v33 = *(*int32)(unsafe.Pointer(&crt.Xstderr))
-
- _ = crt.Xfprintf(t, _v33, int32(uintptr(unsafe.Pointer(&s__134))), 0)
- crt.Xexit(t, 1)
- goto l8
-l8:
-}
-
-var s__132 = [6]byte{0x75, 0x73, 0x61, 0x67, 0x65}
-
-var s__133 = [39]byte{
- 0x55, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x25, 0x73, 0x20, 0x44, 0x41, 0x54, 0x41, 0x42, 0x41,
- 0x53, 0x45, 0x20, 0x3f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x3f, 0x20, 0x3f, 0x53, 0x43,
- 0x52, 0x49, 0x50, 0x54, 0x3f, 0x0a,
-}
-
-var s__134 = [572]byte{
- 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x65, 0x72,
- 0x72, 0x6c, 0x6f, 0x67, 0x20, 0x46, 0x49, 0x4c, 0x45, 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x57, 0x72, 0x69, 0x74, 0x65, 0x20, 0x65, 0x72,
- 0x72, 0x6f, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x46, 0x49, 0x4c, 0x45, 0x4e, 0x41, 0x4d, 0x45,
- 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x6d, 0x6f, 0x64,
- 0x65, 0x20, 0x4d, 0x4f, 0x44, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x55, 0x73, 0x65, 0x20, 0x4d, 0x4f, 0x44, 0x45, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20,
- 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x0a, 0x20, 0x20, 0x20,
- 0x2d, 0x2d, 0x6c, 0x6f, 0x67, 0x20, 0x46, 0x49, 0x4c, 0x45, 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x6f, 0x67, 0x20,
- 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x46, 0x49, 0x4c, 0x45,
- 0x4e, 0x41, 0x4d, 0x45, 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x71, 0x75, 0x69, 0x65, 0x74, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x53, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x20, 0x75, 0x6e, 0x6e,
- 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x0a,
- 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x76, 0x66, 0x73, 0x20, 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x55,
- 0x73, 0x65, 0x20, 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x56,
- 0x46, 0x53, 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x20, 0x4e,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x73,
- 0x74, 0x20, 0x4e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x73,
- 0x71, 0x6c, 0x74, 0x72, 0x61, 0x63, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x20,
- 0x53, 0x51, 0x4c, 0x20, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x2d,
- 0x2d, 0x73, 0x79, 0x6e, 0x63, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x61, 0x62, 0x6c,
- 0x65, 0x20, 0x73, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x6f, 0x75, 0x73, 0x20, 0x64, 0x69,
- 0x73, 0x6b, 0x20, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x74,
- 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x20, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x42, 0x75, 0x73, 0x79, 0x20, 0x74, 0x69,
- 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x20, 0x69, 0x73, 0x20, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45,
- 0x43, 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x74, 0x72, 0x61, 0x63, 0x65, 0x20, 0x42, 0x4f, 0x4f,
- 0x4c, 0x45, 0x41, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x64, 0x69, 0x73, 0x61, 0x62,
- 0x6c, 0x65, 0x20, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x0a,
-}
-
-func s_unrecognizedArguments(t *crt.TLS, _v1 int32, _v2 int32, _v3 int32) {
- bp := t.Alloc(32)
- defer t.Free(32)
- var _v5 int32 // %t1
- var _v14 int32 // %t10
- var _v16 int32 // %t12
- var _v17 int32 // %t13
- var _v19 int32 // %t15
- var _v20 int32 // %t16
- var _v22 int32 // %t18
- var _v23 int32 // %t19
- var _v24 int32 // %t20
- var _v25 int32 // %t21
- var _v10 int32 // %t6
- var _v11 int32 // %t7
- var _v13 int32 // %t9
- var _v4 = int32(bp + 16) // %v4
- _v5 = *(*int32)(unsafe.Pointer(&crt.Xstderr))
- *(*int32)(unsafe.Pointer(bp + 0)) = _v1
-
- _ = crt.Xfprintf(t, _v5, int32(uintptr(unsafe.Pointer(&s__136))), bp+0)
- _v10 = int32(int32(_v4) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v10))) = 0
- goto l2
-l2:
- _v11 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v13 = crt.Bool32(int32(_v11) < int32(_v2))
- if _v13 != 0 {
- goto l3
- }
- goto l5
-l3:
- _v14 = *(*int32)(unsafe.Pointer(&crt.Xstderr))
- _v16 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v17 = int32(_v16 * 4)
- _v19 = int32(int32(_v3) + int32(_v17))
- _v20 = *(*int32)(unsafe.Pointer(uintptr(_v19)))
- *(*int32)(unsafe.Pointer(bp + 8)) = _v20
-
- _ = crt.Xfprintf(t, _v14, int32(uintptr(unsafe.Pointer(&s__137))), bp+8)
- goto l4
-l4:
- _v22 = int32(int32(_v4) + int32(0))
- _v23 = *(*int32)(unsafe.Pointer(uintptr(_v22)))
- _v24 = int32(int32(_v23) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v22))) = _v24
- goto l2
-l5:
- _v25 = *(*int32)(unsafe.Pointer(&crt.Xstderr))
-
- _ = crt.Xfprintf(t, _v25, int32(uintptr(unsafe.Pointer(&s__138))), 0)
- crt.Xexit(t, 1)
- goto l6
-l6:
-}
-
-var s__135 = [22]byte{
- 0x75, 0x6e, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x72, 0x67, 0x75,
- 0x6d, 0x65, 0x6e, 0x74, 0x73,
-}
-
-var s__136 = [28]byte{
- 0x25, 0x73, 0x3a, 0x20, 0x75, 0x6e, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x64,
- 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a,
-}
-
-var s__137 = [4]byte{0x20, 0x25, 0x73}
-
-var s__138 = [2]byte{0x0a}
-
-func Xmain(t *crt.TLS, _v1 int32, _v2 int32) int32 {
- bp := t.Alloc(320)
- defer t.Free(320)
- var _v122 int32 // %t100
- var _v123 int32 // %t101
- var _v126 int32 // %t104
- var _v127 int32 // %t105
- var _v131 int32 // %t109
- var _v132 int32 // %t110
- var _v135 int32 // %t113
- var _v141 int32 // %t119
- var _v142 int32 // %t120
- var _v145 int32 // %t123
- var _v151 int32 // %t129
- var _v152 int32 // %t130
- var _v155 int32 // %t133
- var _v156 int32 // %t134
- var _v157 int32 // %t135
- var _v158 int32 // %t136
- var _v159 int32 // %t137
- var _v165 int32 // %t143
- var _v166 int32 // %t144
- var _v169 int32 // %t147
- var _v171 int32 // %t149
- var _v178 int32 // %t156
- var _v179 int32 // %t157
- var _v38 int32 // %t16
- var _v182 int32 // %t160
- var _v183 int32 // %t161
- var _v184 int32 // %t162
- var _v185 int32 // %t163
- var _v186 int32 // %t164
- var _v187 int32 // %t165
- var _v191 int32 // %t169
- var _v192 int32 // %t170
- var _v195 int32 // %t173
- var _v197 int32 // %t175
- var _v203 int32 // %t181
- var _v204 int32 // %t182
- var _v207 int32 // %t185
- var _v209 int32 // %t187
- var _v214 int32 // %t192
- var _v217 int32 // %t195
- var _v219 int32 // %t197
- var _v42 int32 // %t20
- var _v222 int32 // %t200
- var _v227 int32 // %t205
- var _v230 int32 // %t208
- var _v43 int32 // %t21
- var _v232 int32 // %t210
- var _v235 int32 // %t213
- var _v242 int32 // %t220
- var _v243 int32 // %t221
- var _v244 int32 // %t222
- var _v245 int32 // %t223
- var _v246 int32 // %t224
- var _v248 int32 // %t226
- var _v250 int32 // %t228
- var _v255 int32 // %t233
- var _v256 int32 // %t234
- var _v261 int32 // %t239
- var _v263 int32 // %t241
- var _v268 int32 // %t246
- var _v269 int32 // %t247
- var _v47 int32 // %t25
- var _v272 int32 // %t250
- var _v273 int32 // %t251
- var _v275 int32 // %t253
- var _v277 int32 // %t255
- var _v278 int32 // %t256
- var _v280 int32 // %t258
- var _v281 int32 // %t259
- var _v48 int32 // %t26
- var _v283 int32 // %t261
- var _v284 int32 // %t262
- var _v285 int32 // %t263
- var _v291 int32 // %t269
- var _v292 int32 // %t270
- var _v293 int32 // %t271
- var _v294 int32 // %t272
- var _v295 int32 // %t273
- var _v297 int32 // %t275
- var _v299 int32 // %t277
- var _v301 int32 // %t279
- var _v302 int32 // %t280
- var _v303 int32 // %t281
- var _v304 int32 // %t282
- var _v307 int32 // %t285
- var _v308 int32 // %t286
- var _v310 int32 // %t288
- var _v312 int32 // %t290
- var _v314 int32 // %t292
- var _v316 int32 // %t294
- var _v319 int32 // %t297
- var _v322 int32 // %t300
- var _v326 int32 // %t304
- var _v327 int32 // %t305
- var _v328 int32 // %t306
- var _v329 int32 // %t307
- var _v330 int32 // %t308
- var _v331 int32 // %t309
- var _v333 int32 // %t311
- var _v334 int32 // %t312
- var _v336 int32 // %t314
- var _v337 int32 // %t315
- var _v339 int32 // %t317
- var _v340 int32 // %t318
- var _v341 int32 // %t319
- var _v54 int32 // %t32
- var _v342 int32 // %t320
- var _v343 int32 // %t321
- var _v345 int32 // %t323
- var _v346 int32 // %t324
- var _v348 int32 // %t326
- var _v350 int32 // %t328
- var _v351 int32 // %t329
- var _v55 int32 // %t33
- var _v352 int32 // %t330
- var _v354 int32 // %t332
- var _v358 int32 // %t336
- var _v359 int32 // %t337
- var _v361 int32 // %t339
- var _v362 int32 // %t340
- var _v363 int32 // %t341
- var _v366 int32 // %t344
- var _v369 int32 // %t347
- var _v372 int32 // %t350
- var _v373 int32 // %t351
- var _v374 int32 // %t352
- var _v375 int32 // %t353
- var _v379 int32 // %t357
- var _v380 int32 // %t358
- var _v382 int32 // %t360
- var _v385 int32 // %t363
- var _v386 int32 // %t364
- var _v388 int32 // %t366
- var _v390 int32 // %t368
- var _v59 int32 // %t37
- var _v393 int32 // %t371
- var _v394 int32 // %t372
- var _v399 int32 // %t377
- var _v60 int32 // %t38
- var _v404 int32 // %t382
- var _v410 int32 // %t388
- var _v61 int32 // %t39
- var _v421 int32 // %t399
- var _v63 int32 // %t41
- var _v435 int32 // %t413
- var _v438 int32 // %t416
- var _v442 int32 // %t420
- var _v444 int32 // %t422
- var _v445 int32 // %t423
- var _v447 int32 // %t425
- var _v451 int32 // %t429
- var _v65 int32 // %t43
- var _v452 int32 // %t430
- var _v453 int32 // %t431
- var _v457 int32 // %t435
- var _v460 int32 // %t438
- var _v66 int32 // %t44
- var _v464 int32 // %t442
- var _v465 int32 // %t443
- var _v466 int32 // %t444
- var _v467 int32 // %t445
- var _v468 int32 // %t446
- var _v469 int32 // %t447
- var _v470 int32 // %t448
- var _v472 int32 // %t450
- var _v475 int32 // %t453
- var _v477 int32 // %t455
- var _v478 int32 // %t456
- var _v479 int32 // %t457
- var _v480 int32 // %t458
- var _v481 int32 // %t459
- var _v68 int32 // %t46
- var _v482 int32 // %t460
- var _v485 int32 // %t463
- var _v487 int32 // %t465
- var _v488 int32 // %t466
- var _v489 int32 // %t467
- var _v490 int32 // %t468
- var _v493 int32 // %t471
- var _v498 int32 // %t476
- var _v500 int32 // %t478
- var _v502 int32 // %t480
- var _v504 int32 // %t482
- var _v506 int32 // %t484
- var _v510 int32 // %t488
- var _v511 int32 // %t489
- var _v512 int32 // %t490
- var _v516 int32 // %t494
- var _v521 int32 // %t499
- var _v522 int32 // %t500
- var _v523 int32 // %t501
- var _v524 int32 // %t502
- var _v526 int32 // %t504
- var _v527 int32 // %t505
- var _v528 int32 // %t506
- var _v529 int32 // %t507
- var _v532 int32 // %t510
- var _v537 int32 // %t515
- var _v538 int32 // %t516
- var _v539 int32 // %t517
- var _v74 int32 // %t52
- var _v542 int32 // %t520
- var _v546 int32 // %t524
- var _v547 int32 // %t525
- var _v550 int32 // %t528
- var _v75 int32 // %t53
- var _v555 int32 // %t533
- var _v556 int32 // %t534
- var _v557 int32 // %t535
- var _v558 int32 // %t536
- var _v559 int32 // %t537
- var _v560 int32 // %t538
- var _v561 int32 // %t539
- var _v573 int32 // %t551
- var _v575 int32 // %t553
- var _v576 int32 // %t554
- var _v577 int32 // %t555
- var _v579 int32 // %t557
- var _v580 int32 // %t558
- var _v582 int32 // %t560
- var _v583 int32 // %t561
- var _v584 int32 // %t562
- var _v586 int32 // %t564
- var _v587 int32 // %t565
- var _v591 int32 // %t569
- var _v592 int32 // %t570
- var _v593 int32 // %t571
- var _v597 int32 // %t575
- var _v598 int32 // %t576
- var _v600 int32 // %t578
- var _v601 int32 // %t579
- var _v80 int32 // %t58
- var _v602 int32 // %t580
- var _v603 int32 // %t581
- var _v604 int32 // %t582
- var _v606 int32 // %t584
- var _v607 int32 // %t585
- var _v609 int32 // %t587
- var _v610 int32 // %t588
- var _v614 int32 // %t592
- var _v615 int32 // %t593
- var _v616 int32 // %t594
- var _v617 int32 // %t595
- var _v619 int32 // %t597
- var _v620 int32 // %t598
- var _v622 int32 // %t600
- var _v625 int32 // %t603
- var _v626 int32 // %t604
- var _v627 int32 // %t605
- var _v629 int32 // %t607
- var _v632 int32 // %t610
- var _v633 int32 // %t611
- var _v634 int32 // %t612
- var _v638 int32 // %t616
- var _v642 int32 // %t620
- var _v645 int32 // %t623
- var _v646 int32 // %t624
- var _v648 int32 // %t626
- var _v85 int32 // %t63
- var _v652 int32 // %t630
- var _v655 int32 // %t633
- var _v661 int32 // %t639
- var _v86 int32 // %t64
- var _v662 int32 // %t640
- var _v665 int32 // %t643
- var _v666 int32 // %t644
- var _v668 int32 // %t646
- var _v670 int32 // %t648
- var _v671 int32 // %t649
- var _v673 int32 // %t651
- var _v674 int32 // %t652
- var _v676 int32 // %t654
- var _v677 int32 // %t655
- var _v678 int32 // %t656
- var _v683 int32 // %t661
- var _v685 int32 // %t663
- var _v89 int32 // %t67
- var _v90 int32 // %t68
- var _v29 int32 // %t7
- var _v94 int32 // %t72
- var _v95 int32 // %t73
- var _v98 int32 // %t76
- var _v99 int32 // %t77
- var _v100 int32 // %t78
- var _v101 int32 // %t79
- var _v30 int32 // %t8
- var _v102 int32 // %t80
- var _v103 int32 // %t81
- var _v104 int32 // %t82
- var _v106 int32 // %t84
- var _v108 int32 // %t86
- var _v112 int32 // %t90
- var _v113 int32 // %t91
- var _v116 int32 // %t94
- var _v10 = int32(bp + 260) // %v10
- var _v11 = int32(bp + 264) // %v11
- var _v12 = int32(bp + 268) // %v12
- var _v13 = int32(bp + 272) // %v13
- var _v14 = int32(bp + 276) // %v14
- var _v15 = int32(bp + 280) // %v15
- var _v16 = int32(bp + 284) // %v16
- var _v17 = int32(bp + 288) // %v17
- var _v18 = int32(bp + 292) // %v18
- var _v19 = int32(bp + 296) // %v19
- var _v20 = int32(bp + 300) // %v20
- var _v21 = int32(bp + 304) // %v21
- var _v22 = int32(bp + 308) // %v22
- var _v3 = int32(bp + 232) // %v3
- var _v4 = int32(bp + 236) // %v4
- var _v5 = int32(bp + 240) // %v5
- var _v6 = int32(bp + 244) // %v6
- var _v7 = int32(bp + 248) // %v7
- var _v8 = int32(bp + 252) // %v8
- var _v9 = int32(bp + 256) // %v9
- *(*int32)(unsafe.Pointer(uintptr(_v7))) = 2
- *(*int32)(unsafe.Pointer(uintptr(_v15))) = 1
- *(*int32)(unsafe.Pointer(uintptr(_v17))) = 0
- _v29 = int32(int32(_v2) + int32(0))
- _v30 = *(*int32)(unsafe.Pointer(uintptr(_v29)))
- *(*int32)(unsafe.Pointer(&s_g)) = _v30
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 68)) = 1
- _v38 = crt.Bool32(int32(_v1) < int32(2))
- if _v38 != 0 {
- goto l2
- }
- goto l3
-l2:
- _v42 = int32(int32(_v2) + int32(0))
- _v43 = *(*int32)(unsafe.Pointer(uintptr(_v42)))
- s_usage(t, _v43)
- goto l3
-l3:
- _v47 = int32(int32(_v2) + int32(4))
- _v48 = *(*int32)(unsafe.Pointer(uintptr(_v47)))
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 8)) = _v48
- _v54 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 8))
- _v55 = Xstrglob(t, int32(uintptr(unsafe.Pointer(&s__140))), _v54)
- if _v55 != 0 {
- goto l4
- }
- goto l5
-l4:
- _v59 = int32(int32(_v2) + int32(0))
- _v60 = *(*int32)(unsafe.Pointer(uintptr(_v59)))
- s_usage(t, _v60)
- goto l5
-l5:
- _v61 = Xsqlite3_sourceid(t)
- _v63 = crt.Xstrcmp(t, _v61, int32(uintptr(unsafe.Pointer(&s__141))))
- _v65 = crt.Bool32(int32(_v63) != int32(0))
- if _v65 != 0 {
- goto l6
- }
- goto l7
-l6:
- _v66 = *(*int32)(unsafe.Pointer(&crt.Xstderr))
- _v68 = Xsqlite3_sourceid(t)
- *(*int32)(unsafe.Pointer(bp + 0)) = _v68
-
- *(*int32)(unsafe.Pointer(bp + 8)) = int32(uintptr(unsafe.Pointer(&s__141)))
-
- _ = crt.Xfprintf(t, _v66, int32(uintptr(unsafe.Pointer(&s__142))), bp+0)
- crt.Xexit(t, 1)
- goto l7
-l7:
- _v74 = int32(int32(_v1) - int32(2))
- _v75 = int32(int32(_v5) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v75))) = _v74
- _v80 = crt.Xgetpid(t)
- *(*int32)(unsafe.Pointer(bp + 16)) = _v80
-
- _ = Xsqlite3_snprintf(t, 32, int32(uintptr(unsafe.Pointer(&s_g))+32), int32(uintptr(unsafe.Pointer(&s__143))), bp+16)
- _v85 = int32(int32(_v2) + int32(8))
- _v86 = int32(int32(_v5) + int32(0))
- _v89 = s_findOption(t, _v85, _v86, int32(uintptr(unsafe.Pointer(&s__144))), 1)
- _v90 = int32(int32(_v13) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v90))) = _v89
- _v94 = int32(int32(_v2) + int32(8))
- _v95 = int32(int32(_v5) + int32(0))
- _v98 = s_findOption(t, _v94, _v95, int32(uintptr(unsafe.Pointer(&s__145))), 1)
- _v99 = int32(int32(_v14) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v99))) = _v98
- _v100 = *(*int32)(unsafe.Pointer(uintptr(_v14)))
- if _v100 != 0 {
- goto l8
- }
- goto l9
-l8:
- _v101 = *(*int32)(unsafe.Pointer(uintptr(_v14)))
- _v102 = crt.Xatoi(t, _v101)
- _v103 = int32(int32(_v15) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v103))) = _v102
- goto l9
-l9:
- _v104 = *(*int32)(unsafe.Pointer(uintptr(_v15)))
- _v106 = crt.Bool32(int32(_v104) < int32(1))
- if _v106 != 0 {
- goto l10
- }
- goto l11
-l10:
- _v108 = int32(int32(_v15) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v108))) = 1
- goto l11
-l11:
- _v112 = int32(int32(_v2) + int32(8))
- _v113 = int32(int32(_v5) + int32(0))
- _v116 = s_findOption(t, _v112, _v113, int32(uintptr(unsafe.Pointer(&s__146))), 1)
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 4)) = _v116
- _v122 = int32(int32(_v2) + int32(8))
- _v123 = int32(int32(_v5) + int32(0))
- _v126 = s_findOption(t, _v122, _v123, int32(uintptr(unsafe.Pointer(&s__147))), 1)
- _v127 = int32(int32(_v3) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v127))) = _v126
- _v131 = int32(int32(_v2) + int32(8))
- _v132 = int32(int32(_v5) + int32(0))
- _v135 = s_findOption(t, _v131, _v132, int32(uintptr(unsafe.Pointer(&s__148))), 1)
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 16)) = _v135
- _v141 = int32(int32(_v2) + int32(8))
- _v142 = int32(int32(_v5) + int32(0))
- _v145 = s_findOption(t, _v141, _v142, int32(uintptr(unsafe.Pointer(&s__149))), 1)
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24)) = _v145
- _v151 = int32(int32(_v2) + int32(8))
- _v152 = int32(int32(_v5) + int32(0))
- _v155 = s_findOption(t, _v151, _v152, int32(uintptr(unsafe.Pointer(&s__150))), 1)
- _v156 = int32(int32(_v11) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v156))) = _v155
- _v157 = *(*int32)(unsafe.Pointer(uintptr(_v11)))
- if _v157 != 0 {
- goto l12
- }
- goto l13
-l12:
- _v158 = *(*int32)(unsafe.Pointer(uintptr(_v11)))
- _v159 = crt.Xatoi(t, _v158)
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 68)) = _v159
- goto l13
-l13:
- _v165 = int32(int32(_v2) + int32(8))
- _v166 = int32(int32(_v5) + int32(0))
- _v169 = s_findOption(t, _v165, _v166, int32(uintptr(unsafe.Pointer(&s__151))), 0)
- _v171 = crt.Bool32(int32(_v169) != int32(0))
- if _v171 != 0 {
- goto l14
- }
- goto l15
-l14:
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 68)) = 0
- goto l15
-l15:
- _v178 = int32(int32(_v2) + int32(8))
- _v179 = int32(int32(_v5) + int32(0))
- _v182 = s_findOption(t, _v178, _v179, int32(uintptr(unsafe.Pointer(&s__152))), 1)
- _v183 = int32(int32(_v18) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v183))) = _v182
- _v184 = *(*int32)(unsafe.Pointer(uintptr(_v18)))
- if _v184 != 0 {
- goto l16
- }
- goto l17
-l16:
- _v185 = *(*int32)(unsafe.Pointer(uintptr(_v18)))
- _v186 = crt.Xatoi(t, _v185)
- _v187 = int32(int32(_v17) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v187))) = _v186
- goto l17
-l17:
- _v191 = int32(int32(_v2) + int32(8))
- _v192 = int32(int32(_v5) + int32(0))
- _v195 = s_findOption(t, _v191, _v192, int32(uintptr(unsafe.Pointer(&s__153))), 0)
- _v197 = crt.Bool32(int32(_v195) != int32(0))
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 72)) = _v197
- _v203 = int32(int32(_v2) + int32(8))
- _v204 = int32(int32(_v5) + int32(0))
- _v207 = s_findOption(t, _v203, _v204, int32(uintptr(unsafe.Pointer(&s__154))), 0)
- _v209 = crt.Bool32(int32(_v207) != int32(0))
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 92)) = _v209
- _v214 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 16))
- if _v214 != 0 {
- goto l18
- }
- goto l19
-l18:
- _v217 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 16))
- _v219 = crt.Xfopen(t, _v217, int32(uintptr(unsafe.Pointer(&s__155))))
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 20)) = _v219
- goto l20
-l19:
- _v222 = *(*int32)(unsafe.Pointer(&crt.Xstderr))
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 20)) = _v222
- goto l20
-l20:
- _v227 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- if _v227 != 0 {
- goto l21
- }
- goto l22
-l21:
- _v230 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _v232 = crt.Xfopen(t, _v230, int32(uintptr(unsafe.Pointer(&s__155))))
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 28)) = _v232
- goto l23
-l22:
- _v235 = *(*int32)(unsafe.Pointer(&crt.Xstdout))
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 28)) = _v235
- goto l23
-l23:
- *(*int32)(unsafe.Pointer(bp + 24)) = *(*int32)(unsafe.Pointer(&struct {
- f func(*crt.TLS, int32, int32, int32)
- }{s_sqlErrorCallback}))
-
- *(*int32)(unsafe.Pointer(bp + 32)) = 0
-
- _ = Xsqlite3_config(t, 16, bp+24)
- _v242 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- if _v242 != 0 {
- goto l24
- }
- goto l27
-l24:
- _v243 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v244 = crt.Xatoi(t, _v243)
- _v245 = int32(int32(_v4) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v245))) = _v244
- _v246 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v248 = crt.Bool32(int32(_v246) < int32(1))
- if _v248 != 0 {
- goto l25
- }
- goto l26
-l25:
- _v250 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- *(*int32)(unsafe.Pointer(bp + 40)) = _v250
- s_fatalError(t, int32(uintptr(unsafe.Pointer(&s__156))), bp+40)
- goto l26
-l26:
- _v255 = crt.Xgetpid(t)
- _v256 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- *(*int32)(unsafe.Pointer(bp + 48)) = _v255
-
- *(*int32)(unsafe.Pointer(bp + 56)) = _v256
-
- _ = Xsqlite3_snprintf(t, 32, int32(uintptr(unsafe.Pointer(&s_g))+32), int32(uintptr(unsafe.Pointer(&s__157))), bp+48)
- goto l68
-l27:
- *(*int32)(unsafe.Pointer(uintptr(_v19))) = 0
- _v261 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 68))
- _v263 = crt.Bool32(int32(_v261) > int32(0))
- if _v263 != 0 {
- goto l28
- }
- goto l144
-l144:
- goto l37
-l28:
- _v268 = int32(int32(_v2) + int32(0))
- _v269 = *(*int32)(unsafe.Pointer(uintptr(_v268)))
- *(*int32)(unsafe.Pointer(bp + 64)) = _v269
-
- _ = crt.Xprintf(t, int32(uintptr(unsafe.Pointer(&s__158))), bp+64)
- _v272 = int32(int32(_v6) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v272))) = 1
- goto l29
-l29:
- _v273 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v275 = crt.Bool32(int32(_v273) < int32(_v1))
- if _v275 != 0 {
- goto l30
- }
- goto l32
-l30:
- _v277 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v278 = int32(_v277 * 4)
- _v280 = int32(int32(_v2) + int32(_v278))
- _v281 = *(*int32)(unsafe.Pointer(uintptr(_v280)))
- *(*int32)(unsafe.Pointer(bp + 72)) = _v281
-
- _ = crt.Xprintf(t, int32(uintptr(unsafe.Pointer(&s__137))), bp+72)
- goto l31
-l31:
- _v283 = int32(int32(_v6) + int32(0))
- _v284 = *(*int32)(unsafe.Pointer(uintptr(_v283)))
- _v285 = int32(int32(_v284) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v283))) = _v285
- goto l29
-l32:
-
- _ = crt.Xprintf(t, int32(uintptr(unsafe.Pointer(&s__138))), 0)
-
- _ = crt.Xprintf(t, int32(uintptr(unsafe.Pointer(&s__159))), 0)
- _v291 = int32(int32(_v6) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v291))) = 0
- goto l33
-l33:
- _v292 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v293 = Xsqlite3_compileoption_get(t, _v292)
- _v294 = int32(int32(_v12) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v294))) = _v293
- _v295 = *(*int32)(unsafe.Pointer(uintptr(_v294)))
- _v297 = crt.Bool32(int32(_v295) != int32(0))
- if _v297 != 0 {
- goto l34
- }
- goto l36
-l34:
- _v299 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- *(*int32)(unsafe.Pointer(bp + 80)) = _v299
-
- _ = crt.Xprintf(t, int32(uintptr(unsafe.Pointer(&s__160))), bp+80)
- goto l35
-l35:
- _v301 = int32(int32(_v6) + int32(0))
- _v302 = *(*int32)(unsafe.Pointer(uintptr(_v301)))
- _v303 = int32(int32(_v302) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v301))) = _v303
- goto l33
-l36:
- _v304 = *(*int32)(unsafe.Pointer(&crt.Xstdout))
- _ = crt.Xfflush(t, _v304)
- goto l37
-l37:
- _v307 = int32(int32(_v4) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v307))) = 0
- goto l38
-l38:
- _v308 = *(*int32)(unsafe.Pointer(uintptr(_v19)))
- _v310 = int32(int32(_v308) % int32(5))
- _v312 = crt.Bool32(int32(_v310) == int32(4))
- if _v312 != 0 {
- goto l39
- }
- goto l145
-l145:
- goto l46
-l39:
- _v314 = *(*int32)(unsafe.Pointer(uintptr(_v19)))
- _v316 = crt.Bool32(int32(_v314) > int32(5))
- goto l40
-l40:
- if _v316 != 0 {
- goto l41
- }
- goto l43
-l41:
- goto l42
-l42:
- _v319 = int32(uintptr(unsafe.Pointer(&s__162)))
- goto l45
-l43:
- goto l44
-l44:
- _v319 = int32(uintptr(unsafe.Pointer(&s__85)))
- goto l45
-l45:
- _v322 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 8))
- *(*int32)(unsafe.Pointer(bp + 88)) = _v319
-
- *(*int32)(unsafe.Pointer(bp + 96)) = _v322
-
- _ = crt.Xprintf(t, int32(uintptr(unsafe.Pointer(&s__161))), bp+88)
- goto l46
-l46:
- _v326 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 8))
- _v327 = crt.Xunlink(t, _v326)
- _v328 = int32(int32(_v8) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v328))) = _v327
- _v329 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- goto l47
-l47:
- if _v329 != 0 {
- goto l48
- }
- goto l146
-l146:
- _v334 = 0
- goto l51
-l48:
- _v330 = crt.X__errno_location(t)
- _v331 = *(*int32)(unsafe.Pointer(uintptr(_v330)))
- _v333 = crt.Bool32(int32(_v331) == int32(2))
- goto l49
-l49:
- if _v333 != 0 {
- goto l50
- }
- goto l147
-l147:
- _v334 = 0
- goto l51
-l50:
- _v334 = 1
- goto l51
-l51:
- if _v334 != 0 {
- goto l52
- }
- goto l53
-l52:
- _v336 = int32(int32(_v8) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v336))) = 0
- goto l53
-l53:
- goto l54
-l54:
- _v337 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v339 = crt.Bool32(int32(_v337) != int32(0))
- goto l55
-l55:
- if _v339 != 0 {
- goto l56
- }
- goto l148
-l148:
- _v346 = 0
- goto l59
-l56:
- _v340 = int32(int32(_v19) + int32(0))
- _v341 = *(*int32)(unsafe.Pointer(uintptr(_v340)))
- _v342 = int32(int32(_v341) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v340))) = _v342
- _v343 = *(*int32)(unsafe.Pointer(uintptr(_v340)))
- _v345 = crt.Bool32(int32(_v343) < int32(60))
- goto l57
-l57:
- if _v345 != 0 {
- goto l58
- }
- goto l149
-l149:
- _v346 = 0
- goto l59
-l58:
- _v346 = 1
- goto l59
-l59:
- goto l60
-l60:
- if _v346 != 0 {
- goto l61
- }
- goto l150
-l150:
- _v351 = 0
- goto l64
-l61:
- _v348 = Xsqlite3_sleep(t, 1000)
- _v350 = crt.Bool32(int32(_v348) > int32(0))
- goto l62
-l62:
- if _v350 != 0 {
- goto l63
- }
- goto l151
-l151:
- _v351 = 0
- goto l64
-l63:
- _v351 = 1
- goto l64
-l64:
- if _v351 != 0 {
- goto l152
- }
- goto l65
-l152:
- goto l38
-l65:
- _v352 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v354 = crt.Bool32(int32(_v352) != int32(0))
- if _v354 != 0 {
- goto l66
- }
- goto l67
-l66:
- _v358 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 8))
- _v359 = *(*int32)(unsafe.Pointer(uintptr(_v19)))
- *(*int32)(unsafe.Pointer(bp + 104)) = _v358
-
- *(*int32)(unsafe.Pointer(bp + 112)) = _v359
- s_fatalError(t, int32(uintptr(unsafe.Pointer(&s__163))), bp+104)
- goto l67
-l67:
- _v361 = int32(int32(_v7) + int32(0))
- _v362 = *(*int32)(unsafe.Pointer(uintptr(_v361)))
- _v363 = int32(_v362 | 4)
- *(*int32)(unsafe.Pointer(uintptr(_v361))) = _v363
- goto l68
-l68:
- _v366 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 8))
- _v369 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v372 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 4))
- _v373 = Xsqlite3_open_v2(t, _v366, int32(uintptr(unsafe.Pointer(&s_g))+12), _v369, _v372)
- _v374 = int32(int32(_v8) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v374))) = _v373
- _v375 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- if _v375 != 0 {
- goto l69
- }
- goto l70
-l69:
- _v379 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 8))
- *(*int32)(unsafe.Pointer(bp + 120)) = _v379
- s_fatalError(t, int32(uintptr(unsafe.Pointer(&s__164))), bp+120)
- goto l70
-l70:
- _v380 = *(*int32)(unsafe.Pointer(uintptr(_v17)))
- _v382 = crt.Bool32(int32(_v380) > int32(0))
- if _v382 != 0 {
- goto l71
- }
- goto l72
-l71:
- _v385 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 12))
- _v386 = *(*int32)(unsafe.Pointer(uintptr(_v17)))
- _ = Xsqlite3_busy_timeout(t, _v385, _v386)
- goto l72
-l72:
- _v388 = *(*int32)(unsafe.Pointer(uintptr(_v13)))
- if _v388 != 0 {
- goto l73
- }
- goto l74
-l73:
- _v390 = *(*int32)(unsafe.Pointer(uintptr(_v13)))
- *(*int32)(unsafe.Pointer(bp + 128)) = _v390
- s_runSql(t, int32(uintptr(unsafe.Pointer(&s__165))), bp+128)
- goto l74
-l74:
- _v393 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 92))
- goto l75
-l75:
- if _v393 != 0 {
- goto l76
- }
- goto l153
-l153:
- _v394 = 1
- goto l77
-l76:
- _v394 = 0
- goto l77
-l77:
- if _v394 != 0 {
- goto l78
- }
- goto l79
-l78:
-
- _ = s_trySql(t, int32(uintptr(unsafe.Pointer(&s__166))), 0)
- goto l79
-l79:
- _v399 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 12))
- _ = Xsqlite3_enable_load_extension(t, _v399, 1)
- _v404 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 12))
- _ = Xsqlite3_busy_handler(t, _v404, *(*int32)(unsafe.Pointer(&struct {
- f func(*crt.TLS, int32, int32) int32
- }{s_busyHandler})), 0)
- _v410 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 12))
- _ = Xsqlite3_create_function(t, _v410, int32(uintptr(unsafe.Pointer(&s__167))), 0, 1, 0, *(*int32)(unsafe.Pointer(&struct {
- f func(*crt.TLS, int32, int32, int32)
- }{s_vfsNameFunc})), 0, 0)
- _v421 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 12))
- _ = Xsqlite3_create_function(t, _v421, int32(uintptr(unsafe.Pointer(&s__168))), 1, 1, 0, *(*int32)(unsafe.Pointer(&struct {
- f func(*crt.TLS, int32, int32, int32)
- }{s_evalFunc})), 0, 0)
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 88)) = 10000
- _v435 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 72))
- if _v435 != 0 {
- goto l80
- }
- goto l81
-l80:
- _v438 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 12))
- _ = Xsqlite3_trace(t, _v438, *(*int32)(unsafe.Pointer(&struct{ f func(*crt.TLS, int32, int32) }{s_sqlTraceCallback})), 0)
- goto l81
-l81:
- _v442 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v444 = crt.Bool32(int32(_v442) > int32(0))
- if _v444 != 0 {
- goto l82
- }
- goto l99
-l82:
- _v445 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v447 = crt.Bool32(int32(_v445) > int32(0))
- if _v447 != 0 {
- goto l83
- }
- goto l84
-l83:
- _v451 = int32(int32(_v2) + int32(0))
- _v452 = *(*int32)(unsafe.Pointer(uintptr(_v451)))
- _v453 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v457 = int32(int32(_v2) + int32(8))
- s_unrecognizedArguments(t, _v452, _v453, _v457)
- goto l84
-l84:
- _v460 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 68))
- if _v460 != 0 {
- goto l85
- }
- goto l86
-l85:
- s_logMessage(t, int32(uintptr(unsafe.Pointer(&s__169))), 0)
- goto l86
-l86:
- goto l87
-l87:
- if 1 != 0 {
- goto l88
- }
- goto l96
-l88:
- *(*int32)(unsafe.Pointer(uintptr(_v20))) = 0
- _v464 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v465 = int32(int32(_v9) + int32(0))
- _v466 = int32(int32(_v10) + int32(0))
- _v467 = int32(int32(_v20) + int32(0))
- _v468 = s_startScript(t, _v464, _v465, _v466, _v467)
- _v469 = int32(int32(_v8) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v469))) = _v468
- _v470 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v472 = crt.Bool32(int32(_v470) == int32(101))
- if _v472 != 0 {
- goto l89
- }
- goto l91
-l89:
- goto l96
-l91:
- _v475 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 68))
- if _v475 != 0 {
- goto l92
- }
- goto l93
-l92:
- _v477 = *(*int32)(unsafe.Pointer(uintptr(_v20)))
- _v478 = *(*int32)(unsafe.Pointer(uintptr(_v10)))
- *(*int32)(unsafe.Pointer(bp + 136)) = _v477
-
- *(*int32)(unsafe.Pointer(bp + 144)) = _v478
- s_logMessage(t, int32(uintptr(unsafe.Pointer(&s__170))), bp+136)
- goto l93
-l93:
- _v479 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v480 = *(*int32)(unsafe.Pointer(uintptr(_v10)))
- _v481 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v482 = *(*int32)(unsafe.Pointer(uintptr(_v20)))
- s_runScript(t, _v479, _v480, _v481, _v482)
- _v485 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 68))
- if _v485 != 0 {
- goto l94
- }
- goto l95
-l94:
- _v487 = *(*int32)(unsafe.Pointer(uintptr(_v20)))
- _v488 = *(*int32)(unsafe.Pointer(uintptr(_v10)))
- *(*int32)(unsafe.Pointer(bp + 152)) = _v487
-
- *(*int32)(unsafe.Pointer(bp + 160)) = _v488
- s_logMessage(t, int32(uintptr(unsafe.Pointer(&s__171))), bp+152)
- goto l95
-l95:
- _v489 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v490 = *(*int32)(unsafe.Pointer(uintptr(_v10)))
- _ = s_finishScript(t, _v489, _v490, 0)
- _v493 = *(*int32)(unsafe.Pointer(uintptr(_v20)))
- Xsqlite3_free(t, _v493)
- _ = Xsqlite3_sleep(t, 10)
- goto l87
-l96:
- _v498 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 68))
- if _v498 != 0 {
- goto l97
- }
- goto l98
-l97:
- s_logMessage(t, int32(uintptr(unsafe.Pointer(&s__172))), 0)
- goto l98
-l98:
- goto l135
-l99:
- _v500 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v502 = crt.Bool32(int32(_v500) == int32(0))
- if _v502 != 0 {
- goto l100
- }
- goto l101
-l100:
- s_fatalError(t, int32(uintptr(unsafe.Pointer(&s__173))), 0)
- goto l101
-l101:
- _v504 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v506 = crt.Bool32(int32(_v504) > int32(1))
- if _v506 != 0 {
- goto l102
- }
- goto l103
-l102:
- _v510 = int32(int32(_v2) + int32(0))
- _v511 = *(*int32)(unsafe.Pointer(uintptr(_v510)))
- _v512 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v516 = int32(int32(_v2) + int32(8))
- s_unrecognizedArguments(t, _v511, _v512, _v516)
- goto l103
-l103:
- s_runSql(t, int32(uintptr(unsafe.Pointer(&s__174))), 0)
- _v521 = int32(int32(_v2) + int32(8))
- _v522 = *(*int32)(unsafe.Pointer(uintptr(_v521)))
- _v523 = s_readFile(t, _v522)
- _v524 = int32(int32(_v9) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v524))) = _v523
- _v526 = int32(int32(_v16) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v526))) = 1
- goto l104
-l104:
- _v527 = *(*int32)(unsafe.Pointer(uintptr(_v16)))
- _v528 = *(*int32)(unsafe.Pointer(uintptr(_v15)))
- _v529 = crt.Bool32(int32(_v527) <= int32(_v528))
- if _v529 != 0 {
- goto l105
- }
- goto l111
-l105:
- _v532 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 68))
- if _v532 != 0 {
- goto l106
- }
- goto l107
-l106:
- _v537 = int32(int32(_v2) + int32(8))
- _v538 = *(*int32)(unsafe.Pointer(uintptr(_v537)))
- _v539 = *(*int32)(unsafe.Pointer(uintptr(_v16)))
- *(*int32)(unsafe.Pointer(bp + 168)) = _v538
-
- *(*int32)(unsafe.Pointer(bp + 176)) = _v539
- s_logMessage(t, int32(uintptr(unsafe.Pointer(&s__175))), bp+168)
- goto l107
-l107:
- _v542 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v546 = int32(int32(_v2) + int32(8))
- _v547 = *(*int32)(unsafe.Pointer(uintptr(_v546)))
- s_runScript(t, 0, 0, _v542, _v547)
- _v550 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 68))
- if _v550 != 0 {
- goto l108
- }
- goto l109
-l108:
- _v555 = int32(int32(_v2) + int32(8))
- _v556 = *(*int32)(unsafe.Pointer(uintptr(_v555)))
- _v557 = *(*int32)(unsafe.Pointer(uintptr(_v16)))
- *(*int32)(unsafe.Pointer(bp + 184)) = _v556
-
- *(*int32)(unsafe.Pointer(bp + 192)) = _v557
- s_logMessage(t, int32(uintptr(unsafe.Pointer(&s__176))), bp+184)
- goto l109
-l109:
- goto l110
-l110:
- _v558 = int32(int32(_v16) + int32(0))
- _v559 = *(*int32)(unsafe.Pointer(uintptr(_v558)))
- _v560 = int32(int32(_v559) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v558))) = _v560
- goto l104
-l111:
- _v561 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- Xsqlite3_free(t, _v561)
- s_waitForClient(t, 0, 2000, int32(uintptr(unsafe.Pointer(&s__177))))
-
- _ = s_trySql(t, int32(uintptr(unsafe.Pointer(&s__178))), 0)
- _ = Xsqlite3_sleep(t, 10)
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 88)) = 0
- _v573 = int32(int32(_v22) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v573))) = 1000
- goto l112
-l112:
-
- _v575 = s_trySql(t, int32(uintptr(unsafe.Pointer(&s__179))), 0)
- _v576 = int32(int32(_v8) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v576))) = _v575
- _v577 = *(*int32)(unsafe.Pointer(uintptr(_v576)))
- _v579 = crt.Bool32(int32(_v577) == int32(5))
- goto l113
-l113:
- if _v579 != 0 {
- goto l154
- }
- goto l114
-l154:
- _v583 = 1
- goto l117
-l114:
- _v580 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v582 = crt.Bool32(int32(_v580) == int32(100))
- goto l115
-l115:
- if _v582 != 0 {
- goto l155
- }
- goto l116
-l155:
- _v583 = 1
- goto l117
-l116:
- _v583 = 0
- goto l117
-l117:
- goto l118
-l118:
- if _v583 != 0 {
- goto l119
- }
- goto l156
-l156:
- _v587 = 0
- goto l122
-l119:
- _v584 = *(*int32)(unsafe.Pointer(uintptr(_v22)))
- _v586 = crt.Bool32(int32(_v584) > int32(0))
- goto l120
-l120:
- if _v586 != 0 {
- goto l121
- }
- goto l157
-l157:
- _v587 = 0
- goto l122
-l121:
- _v587 = 1
- goto l122
-l122:
- if _v587 != 0 {
- goto l123
- }
- goto l124
-l123:
- _ = Xsqlite3_sleep(t, 10)
- _v591 = int32(int32(_v22) + int32(0))
- _v592 = *(*int32)(unsafe.Pointer(uintptr(_v591)))
- _v593 = int32(int32(_v592) - int32(10))
- *(*int32)(unsafe.Pointer(uintptr(_v591))) = _v593
- goto l112
-l124:
- _ = Xsqlite3_sleep(t, 100)
-
- _v597 = s_prepareSql(t, int32(uintptr(unsafe.Pointer(&s__180))), 0)
- _v598 = int32(int32(_v21) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v598))) = _v597
- _v600 = int32(int32(_v22) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v600))) = 1000
- goto l125
-l125:
- _v601 = *(*int32)(unsafe.Pointer(uintptr(_v21)))
- _v602 = Xsqlite3_step(t, _v601)
- _v603 = int32(int32(_v8) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v603))) = _v602
- _v604 = *(*int32)(unsafe.Pointer(uintptr(_v603)))
- _v606 = crt.Bool32(int32(_v604) == int32(5))
- goto l126
-l126:
- if _v606 != 0 {
- goto l127
- }
- goto l158
-l158:
- _v610 = 0
- goto l130
-l127:
- _v607 = *(*int32)(unsafe.Pointer(uintptr(_v22)))
- _v609 = crt.Bool32(int32(_v607) > int32(0))
- goto l128
-l128:
- if _v609 != 0 {
- goto l129
- }
- goto l159
-l159:
- _v610 = 0
- goto l130
-l129:
- _v610 = 1
- goto l130
-l130:
- if _v610 != 0 {
- goto l131
- }
- goto l132
-l131:
- _ = Xsqlite3_sleep(t, 10)
- _v614 = int32(int32(_v22) + int32(0))
- _v615 = *(*int32)(unsafe.Pointer(uintptr(_v614)))
- _v616 = int32(int32(_v615) - int32(10))
- *(*int32)(unsafe.Pointer(uintptr(_v614))) = _v616
- goto l125
-l132:
- _v617 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v619 = crt.Bool32(int32(_v617) == int32(100))
- if _v619 != 0 {
- goto l133
- }
- goto l134
-l133:
- _v620 = *(*int32)(unsafe.Pointer(uintptr(_v21)))
- _v622 = Xsqlite3_column_int(t, _v620, 0)
- _v625 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 80))
- _v626 = int32(int32(_v625) + int32(_v622))
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 80)) = _v626
- _v627 = *(*int32)(unsafe.Pointer(uintptr(_v21)))
- _v629 = Xsqlite3_column_int(t, _v627, 1)
- _v632 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 84))
- _v633 = int32(int32(_v632) + int32(_v629))
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 84)) = _v633
- goto l134
-l134:
- _v634 = *(*int32)(unsafe.Pointer(uintptr(_v21)))
- _ = Xsqlite3_finalize(t, _v634)
- goto l135
-l135:
- _v638 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 12))
- _ = Xsqlite3_close(t, _v638)
- _v642 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 28))
- s_maybeClose(t, _v642)
- _v645 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 20))
- s_maybeClose(t, _v645)
- _v646 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v648 = crt.Bool32(int32(_v646) == int32(0))
- if _v648 != 0 {
- goto l136
- }
- goto l141
-l136:
- _v652 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 80))
- _v655 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 84))
- *(*int32)(unsafe.Pointer(bp + 200)) = _v652
-
- *(*int32)(unsafe.Pointer(bp + 208)) = _v655
-
- _ = crt.Xprintf(t, int32(uintptr(unsafe.Pointer(&s__181))), bp+200)
- _v661 = int32(int32(_v2) + int32(0))
- _v662 = *(*int32)(unsafe.Pointer(uintptr(_v661)))
- *(*int32)(unsafe.Pointer(bp + 216)) = _v662
-
- _ = crt.Xprintf(t, int32(uintptr(unsafe.Pointer(&s__182))), bp+216)
- _v665 = int32(int32(_v6) + int32(0))
- *(*int32)(unsafe.Pointer(uintptr(_v665))) = 1
- goto l137
-l137:
- _v666 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v668 = crt.Bool32(int32(_v666) < int32(_v1))
- if _v668 != 0 {
- goto l138
- }
- goto l140
-l138:
- _v670 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v671 = int32(_v670 * 4)
- _v673 = int32(int32(_v2) + int32(_v671))
- _v674 = *(*int32)(unsafe.Pointer(uintptr(_v673)))
- *(*int32)(unsafe.Pointer(bp + 224)) = _v674
-
- _ = crt.Xprintf(t, int32(uintptr(unsafe.Pointer(&s__137))), bp+224)
- goto l139
-l139:
- _v676 = int32(int32(_v6) + int32(0))
- _v677 = *(*int32)(unsafe.Pointer(uintptr(_v676)))
- _v678 = int32(int32(_v677) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v676))) = _v678
- goto l137
-l140:
-
- _ = crt.Xprintf(t, int32(uintptr(unsafe.Pointer(&s__138))), 0)
- goto l141
-l141:
- _v683 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 80))
- _v685 = crt.Bool32(int32(_v683) > int32(0))
- return _v685
-}
-
-var s__139 = [5]byte{0x6d, 0x61, 0x69, 0x6e}
-
-var s__140 = [7]byte{0x2a, 0x2e, 0x74, 0x65, 0x73, 0x74}
-
-var s__141 = [85]byte{
- 0x32, 0x30, 0x31, 0x39, 0x2d, 0x31, 0x30, 0x2d, 0x31, 0x30, 0x20, 0x32, 0x30, 0x3a, 0x31, 0x39,
- 0x3a, 0x34, 0x35, 0x20, 0x31, 0x38, 0x64, 0x62, 0x30, 0x33, 0x32, 0x64, 0x30, 0x35, 0x38, 0x66,
- 0x31, 0x34, 0x33, 0x36, 0x63, 0x65, 0x33, 0x64, 0x65, 0x61, 0x38, 0x34, 0x30, 0x38, 0x31, 0x66,
- 0x34, 0x65, 0x65, 0x35, 0x61, 0x30, 0x66, 0x32, 0x32, 0x35, 0x39, 0x61, 0x64, 0x39, 0x37, 0x33,
- 0x30, 0x31, 0x64, 0x34, 0x33, 0x63, 0x34, 0x32, 0x36, 0x62, 0x63, 0x37, 0x66, 0x33, 0x64, 0x66,
- 0x31, 0x62, 0x30, 0x62,
-}
-
-var s__142 = [60]byte{
- 0x53, 0x51, 0x4c, 0x69, 0x74, 0x65, 0x20, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x20, 0x61,
- 0x6e, 0x64, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74,
- 0x63, 0x68, 0x0a, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x3a, 0x20, 0x25, 0x73, 0x0a, 0x48,
- 0x65, 0x61, 0x64, 0x65, 0x72, 0x3a, 0x20, 0x20, 0x25, 0x73, 0x0a,
-}
-
-var s__143 = [12]byte{0x25, 0x30, 0x35, 0x64, 0x2e, 0x6d, 0x70, 0x74, 0x65, 0x73, 0x74}
-
-var s__144 = [12]byte{0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x6d, 0x6f, 0x64, 0x65}
-
-var s__145 = [7]byte{0x72, 0x65, 0x70, 0x65, 0x61, 0x74}
-
-var s__146 = [4]byte{0x76, 0x66, 0x73}
-
-var s__147 = [7]byte{0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74}
-
-var s__148 = [7]byte{0x65, 0x72, 0x72, 0x6c, 0x6f, 0x67}
-
-var s__149 = [4]byte{0x6c, 0x6f, 0x67}
-
-var s__150 = [6]byte{0x74, 0x72, 0x61, 0x63, 0x65}
-
-var s__151 = [6]byte{0x71, 0x75, 0x69, 0x65, 0x74}
-
-var s__152 = [8]byte{0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74}
-
-var s__153 = [9]byte{0x73, 0x71, 0x6c, 0x74, 0x72, 0x61, 0x63, 0x65}
-
-var s__154 = [5]byte{0x73, 0x79, 0x6e, 0x63}
-
-var s__155 = [2]byte{0x61}
-
-var s__156 = [27]byte{
- 0x69, 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x6e,
- 0x75, 0x6d, 0x62, 0x65, 0x72, 0x3a, 0x20, 0x25, 0x64, 0x0a,
-}
-
-var s__157 = [16]byte{0x25, 0x30, 0x35, 0x64, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x25, 0x30, 0x32, 0x64}
-
-var s__158 = [10]byte{0x42, 0x45, 0x47, 0x49, 0x4e, 0x3a, 0x20, 0x25, 0x73}
-
-var s__159 = [105]byte{
- 0x57, 0x69, 0x74, 0x68, 0x20, 0x53, 0x51, 0x4c, 0x69, 0x74, 0x65, 0x20, 0x33, 0x2e, 0x33, 0x30,
- 0x2e, 0x31, 0x20, 0x32, 0x30, 0x31, 0x39, 0x2d, 0x31, 0x30, 0x2d, 0x31, 0x30, 0x20, 0x32, 0x30,
- 0x3a, 0x31, 0x39, 0x3a, 0x34, 0x35, 0x20, 0x31, 0x38, 0x64, 0x62, 0x30, 0x33, 0x32, 0x64, 0x30,
- 0x35, 0x38, 0x66, 0x31, 0x34, 0x33, 0x36, 0x63, 0x65, 0x33, 0x64, 0x65, 0x61, 0x38, 0x34, 0x30,
- 0x38, 0x31, 0x66, 0x34, 0x65, 0x65, 0x35, 0x61, 0x30, 0x66, 0x32, 0x32, 0x35, 0x39, 0x61, 0x64,
- 0x39, 0x37, 0x33, 0x30, 0x31, 0x64, 0x34, 0x33, 0x63, 0x34, 0x32, 0x36, 0x62, 0x63, 0x37, 0x66,
- 0x33, 0x64, 0x66, 0x31, 0x62, 0x30, 0x62, 0x0a,
-}
-
-var s__160 = [13]byte{0x2d, 0x44, 0x53, 0x51, 0x4c, 0x49, 0x54, 0x45, 0x5f, 0x25, 0x73, 0x0a}
-
-var s__161 = [29]byte{
- 0x2e, 0x2e, 0x2e, 0x20, 0x25, 0x73, 0x74, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20,
- 0x75, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x27, 0x25, 0x73, 0x27, 0x0a,
-}
-
-var s__162 = [7]byte{0x73, 0x74, 0x69, 0x6c, 0x6c, 0x20}
-
-var s__163 = [41]byte{
- 0x75, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x6e, 0x6c, 0x69, 0x6e, 0x6b,
- 0x20, 0x27, 0x25, 0x73, 0x27, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x25, 0x64, 0x20, 0x61,
- 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x0a,
-}
-
-var s__164 = [17]byte{0x63, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x5b, 0x25, 0x73, 0x5d}
-
-var s__165 = [24]byte{
- 0x50, 0x52, 0x41, 0x47, 0x4d, 0x41, 0x20, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6d,
- 0x6f, 0x64, 0x65, 0x3d, 0x25, 0x51, 0x3b,
-}
-
-var s__166 = [23]byte{
- 0x50, 0x52, 0x41, 0x47, 0x4d, 0x41, 0x20, 0x73, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x6f,
- 0x75, 0x73, 0x3d, 0x4f, 0x46, 0x46,
-}
-
-var s__167 = [8]byte{0x76, 0x66, 0x73, 0x6e, 0x61, 0x6d, 0x65}
-
-var s__168 = [5]byte{0x65, 0x76, 0x61, 0x6c}
-
-var s__169 = [13]byte{0x73, 0x74, 0x61, 0x72, 0x74, 0x2d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74}
-
-var s__170 = [14]byte{0x62, 0x65, 0x67, 0x69, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x28, 0x25, 0x64, 0x29}
-
-var s__171 = [12]byte{0x65, 0x6e, 0x64, 0x20, 0x25, 0x73, 0x20, 0x28, 0x25, 0x64, 0x29}
-
-var s__172 = [11]byte{0x65, 0x6e, 0x64, 0x2d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74}
-
-var s__173 = [24]byte{
- 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x66,
- 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65,
-}
-
-var s__174 = [436]byte{
- 0x44, 0x52, 0x4f, 0x50, 0x20, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x20, 0x49, 0x46, 0x20, 0x45, 0x58,
- 0x49, 0x53, 0x54, 0x53, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x3b, 0x0a, 0x44, 0x52, 0x4f, 0x50, 0x20,
- 0x54, 0x41, 0x42, 0x4c, 0x45, 0x20, 0x49, 0x46, 0x20, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x20,
- 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x3b, 0x0a, 0x44, 0x52, 0x4f, 0x50, 0x20, 0x54,
- 0x41, 0x42, 0x4c, 0x45, 0x20, 0x49, 0x46, 0x20, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x20, 0x63,
- 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x3b, 0x0a, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x20, 0x54, 0x41,
- 0x42, 0x4c, 0x45, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x28, 0x0a, 0x20, 0x20, 0x69, 0x64, 0x20, 0x49,
- 0x4e, 0x54, 0x45, 0x47, 0x45, 0x52, 0x20, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x20, 0x4b,
- 0x45, 0x59, 0x2c, 0x0a, 0x20, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x45, 0x58, 0x54, 0x2c,
- 0x0a, 0x20, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x45,
- 0x52, 0x2c, 0x0a, 0x20, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x44,
- 0x41, 0x54, 0x45, 0x2c, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x44,
- 0x41, 0x54, 0x45, 0x2c, 0x0a, 0x20, 0x20, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x54, 0x45,
- 0x58, 0x54, 0x0a, 0x29, 0x3b, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x20, 0x49, 0x4e, 0x44, 0x45,
- 0x58, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x31, 0x20, 0x4f, 0x4e, 0x20, 0x74, 0x61, 0x73,
- 0x6b, 0x28, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74,
- 0x69, 0x6d, 0x65, 0x29, 0x3b, 0x0a, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x20, 0x49, 0x4e, 0x44,
- 0x45, 0x58, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x32, 0x20, 0x4f, 0x4e, 0x20, 0x74, 0x61,
- 0x73, 0x6b, 0x28, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x65, 0x6e, 0x64, 0x74, 0x69,
- 0x6d, 0x65, 0x29, 0x3b, 0x0a, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x20, 0x54, 0x41, 0x42, 0x4c,
- 0x45, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x28, 0x6e, 0x45, 0x72, 0x72, 0x6f,
- 0x72, 0x2c, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x29, 0x3b, 0x0a, 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54,
- 0x20, 0x49, 0x4e, 0x54, 0x4f, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x20, 0x56,
- 0x41, 0x4c, 0x55, 0x45, 0x53, 0x28, 0x30, 0x2c, 0x30, 0x29, 0x3b, 0x0a, 0x43, 0x52, 0x45, 0x41,
- 0x54, 0x45, 0x20, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x28,
- 0x69, 0x64, 0x20, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x45, 0x52, 0x20, 0x50, 0x52, 0x49, 0x4d, 0x41,
- 0x52, 0x59, 0x20, 0x4b, 0x45, 0x59, 0x2c, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x48, 0x61, 0x6c, 0x74,
- 0x29, 0x3b, 0x0a,
-}
-
-var s__175 = [28]byte{
- 0x62, 0x65, 0x67, 0x69, 0x6e, 0x20, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x5b, 0x25, 0x73,
- 0x5d, 0x20, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x20, 0x25, 0x64, 0x0a,
-}
-
-var s__176 = [26]byte{
- 0x65, 0x6e, 0x64, 0x20, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x5b, 0x25, 0x73, 0x5d, 0x20,
- 0x63, 0x79, 0x63, 0x6c, 0x65, 0x20, 0x25, 0x64, 0x0a,
-}
-
-var s__177 = [20]byte{
- 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x2e,
- 0x2e, 0x2e, 0x0a,
-}
-
-var s__178 = [29]byte{
- 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x53, 0x45,
- 0x54, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x48, 0x61, 0x6c, 0x74, 0x3d, 0x31,
-}
-
-var s__179 = [21]byte{
- 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x20, 0x31, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0x20, 0x63, 0x6c,
- 0x69, 0x65, 0x6e, 0x74,
-}
-
-var s__180 = [35]byte{
- 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x20, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2c, 0x20, 0x6e,
- 0x54, 0x65, 0x73, 0x74, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65,
- 0x72, 0x73,
-}
-
-var s__181 = [36]byte{
- 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x3a, 0x20, 0x25, 0x64, 0x20, 0x65, 0x72, 0x72, 0x6f,
- 0x72, 0x73, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x25, 0x64, 0x20, 0x74, 0x65, 0x73,
- 0x74, 0x73, 0x0a,
-}
-
-var s__182 = [8]byte{0x45, 0x4e, 0x44, 0x3a, 0x20, 0x25, 0x73}
diff --git a/internal/mptest/main_linux_amd64.go b/internal/mptest/main_linux_amd64.go
index 6e49ffa..5a1b4c6 100644
--- a/internal/mptest/main_linux_amd64.go
+++ b/internal/mptest/main_linux_amd64.go
@@ -1,10228 +1,4719 @@
-// Code generated by `gocc testdata/sqlite-src-3300100/mptest/mptest.c -o internal/mptest/main_linux_amd64.go -Itestdata/sqlite-amalgamation-3300100 -qbec-dot-import modernc.org/sqlite/internal/bin -qbec-static-prefix s_ -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_DQS=0 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_MAX_MMAP_SIZE=0 -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_THREADSAFE=2 -DSQLITE_USE_ALLOCA`, DO NOT EDIT.
+// Code generated by 'ccgo -o internal/mptest/main_linux_amd64.go testdata/sqlite-src-3320300/mptest/mptest.c -Itestdata/sqlite-amalgamation-3320300 -l modernc.org/sqlite/lib -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_DQS=0 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_UTF16 -DSQLITE_TEST -DSQLITE_THREADSAFE=2 -ccgo-long-double-is-double', DO NOT EDIT.
package main
import (
- . "modernc.org/sqlite/internal/bin"
-)
-
-import (
"math"
- "modernc.org/crt/v2"
+ "reflect"
"unsafe"
-)
-var (
- _ *crt.TLS
- _ = math.Pi
- _ = unsafe.Sizeof(0)
+ "modernc.org/crt/v3"
+ "modernc.org/sqlite/lib"
)
-func main() { crt.Start(Xmain) }
-
-var s__1 = [11]byte{0x5f, 0x5f, 0x62, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x31, 0x36}
-
-var s__2 = [11]byte{0x5f, 0x5f, 0x62, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x33, 0x32}
-
-var s__3 = [11]byte{0x5f, 0x5f, 0x62, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x36, 0x34}
-
-var s__4 = [18]byte{
- 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74,
- 0x79,
+var _ = math.Pi
+var _ reflect.Kind
+var _ unsafe.Pointer
+
+func main() { crt.Start(main1) }
+
+type ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type size_t = uint64 /* <builtin>:9:23 */
+
+type wchar_t = int32 /* <builtin>:15:24 */
+
+// Define the standard macros for the user,
+// if this invocation was from the user program.
+
+// Define va_list, if desired, from __gnuc_va_list.
+// We deliberately do not define va_list when called from
+// stdio.h, because ANSI C says that stdio.h is not supposed to define
+// va_list. stdio.h needs to have access to that data type,
+// but must not use that name. It should use the name __gnuc_va_list,
+// which is safe because it is reserved for the implementation.
+
+// The macro _VA_LIST_ is the same thing used by this file in Ultrix.
+// But on BSD NET2 we must not test or define or undef it.
+// (Note that the comments in NET 2's ansi.h
+// are incorrect for _VA_LIST_--see stdio.h!)
+// The macro _VA_LIST_DEFINED is used in Windows NT 3.5
+// The macro _VA_LIST is used in SCO Unix 3.2.
+// The macro _VA_LIST_T_H is used in the Bull dpx2
+// The macro __va_list__ is used by BeOS.
+type va_list = uintptr /* stdarg.h:99:24 */
+
+// CAPI3REF: 64-Bit Integer Types
+// KEYWORDS: sqlite_int64 sqlite_uint64
+//
+// Because there is no cross-platform way to specify 64-bit integer types
+// SQLite includes typedefs for 64-bit signed and unsigned integers.
+//
+// The sqlite3_int64 and sqlite3_uint64 are the preferred type definitions.
+// The sqlite_int64 and sqlite_uint64 types are supported for backwards
+// compatibility only.
+//
+// ^The sqlite3_int64 and sqlite_int64 types can store integer values
+// between -9223372036854775808 and +9223372036854775807 inclusive. ^The
+// sqlite3_uint64 and sqlite_uint64 types can store integer values
+// between 0 and +18446744073709551615 inclusive.
+type sqlite_int64 = int64 /* sqlite3.h:278:25 */
+type sqlite_uint64 = uint64 /* sqlite3.h:279:34 */
+type sqlite3_int64 = sqlite_int64 /* sqlite3.h:281:22 */
+type sqlite3_uint64 = sqlite_uint64 /* sqlite3.h:282:23 */
+
+// The type for a callback function.
+// This is legacy and deprecated. It is included for historical
+// compatibility and is not documented.
+type sqlite3_callback = uintptr /* sqlite3.h:338:13 */
+
+// CAPI3REF: Result Codes
+// KEYWORDS: {result code definitions}
+//
+// Many SQLite functions return an integer result code from the set shown
+// here in order to indicate success or failure.
+//
+// New error codes may be added in future versions of SQLite.
+//
+// See also: [extended result code definitions]
+// beginning-of-error-codes
+// end-of-error-codes
+
+// CAPI3REF: Extended Result Codes
+// KEYWORDS: {extended result code definitions}
+//
+// In its default configuration, SQLite API routines return one of 30 integer
+// [result codes]. However, experience has shown that many of
+// these result codes are too coarse-grained. They do not provide as
+// much information about problems as programmers might like. In an effort to
+// address this, newer versions of SQLite (version 3.3.8 [dateof:3.3.8]
+// and later) include
+// support for additional result codes that provide more detailed information
+// about errors. These [extended result codes] are enabled or disabled
+// on a per database connection basis using the
+// [sqlite3_extended_result_codes()] API. Or, the extended code for
+// the most recent error can be obtained using
+// [sqlite3_extended_errcode()].
+
+// CAPI3REF: Flags For File Open Operations
+//
+// These bit values are intended for use in the
+// 3rd parameter to the [sqlite3_open_v2()] interface and
+// in the 4th parameter to the [sqlite3_vfs.xOpen] method.
+
+// Reserved: 0x00F00000
+
+// CAPI3REF: Device Characteristics
+//
+// The xDeviceCharacteristics method of the [sqlite3_io_methods]
+// object returns an integer which is a vector of these
+// bit values expressing I/O characteristics of the mass storage
+// device that holds the file that the [sqlite3_io_methods]
+// refers to.
+//
+// The SQLITE_IOCAP_ATOMIC property means that all writes of
+// any size are atomic. The SQLITE_IOCAP_ATOMICnnn values
+// mean that writes of blocks that are nnn bytes in size and
+// are aligned to an address which is an integer multiple of
+// nnn are atomic. The SQLITE_IOCAP_SAFE_APPEND value means
+// that when data is appended to a file, the data is appended
+// first then the size of the file is extended, never the other
+// way around. The SQLITE_IOCAP_SEQUENTIAL property means that
+// information is written to disk in the same order as calls
+// to xWrite(). The SQLITE_IOCAP_POWERSAFE_OVERWRITE property means that
+// after reboot following a crash or power loss, the only bytes in a
+// file that were written at the application level might have changed
+// and that adjacent bytes, even bytes within the same sector are
+// guaranteed to be unchanged. The SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN
+// flag indicates that a file cannot be deleted when open. The
+// SQLITE_IOCAP_IMMUTABLE flag indicates that the file is on
+// read-only media and cannot be changed even by processes with
+// elevated privileges.
+//
+// The SQLITE_IOCAP_BATCH_ATOMIC property means that the underlying
+// filesystem supports doing multiple write operations atomically when those
+// write operations are bracketed by [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] and
+// [SQLITE_FCNTL_COMMIT_ATOMIC_WRITE].
+
+// CAPI3REF: File Locking Levels
+//
+// SQLite uses one of these integer values as the second
+// argument to calls it makes to the xLock() and xUnlock() methods
+// of an [sqlite3_io_methods] object.
+
+// CAPI3REF: Synchronization Type Flags
+//
+// When SQLite invokes the xSync() method of an
+// [sqlite3_io_methods] object it uses a combination of
+// these integer values as the second argument.
+//
+// When the SQLITE_SYNC_DATAONLY flag is used, it means that the
+// sync operation only needs to flush data to mass storage. Inode
+// information need not be flushed. If the lower four bits of the flag
+// equal SQLITE_SYNC_NORMAL, that means to use normal fsync() semantics.
+// If the lower four bits equal SQLITE_SYNC_FULL, that means
+// to use Mac OS X style fullsync instead of fsync().
+//
+// Do not confuse the SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags
+// with the [PRAGMA synchronous]=NORMAL and [PRAGMA synchronous]=FULL
+// settings. The [synchronous pragma] determines when calls to the
+// xSync VFS method occur and applies uniformly across all platforms.
+// The SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags determine how
+// energetic or rigorous or forceful the sync operations are and
+// only make a difference on Mac OSX for the default SQLite code.
+// (Third-party VFS implementations might also make the distinction
+// between SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL, but among the
+// operating systems natively supported by SQLite, only Mac OSX
+// cares about the difference.)
+
+// CAPI3REF: OS Interface Open File Handle
+//
+// An [sqlite3_file] object represents an open file in the
+// [sqlite3_vfs | OS interface layer]. Individual OS interface
+// implementations will
+// want to subclass this object by appending additional fields
+// for their own use. The pMethods entry is a pointer to an
+// [sqlite3_io_methods] object that defines methods for performing
+// I/O operations on the open file.
+type sqlite3_file1 = struct{ pMethods uintptr }
+
+// CAPI3REF: Result Codes
+// KEYWORDS: {result code definitions}
+//
+// Many SQLite functions return an integer result code from the set shown
+// here in order to indicate success or failure.
+//
+// New error codes may be added in future versions of SQLite.
+//
+// See also: [extended result code definitions]
+// beginning-of-error-codes
+// end-of-error-codes
+
+// CAPI3REF: Extended Result Codes
+// KEYWORDS: {extended result code definitions}
+//
+// In its default configuration, SQLite API routines return one of 30 integer
+// [result codes]. However, experience has shown that many of
+// these result codes are too coarse-grained. They do not provide as
+// much information about problems as programmers might like. In an effort to
+// address this, newer versions of SQLite (version 3.3.8 [dateof:3.3.8]
+// and later) include
+// support for additional result codes that provide more detailed information
+// about errors. These [extended result codes] are enabled or disabled
+// on a per database connection basis using the
+// [sqlite3_extended_result_codes()] API. Or, the extended code for
+// the most recent error can be obtained using
+// [sqlite3_extended_errcode()].
+
+// CAPI3REF: Flags For File Open Operations
+//
+// These bit values are intended for use in the
+// 3rd parameter to the [sqlite3_open_v2()] interface and
+// in the 4th parameter to the [sqlite3_vfs.xOpen] method.
+
+// Reserved: 0x00F00000
+
+// CAPI3REF: Device Characteristics
+//
+// The xDeviceCharacteristics method of the [sqlite3_io_methods]
+// object returns an integer which is a vector of these
+// bit values expressing I/O characteristics of the mass storage
+// device that holds the file that the [sqlite3_io_methods]
+// refers to.
+//
+// The SQLITE_IOCAP_ATOMIC property means that all writes of
+// any size are atomic. The SQLITE_IOCAP_ATOMICnnn values
+// mean that writes of blocks that are nnn bytes in size and
+// are aligned to an address which is an integer multiple of
+// nnn are atomic. The SQLITE_IOCAP_SAFE_APPEND value means
+// that when data is appended to a file, the data is appended
+// first then the size of the file is extended, never the other
+// way around. The SQLITE_IOCAP_SEQUENTIAL property means that
+// information is written to disk in the same order as calls
+// to xWrite(). The SQLITE_IOCAP_POWERSAFE_OVERWRITE property means that
+// after reboot following a crash or power loss, the only bytes in a
+// file that were written at the application level might have changed
+// and that adjacent bytes, even bytes within the same sector are
+// guaranteed to be unchanged. The SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN
+// flag indicates that a file cannot be deleted when open. The
+// SQLITE_IOCAP_IMMUTABLE flag indicates that the file is on
+// read-only media and cannot be changed even by processes with
+// elevated privileges.
+//
+// The SQLITE_IOCAP_BATCH_ATOMIC property means that the underlying
+// filesystem supports doing multiple write operations atomically when those
+// write operations are bracketed by [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] and
+// [SQLITE_FCNTL_COMMIT_ATOMIC_WRITE].
+
+// CAPI3REF: File Locking Levels
+//
+// SQLite uses one of these integer values as the second
+// argument to calls it makes to the xLock() and xUnlock() methods
+// of an [sqlite3_io_methods] object.
+
+// CAPI3REF: Synchronization Type Flags
+//
+// When SQLite invokes the xSync() method of an
+// [sqlite3_io_methods] object it uses a combination of
+// these integer values as the second argument.
+//
+// When the SQLITE_SYNC_DATAONLY flag is used, it means that the
+// sync operation only needs to flush data to mass storage. Inode
+// information need not be flushed. If the lower four bits of the flag
+// equal SQLITE_SYNC_NORMAL, that means to use normal fsync() semantics.
+// If the lower four bits equal SQLITE_SYNC_FULL, that means
+// to use Mac OS X style fullsync instead of fsync().
+//
+// Do not confuse the SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags
+// with the [PRAGMA synchronous]=NORMAL and [PRAGMA synchronous]=FULL
+// settings. The [synchronous pragma] determines when calls to the
+// xSync VFS method occur and applies uniformly across all platforms.
+// The SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags determine how
+// energetic or rigorous or forceful the sync operations are and
+// only make a difference on Mac OSX for the default SQLite code.
+// (Third-party VFS implementations might also make the distinction
+// between SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL, but among the
+// operating systems natively supported by SQLite, only Mac OSX
+// cares about the difference.)
+
+// CAPI3REF: OS Interface Open File Handle
+//
+// An [sqlite3_file] object represents an open file in the
+// [sqlite3_vfs | OS interface layer]. Individual OS interface
+// implementations will
+// want to subclass this object by appending additional fields
+// for their own use. The pMethods entry is a pointer to an
+// [sqlite3_io_methods] object that defines methods for performing
+// I/O operations on the open file.
+type sqlite3_file = sqlite3_file1 /* sqlite3.h:680:29 */
+type sqlite3_io_methods1 = struct {
+ iVersion int32
+ xClose uintptr
+ xRead uintptr
+ xWrite uintptr
+ xTruncate uintptr
+ xSync uintptr
+ xFileSize uintptr
+ xLock uintptr
+ xUnlock uintptr
+ xCheckReservedLock uintptr
+ xFileControl uintptr
+ xSectorSize uintptr
+ xDeviceCharacteristics uintptr
+ xShmMap uintptr
+ xShmLock uintptr
+ xShmBarrier uintptr
+ xShmUnmap uintptr
+ xFetch uintptr
+ xUnfetch uintptr
}
-var s__5 = [18]byte{
- 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74,
- 0x79,
+// CAPI3REF: OS Interface File Virtual Methods Object
+//
+// Every file opened by the [sqlite3_vfs.xOpen] method populates an
+// [sqlite3_file] object (or, more commonly, a subclass of the
+// [sqlite3_file] object) with a pointer to an instance of this object.
+// This object defines the methods used to perform various operations
+// against the open file represented by the [sqlite3_file] object.
+//
+// If the [sqlite3_vfs.xOpen] method sets the sqlite3_file.pMethods element
+// to a non-NULL pointer, then the sqlite3_io_methods.xClose method
+// may be invoked even if the [sqlite3_vfs.xOpen] reported that it failed. The
+// only way to prevent a call to xClose following a failed [sqlite3_vfs.xOpen]
+// is for the [sqlite3_vfs.xOpen] to set the sqlite3_file.pMethods element
+// to NULL.
+//
+// The flags argument to xSync may be one of [SQLITE_SYNC_NORMAL] or
+// [SQLITE_SYNC_FULL]. The first choice is the normal fsync().
+// The second choice is a Mac OS X style fullsync. The [SQLITE_SYNC_DATAONLY]
+// flag may be ORed in to indicate that only the data of the file
+// and not its inode needs to be synced.
+//
+// The integer values to xLock() and xUnlock() are one of
+// <ul>
+// <li> [SQLITE_LOCK_NONE],
+// <li> [SQLITE_LOCK_SHARED],
+// <li> [SQLITE_LOCK_RESERVED],
+// <li> [SQLITE_LOCK_PENDING], or
+// <li> [SQLITE_LOCK_EXCLUSIVE].
+// </ul>
+// xLock() increases the lock. xUnlock() decreases the lock.
+// The xCheckReservedLock() method checks whether any database connection,
+// either in this process or in some other process, is holding a RESERVED,
+// PENDING, or EXCLUSIVE lock on the file. It returns true
+// if such a lock exists and false otherwise.
+//
+// The xFileControl() method is a generic interface that allows custom
+// VFS implementations to directly control an open file using the
+// [sqlite3_file_control()] interface. The second "op" argument is an
+// integer opcode. The third argument is a generic pointer intended to
+// point to a structure that may contain arguments or space in which to
+// write return values. Potential uses for xFileControl() might be
+// functions to enable blocking locks with timeouts, to change the
+// locking strategy (for example to use dot-file locks), to inquire
+// about the status of a lock, or to break stale locks. The SQLite
+// core reserves all opcodes less than 100 for its own use.
+// A [file control opcodes | list of opcodes] less than 100 is available.
+// Applications that define a custom xFileControl method should use opcodes
+// greater than 100 to avoid conflicts. VFS implementations should
+// return [SQLITE_NOTFOUND] for file control opcodes that they do not
+// recognize.
+//
+// The xSectorSize() method returns the sector size of the
+// device that underlies the file. The sector size is the
+// minimum write that can be performed without disturbing
+// other bytes in the file. The xDeviceCharacteristics()
+// method returns a bit vector describing behaviors of the
+// underlying device:
+//
+// <ul>
+// <li> [SQLITE_IOCAP_ATOMIC]
+// <li> [SQLITE_IOCAP_ATOMIC512]
+// <li> [SQLITE_IOCAP_ATOMIC1K]
+// <li> [SQLITE_IOCAP_ATOMIC2K]
+// <li> [SQLITE_IOCAP_ATOMIC4K]
+// <li> [SQLITE_IOCAP_ATOMIC8K]
+// <li> [SQLITE_IOCAP_ATOMIC16K]
+// <li> [SQLITE_IOCAP_ATOMIC32K]
+// <li> [SQLITE_IOCAP_ATOMIC64K]
+// <li> [SQLITE_IOCAP_SAFE_APPEND]
+// <li> [SQLITE_IOCAP_SEQUENTIAL]
+// <li> [SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN]
+// <li> [SQLITE_IOCAP_POWERSAFE_OVERWRITE]
+// <li> [SQLITE_IOCAP_IMMUTABLE]
+// <li> [SQLITE_IOCAP_BATCH_ATOMIC]
+// </ul>
+//
+// The SQLITE_IOCAP_ATOMIC property means that all writes of
+// any size are atomic. The SQLITE_IOCAP_ATOMICnnn values
+// mean that writes of blocks that are nnn bytes in size and
+// are aligned to an address which is an integer multiple of
+// nnn are atomic. The SQLITE_IOCAP_SAFE_APPEND value means
+// that when data is appended to a file, the data is appended
+// first then the size of the file is extended, never the other
+// way around. The SQLITE_IOCAP_SEQUENTIAL property means that
+// information is written to disk in the same order as calls
+// to xWrite().
+//
+// If xRead() returns SQLITE_IOERR_SHORT_READ it must also fill
+// in the unread portions of the buffer with zeros. A VFS that
+// fails to zero-fill short reads might seem to work. However,
+// failure to zero-fill short reads will eventually lead to
+// database corruption.
+type sqlite3_io_methods = sqlite3_io_methods1 /* sqlite3.h:779:35 */
+
+// CAPI3REF: OS Interface Object
+//
+// An instance of the sqlite3_vfs object defines the interface between
+// the SQLite core and the underlying operating system. The "vfs"
+// in the name of the object stands for "virtual file system". See
+// the [VFS | VFS documentation] for further information.
+//
+// The VFS interface is sometimes extended by adding new methods onto
+// the end. Each time such an extension occurs, the iVersion field
+// is incremented. The iVersion value started out as 1 in
+// SQLite [version 3.5.0] on [dateof:3.5.0], then increased to 2
+// with SQLite [version 3.7.0] on [dateof:3.7.0], and then increased
+// to 3 with SQLite [version 3.7.6] on [dateof:3.7.6]. Additional fields
+// may be appended to the sqlite3_vfs object and the iVersion value
+// may increase again in future versions of SQLite.
+// Note that due to an oversight, the structure
+// of the sqlite3_vfs object changed in the transition from
+// SQLite [version 3.5.9] to [version 3.6.0] on [dateof:3.6.0]
+// and yet the iVersion field was not increased.
+//
+// The szOsFile field is the size of the subclassed [sqlite3_file]
+// structure used by this VFS. mxPathname is the maximum length of
+// a pathname in this VFS.
+//
+// Registered sqlite3_vfs objects are kept on a linked list formed by
+// the pNext pointer. The [sqlite3_vfs_register()]
+// and [sqlite3_vfs_unregister()] interfaces manage this list
+// in a thread-safe way. The [sqlite3_vfs_find()] interface
+// searches the list. Neither the application code nor the VFS
+// implementation should use the pNext pointer.
+//
+// The pNext field is the only field in the sqlite3_vfs
+// structure that SQLite will ever modify. SQLite will only access
+// or modify this field while holding a particular static mutex.
+// The application should never modify anything within the sqlite3_vfs
+// object once the object has been registered.
+//
+// The zName field holds the name of the VFS module. The name must
+// be unique across all VFS modules.
+//
+// [[sqlite3_vfs.xOpen]]
+// ^SQLite guarantees that the zFilename parameter to xOpen
+// is either a NULL pointer or string obtained
+// from xFullPathname() with an optional suffix added.
+// ^If a suffix is added to the zFilename parameter, it will
+// consist of a single "-" character followed by no more than
+// 11 alphanumeric and/or "-" characters.
+// ^SQLite further guarantees that
+// the string will be valid and unchanged until xClose() is
+// called. Because of the previous sentence,
+// the [sqlite3_file] can safely store a pointer to the
+// filename if it needs to remember the filename for some reason.
+// If the zFilename parameter to xOpen is a NULL pointer then xOpen
+// must invent its own temporary name for the file. ^Whenever the
+// xFilename parameter is NULL it will also be the case that the
+// flags parameter will include [SQLITE_OPEN_DELETEONCLOSE].
+//
+// The flags argument to xOpen() includes all bits set in
+// the flags argument to [sqlite3_open_v2()]. Or if [sqlite3_open()]
+// or [sqlite3_open16()] is used, then flags includes at least
+// [SQLITE_OPEN_READWRITE] | [SQLITE_OPEN_CREATE].
+// If xOpen() opens a file read-only then it sets *pOutFlags to
+// include [SQLITE_OPEN_READONLY]. Other bits in *pOutFlags may be set.
+//
+// ^(SQLite will also add one of the following flags to the xOpen()
+// call, depending on the object being opened:
+//
+// <ul>
+// <li> [SQLITE_OPEN_MAIN_DB]
+// <li> [SQLITE_OPEN_MAIN_JOURNAL]
+// <li> [SQLITE_OPEN_TEMP_DB]
+// <li> [SQLITE_OPEN_TEMP_JOURNAL]
+// <li> [SQLITE_OPEN_TRANSIENT_DB]
+// <li> [SQLITE_OPEN_SUBJOURNAL]
+// <li> [SQLITE_OPEN_MASTER_JOURNAL]
+// <li> [SQLITE_OPEN_WAL]
+// </ul>)^
+//
+// The file I/O implementation can use the object type flags to
+// change the way it deals with files. For example, an application
+// that does not care about crash recovery or rollback might make
+// the open of a journal file a no-op. Writes to this journal would
+// also be no-ops, and any attempt to read the journal would return
+// SQLITE_IOERR. Or the implementation might recognize that a database
+// file will be doing page-aligned sector reads and writes in a random
+// order and set up its I/O subsystem accordingly.
+//
+// SQLite might also add one of the following flags to the xOpen method:
+//
+// <ul>
+// <li> [SQLITE_OPEN_DELETEONCLOSE]
+// <li> [SQLITE_OPEN_EXCLUSIVE]
+// </ul>
+//
+// The [SQLITE_OPEN_DELETEONCLOSE] flag means the file should be
+// deleted when it is closed. ^The [SQLITE_OPEN_DELETEONCLOSE]
+// will be set for TEMP databases and their journals, transient
+// databases, and subjournals.
+//
+// ^The [SQLITE_OPEN_EXCLUSIVE] flag is always used in conjunction
+// with the [SQLITE_OPEN_CREATE] flag, which are both directly
+// analogous to the O_EXCL and O_CREAT flags of the POSIX open()
+// API. The SQLITE_OPEN_EXCLUSIVE flag, when paired with the
+// SQLITE_OPEN_CREATE, is used to indicate that file should always
+// be created, and that it is an error if it already exists.
+// It is <i>not</i> used to indicate the file should be opened
+// for exclusive access.
+//
+// ^At least szOsFile bytes of memory are allocated by SQLite
+// to hold the [sqlite3_file] structure passed as the third
+// argument to xOpen. The xOpen method does not have to
+// allocate the structure; it should just fill it in. Note that
+// the xOpen method must set the sqlite3_file.pMethods to either
+// a valid [sqlite3_io_methods] object or to NULL. xOpen must do
+// this even if the open fails. SQLite expects that the sqlite3_file.pMethods
+// element will be valid after xOpen returns regardless of the success
+// or failure of the xOpen call.
+//
+// [[sqlite3_vfs.xAccess]]
+// ^The flags argument to xAccess() may be [SQLITE_ACCESS_EXISTS]
+// to test for the existence of a file, or [SQLITE_ACCESS_READWRITE] to
+// test whether a file is readable and writable, or [SQLITE_ACCESS_READ]
+// to test whether a file is at least readable. The SQLITE_ACCESS_READ
+// flag is never actually used and is not implemented in the built-in
+// VFSes of SQLite. The file is named by the second argument and can be a
+// directory. The xAccess method returns [SQLITE_OK] on success or some
+// non-zero error code if there is an I/O error or if the name of
+// the file given in the second argument is illegal. If SQLITE_OK
+// is returned, then non-zero or zero is written into *pResOut to indicate
+// whether or not the file is accessible.
+//
+// ^SQLite will always allocate at least mxPathname+1 bytes for the
+// output buffer xFullPathname. The exact size of the output buffer
+// is also passed as a parameter to both methods. If the output buffer
+// is not large enough, [SQLITE_CANTOPEN] should be returned. Since this is
+// handled as a fatal error by SQLite, vfs implementations should endeavor
+// to prevent this by setting mxPathname to a sufficiently large value.
+//
+// The xRandomness(), xSleep(), xCurrentTime(), and xCurrentTimeInt64()
+// interfaces are not strictly a part of the filesystem, but they are
+// included in the VFS structure for completeness.
+// The xRandomness() function attempts to return nBytes bytes
+// of good-quality randomness into zOut. The return value is
+// the actual number of bytes of randomness obtained.
+// The xSleep() method causes the calling thread to sleep for at
+// least the number of microseconds given. ^The xCurrentTime()
+// method returns a Julian Day Number for the current date and time as
+// a floating point value.
+// ^The xCurrentTimeInt64() method returns, as an integer, the Julian
+// Day Number multiplied by 86400000 (the number of milliseconds in
+// a 24-hour day).
+// ^SQLite will use the xCurrentTimeInt64() method to get the current
+// date and time if that method is available (if iVersion is 2 or
+// greater and the function pointer is not NULL) and will fall back
+// to xCurrentTime() if xCurrentTimeInt64() is unavailable.
+//
+// ^The xSetSystemCall(), xGetSystemCall(), and xNestSystemCall() interfaces
+// are not used by the SQLite core. These optional interfaces are provided
+// by some VFSes to facilitate testing of the VFS code. By overriding
+// system calls with functions under its control, a test program can
+// simulate faults and error conditions that would otherwise be difficult
+// or impossible to induce. The set of system calls that can be overridden
+// varies from one VFS to another, and from one version of the same VFS to the
+// next. Applications that use these interfaces must be prepared for any
+// or all of these interfaces to be NULL or for their behavior to change
+// from one release to the next. Applications must not attempt to access
+// any of these methods if the iVersion of the VFS is less than 3.
+type sqlite3_vfs1 = struct {
+ iVersion int32
+ szOsFile int32
+ mxPathname int32
+ pNext uintptr
+ zName uintptr
+ pAppData uintptr
+ xOpen uintptr
+ xDelete uintptr
+ xAccess uintptr
+ xFullPathname uintptr
+ xDlOpen uintptr
+ xDlError uintptr
+ xDlSym uintptr
+ xDlClose uintptr
+ xRandomness uintptr
+ xSleep uintptr
+ xCurrentTime uintptr
+ xGetLastError uintptr
+ xCurrentTimeInt64 uintptr
+ xSetSystemCall uintptr
+ xGetSystemCall uintptr
+ xNextSystemCall uintptr
}
-var s__6 = [18]byte{
- 0x5f, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74,
- 0x79,
+// CAPI3REF: OS Interface Object
+//
+// An instance of the sqlite3_vfs object defines the interface between
+// the SQLite core and the underlying operating system. The "vfs"
+// in the name of the object stands for "virtual file system". See
+// the [VFS | VFS documentation] for further information.
+//
+// The VFS interface is sometimes extended by adding new methods onto
+// the end. Each time such an extension occurs, the iVersion field
+// is incremented. The iVersion value started out as 1 in
+// SQLite [version 3.5.0] on [dateof:3.5.0], then increased to 2
+// with SQLite [version 3.7.0] on [dateof:3.7.0], and then increased
+// to 3 with SQLite [version 3.7.6] on [dateof:3.7.6]. Additional fields
+// may be appended to the sqlite3_vfs object and the iVersion value
+// may increase again in future versions of SQLite.
+// Note that due to an oversight, the structure
+// of the sqlite3_vfs object changed in the transition from
+// SQLite [version 3.5.9] to [version 3.6.0] on [dateof:3.6.0]
+// and yet the iVersion field was not increased.
+//
+// The szOsFile field is the size of the subclassed [sqlite3_file]
+// structure used by this VFS. mxPathname is the maximum length of
+// a pathname in this VFS.
+//
+// Registered sqlite3_vfs objects are kept on a linked list formed by
+// the pNext pointer. The [sqlite3_vfs_register()]
+// and [sqlite3_vfs_unregister()] interfaces manage this list
+// in a thread-safe way. The [sqlite3_vfs_find()] interface
+// searches the list. Neither the application code nor the VFS
+// implementation should use the pNext pointer.
+//
+// The pNext field is the only field in the sqlite3_vfs
+// structure that SQLite will ever modify. SQLite will only access
+// or modify this field while holding a particular static mutex.
+// The application should never modify anything within the sqlite3_vfs
+// object once the object has been registered.
+//
+// The zName field holds the name of the VFS module. The name must
+// be unique across all VFS modules.
+//
+// [[sqlite3_vfs.xOpen]]
+// ^SQLite guarantees that the zFilename parameter to xOpen
+// is either a NULL pointer or string obtained
+// from xFullPathname() with an optional suffix added.
+// ^If a suffix is added to the zFilename parameter, it will
+// consist of a single "-" character followed by no more than
+// 11 alphanumeric and/or "-" characters.
+// ^SQLite further guarantees that
+// the string will be valid and unchanged until xClose() is
+// called. Because of the previous sentence,
+// the [sqlite3_file] can safely store a pointer to the
+// filename if it needs to remember the filename for some reason.
+// If the zFilename parameter to xOpen is a NULL pointer then xOpen
+// must invent its own temporary name for the file. ^Whenever the
+// xFilename parameter is NULL it will also be the case that the
+// flags parameter will include [SQLITE_OPEN_DELETEONCLOSE].
+//
+// The flags argument to xOpen() includes all bits set in
+// the flags argument to [sqlite3_open_v2()]. Or if [sqlite3_open()]
+// or [sqlite3_open16()] is used, then flags includes at least
+// [SQLITE_OPEN_READWRITE] | [SQLITE_OPEN_CREATE].
+// If xOpen() opens a file read-only then it sets *pOutFlags to
+// include [SQLITE_OPEN_READONLY]. Other bits in *pOutFlags may be set.
+//
+// ^(SQLite will also add one of the following flags to the xOpen()
+// call, depending on the object being opened:
+//
+// <ul>
+// <li> [SQLITE_OPEN_MAIN_DB]
+// <li> [SQLITE_OPEN_MAIN_JOURNAL]
+// <li> [SQLITE_OPEN_TEMP_DB]
+// <li> [SQLITE_OPEN_TEMP_JOURNAL]
+// <li> [SQLITE_OPEN_TRANSIENT_DB]
+// <li> [SQLITE_OPEN_SUBJOURNAL]
+// <li> [SQLITE_OPEN_MASTER_JOURNAL]
+// <li> [SQLITE_OPEN_WAL]
+// </ul>)^
+//
+// The file I/O implementation can use the object type flags to
+// change the way it deals with files. For example, an application
+// that does not care about crash recovery or rollback might make
+// the open of a journal file a no-op. Writes to this journal would
+// also be no-ops, and any attempt to read the journal would return
+// SQLITE_IOERR. Or the implementation might recognize that a database
+// file will be doing page-aligned sector reads and writes in a random
+// order and set up its I/O subsystem accordingly.
+//
+// SQLite might also add one of the following flags to the xOpen method:
+//
+// <ul>
+// <li> [SQLITE_OPEN_DELETEONCLOSE]
+// <li> [SQLITE_OPEN_EXCLUSIVE]
+// </ul>
+//
+// The [SQLITE_OPEN_DELETEONCLOSE] flag means the file should be
+// deleted when it is closed. ^The [SQLITE_OPEN_DELETEONCLOSE]
+// will be set for TEMP databases and their journals, transient
+// databases, and subjournals.
+//
+// ^The [SQLITE_OPEN_EXCLUSIVE] flag is always used in conjunction
+// with the [SQLITE_OPEN_CREATE] flag, which are both directly
+// analogous to the O_EXCL and O_CREAT flags of the POSIX open()
+// API. The SQLITE_OPEN_EXCLUSIVE flag, when paired with the
+// SQLITE_OPEN_CREATE, is used to indicate that file should always
+// be created, and that it is an error if it already exists.
+// It is <i>not</i> used to indicate the file should be opened
+// for exclusive access.
+//
+// ^At least szOsFile bytes of memory are allocated by SQLite
+// to hold the [sqlite3_file] structure passed as the third
+// argument to xOpen. The xOpen method does not have to
+// allocate the structure; it should just fill it in. Note that
+// the xOpen method must set the sqlite3_file.pMethods to either
+// a valid [sqlite3_io_methods] object or to NULL. xOpen must do
+// this even if the open fails. SQLite expects that the sqlite3_file.pMethods
+// element will be valid after xOpen returns regardless of the success
+// or failure of the xOpen call.
+//
+// [[sqlite3_vfs.xAccess]]
+// ^The flags argument to xAccess() may be [SQLITE_ACCESS_EXISTS]
+// to test for the existence of a file, or [SQLITE_ACCESS_READWRITE] to
+// test whether a file is readable and writable, or [SQLITE_ACCESS_READ]
+// to test whether a file is at least readable. The SQLITE_ACCESS_READ
+// flag is never actually used and is not implemented in the built-in
+// VFSes of SQLite. The file is named by the second argument and can be a
+// directory. The xAccess method returns [SQLITE_OK] on success or some
+// non-zero error code if there is an I/O error or if the name of
+// the file given in the second argument is illegal. If SQLITE_OK
+// is returned, then non-zero or zero is written into *pResOut to indicate
+// whether or not the file is accessible.
+//
+// ^SQLite will always allocate at least mxPathname+1 bytes for the
+// output buffer xFullPathname. The exact size of the output buffer
+// is also passed as a parameter to both methods. If the output buffer
+// is not large enough, [SQLITE_CANTOPEN] should be returned. Since this is
+// handled as a fatal error by SQLite, vfs implementations should endeavor
+// to prevent this by setting mxPathname to a sufficiently large value.
+//
+// The xRandomness(), xSleep(), xCurrentTime(), and xCurrentTimeInt64()
+// interfaces are not strictly a part of the filesystem, but they are
+// included in the VFS structure for completeness.
+// The xRandomness() function attempts to return nBytes bytes
+// of good-quality randomness into zOut. The return value is
+// the actual number of bytes of randomness obtained.
+// The xSleep() method causes the calling thread to sleep for at
+// least the number of microseconds given. ^The xCurrentTime()
+// method returns a Julian Day Number for the current date and time as
+// a floating point value.
+// ^The xCurrentTimeInt64() method returns, as an integer, the Julian
+// Day Number multiplied by 86400000 (the number of milliseconds in
+// a 24-hour day).
+// ^SQLite will use the xCurrentTimeInt64() method to get the current
+// date and time if that method is available (if iVersion is 2 or
+// greater and the function pointer is not NULL) and will fall back
+// to xCurrentTime() if xCurrentTimeInt64() is unavailable.
+//
+// ^The xSetSystemCall(), xGetSystemCall(), and xNestSystemCall() interfaces
+// are not used by the SQLite core. These optional interfaces are provided
+// by some VFSes to facilitate testing of the VFS code. By overriding
+// system calls with functions under its control, a test program can
+// simulate faults and error conditions that would otherwise be difficult
+// or impossible to induce. The set of system calls that can be overridden
+// varies from one VFS to another, and from one version of the same VFS to the
+// next. Applications that use these interfaces must be prepared for any
+// or all of these interfaces to be NULL or for their behavior to change
+// from one release to the next. Applications must not attempt to access
+// any of these methods if the iVersion of the VFS is less than 3.
+type sqlite3_vfs = sqlite3_vfs1 /* sqlite3.h:1364:28 */
+type sqlite3_syscall_ptr = uintptr /* sqlite3.h:1365:14 */
+
+// CAPI3REF: Memory Allocation Routines
+//
+// An instance of this object defines the interface between SQLite
+// and low-level memory allocation routines.
+//
+// This object is used in only one place in the SQLite interface.
+// A pointer to an instance of this object is the argument to
+// [sqlite3_config()] when the configuration option is
+// [SQLITE_CONFIG_MALLOC] or [SQLITE_CONFIG_GETMALLOC].
+// By creating an instance of this object
+// and passing it to [sqlite3_config]([SQLITE_CONFIG_MALLOC])
+// during configuration, an application can specify an alternative
+// memory allocation subsystem for SQLite to use for all of its
+// dynamic memory needs.
+//
+// Note that SQLite comes with several [built-in memory allocators]
+// that are perfectly adequate for the overwhelming majority of applications
+// and that this object is only useful to a tiny minority of applications
+// with specialized memory allocation requirements. This object is
+// also used during testing of SQLite in order to specify an alternative
+// memory allocator that simulates memory out-of-memory conditions in
+// order to verify that SQLite recovers gracefully from such
+// conditions.
+//
+// The xMalloc, xRealloc, and xFree methods must work like the
+// malloc(), realloc() and free() functions from the standard C library.
+// ^SQLite guarantees that the second argument to
+// xRealloc is always a value returned by a prior call to xRoundup.
+//
+// xSize should return the allocated size of a memory allocation
+// previously obtained from xMalloc or xRealloc. The allocated size
+// is always at least as big as the requested size but may be larger.
+//
+// The xRoundup method returns what would be the allocated size of
+// a memory allocation given a particular requested size. Most memory
+// allocators round up memory allocations at least to the next multiple
+// of 8. Some allocators round up to a larger multiple or to a power of 2.
+// Every memory allocation request coming in through [sqlite3_malloc()]
+// or [sqlite3_realloc()] first calls xRoundup. If xRoundup returns 0,
+// that causes the corresponding memory allocation to fail.
+//
+// The xInit method initializes the memory allocator. For example,
+// it might allocate any required mutexes or initialize internal data
+// structures. The xShutdown method is invoked (indirectly) by
+// [sqlite3_shutdown()] and should deallocate any resources acquired
+// by xInit. The pAppData pointer is used as the only parameter to
+// xInit and xShutdown.
+//
+// SQLite holds the [SQLITE_MUTEX_STATIC_MASTER] mutex when it invokes
+// the xInit method, so the xInit method need not be threadsafe. The
+// xShutdown method is only called from [sqlite3_shutdown()] so it does
+// not need to be threadsafe either. For all other methods, SQLite
+// holds the [SQLITE_MUTEX_STATIC_MEM] mutex as long as the
+// [SQLITE_CONFIG_MEMSTATUS] configuration option is turned on (which
+// it is by default) and so the methods are automatically serialized.
+// However, if [SQLITE_CONFIG_MEMSTATUS] is disabled, then the other
+// methods must be threadsafe or else make their own arrangements for
+// serialization.
+//
+// SQLite will never invoke xInit() more than once without an intervening
+// call to xShutdown().
+type sqlite3_mem_methods1 = struct {
+ xMalloc uintptr
+ xFree uintptr
+ xRealloc uintptr
+ xSize uintptr
+ xRoundup uintptr
+ xInit uintptr
+ xShutdown uintptr
+ pAppData uintptr
}
-var s_g [128]byte
-
-func s_printWithPrefix(t *crt.TLS, _v1 int64, _v2 int64, _v3 int64) {
- bp := t.Alloc(48)
- defer t.Free(48)
- var _v15 int32 // %t10
- var _v17 int64 // %t12
- var _v18 int32 // %t13
- var _v19 int64 // %t14
- var _v20 int64 // %t15
- var _v21 int64 // %t16
- var _v22 int64 // %t17
- var _v23 int32 // %t18
- var _v24 int32 // %t19
- var _v7 int64 // %t2
- var _v25 int64 // %t20
- var _v26 int64 // %t21
- var _v27 int64 // %t22
- var _v28 int64 // %t23
- var _v29 int32 // %t24
- var _v30 int32 // %t25
- var _v32 int32 // %t27
- var _v33 int32 // %t28
- var _v34 int32 // %t29
- var _v8 int32 // %t3
- var _v35 int64 // %t30
- var _v36 int64 // %t31
- var _v37 int64 // %t32
- var _v38 int64 // %t33
- var _v39 int32 // %t34
- var _v40 int32 // %t35
- var _v42 int32 // %t37
- var _v43 int32 // %t38
- var _v44 int64 // %t39
- var _v45 int32 // %t40
- var _v46 int32 // %t41
- var _v50 int32 // %t45
- var _v51 int64 // %t46
- var _v53 int32 // %t48
- var _v54 int64 // %t49
- var _v55 int64 // %t50
- var _v56 int64 // %t51
- var _v57 int64 // %t52
- var _v61 int64 // %t56
- var _v62 int64 // %t57
- var _v63 int32 // %t58
- var _v64 int32 // %t59
- var _v66 int32 // %t61
- var _v70 int64 // %t65
- var _v71 int64 // %t66
- var _v72 int32 // %t67
- var _v73 int32 // %t68
- var _v12 int64 // %t7
- var _v75 int32 // %t70
- var _v76 int32 // %t71
- var _v77 int64 // %t72
- var _v78 int64 // %t73
- var _v79 int64 // %t74
- var _v13 int64 // %t8
- var _v14 int32 // %t9
- var _v4 = int64(bp + 24) // %v3
- var _v6 = int64(bp + 32) // %v4
- *(*int64)(unsafe.Pointer(uintptr(_v4))) = _v3
- goto l2
-l2:
- _v7 = *(*int64)(unsafe.Pointer(uintptr(_v4)))
- _v8 = crt.Bool32(int64(_v7) != int64(int64(0)))
- goto l3
-l3:
- if _v8 != 0 {
- goto l4
- }
- goto l33
-l33:
- _v15 = 0
- goto l7
-l4:
- _v12 = *(*int64)(unsafe.Pointer(uintptr(_v4)))
- _v13 = int64(_v12 + int64(0))
- _v14 = int32(*(*int8)(unsafe.Pointer(uintptr(_v13))))
- goto l5
-l5:
- if _v14 != 0 {
- goto l6
- }
- goto l34
-l34:
- _v15 = 0
- goto l7
-l6:
- _v15 = 1
- goto l7
-l7:
- if _v15 != 0 {
- goto l8
- }
- goto l31
-l8:
- _v17 = int64(_v6 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v17))) = 0
- goto l9
-l9:
- _v18 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v19 = int64(int32(_v18))
- _v20 = int64(_v19 * int64(1))
- _v21 = *(*int64)(unsafe.Pointer(uintptr(_v4)))
- _v22 = int64(_v21 + _v20)
- _v23 = int32(*(*int8)(unsafe.Pointer(uintptr(_v22))))
- goto l10
-l10:
- if _v23 != 0 {
- goto l11
- }
- goto l35
-l35:
- _v33 = 0
- goto l14
-l11:
- _v24 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v25 = int64(int32(_v24))
- _v26 = int64(_v25 * int64(1))
- _v27 = *(*int64)(unsafe.Pointer(uintptr(_v4)))
- _v28 = int64(_v27 + _v26)
- _v29 = int32(*(*int8)(unsafe.Pointer(uintptr(_v28))))
- _v30 = int32(int8(_v29))
- _v32 = crt.Bool32(int32(_v30) != int32(10))
- goto l12
-l12:
- if _v32 != 0 {
- goto l13
- }
- goto l36
-l36:
- _v33 = 0
- goto l14
-l13:
- _v33 = 1
- goto l14
-l14:
- goto l15
-l15:
- if _v33 != 0 {
- goto l16
- }
- goto l37
-l37:
- _v43 = 0
- goto l19
-l16:
- _v34 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v35 = int64(int32(_v34))
- _v36 = int64(_v35 * int64(1))
- _v37 = *(*int64)(unsafe.Pointer(uintptr(_v4)))
- _v38 = int64(_v37 + _v36)
- _v39 = int32(*(*int8)(unsafe.Pointer(uintptr(_v38))))
- _v40 = int32(int8(_v39))
- _v42 = crt.Bool32(int32(_v40) != int32(13))
- goto l17
-l17:
- if _v42 != 0 {
- goto l18
- }
- goto l38
-l38:
- _v43 = 0
- goto l19
-l18:
- _v43 = 1
- goto l19
-l19:
- if _v43 != 0 {
- goto l20
- }
- goto l22
-l20:
- goto l21
-l21:
- _v44 = int64(_v6 + int64(0))
- _v45 = *(*int32)(unsafe.Pointer(uintptr(_v44)))
- _v46 = int32(int32(_v45) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v44))) = _v46
- goto l9
-l22:
- _v50 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v51 = *(*int64)(unsafe.Pointer(uintptr(_v4)))
- *(*int64)(unsafe.Pointer(bp + 0)) = _v2
-
- *(*int32)(unsafe.Pointer(bp + 8)) = _v50
-
- *(*int64)(unsafe.Pointer(bp + 16)) = _v51
-
- _ = crt.Xfprintf(t, _v1, int64(uintptr(unsafe.Pointer(&s__8))), bp+0)
- _v53 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v54 = int64(int32(_v53))
- _v55 = int64(_v4 + int64(0))
- _v56 = *(*int64)(unsafe.Pointer(uintptr(_v55)))
- _v57 = int64(_v56 + _v54)
- *(*int64)(unsafe.Pointer(uintptr(_v55))) = _v57
- goto l23
-l23:
- _v61 = *(*int64)(unsafe.Pointer(uintptr(_v4)))
- _v62 = int64(_v61 + int64(0))
- _v63 = int32(*(*int8)(unsafe.Pointer(uintptr(_v62))))
- _v64 = int32(int8(_v63))
- _v66 = crt.Bool32(int32(_v64) == int32(10))
- goto l24
-l24:
- if _v66 != 0 {
- goto l39
- }
- goto l25
-l39:
- _v76 = 1
- goto l28
-l25:
- _v70 = *(*int64)(unsafe.Pointer(uintptr(_v4)))
- _v71 = int64(_v70 + int64(0))
- _v72 = int32(*(*int8)(unsafe.Pointer(uintptr(_v71))))
- _v73 = int32(int8(_v72))
- _v75 = crt.Bool32(int32(_v73) == int32(13))
- goto l26
-l26:
- if _v75 != 0 {
- goto l40
- }
- goto l27
-l40:
- _v76 = 1
- goto l28
-l27:
- _v76 = 0
- goto l28
-l28:
- if _v76 != 0 {
- goto l29
- }
- goto l30
-l29:
- _v77 = int64(_v4 + int64(0))
- _v78 = *(*int64)(unsafe.Pointer(uintptr(_v77)))
- _v79 = int64(_v78 + int64(1))
- *(*int64)(unsafe.Pointer(uintptr(_v77))) = _v79
- goto l23
-l30:
- goto l2
-l31:
- goto l32
-l32:
+// CAPI3REF: Memory Allocation Routines
+//
+// An instance of this object defines the interface between SQLite
+// and low-level memory allocation routines.
+//
+// This object is used in only one place in the SQLite interface.
+// A pointer to an instance of this object is the argument to
+// [sqlite3_config()] when the configuration option is
+// [SQLITE_CONFIG_MALLOC] or [SQLITE_CONFIG_GETMALLOC].
+// By creating an instance of this object
+// and passing it to [sqlite3_config]([SQLITE_CONFIG_MALLOC])
+// during configuration, an application can specify an alternative
+// memory allocation subsystem for SQLite to use for all of its
+// dynamic memory needs.
+//
+// Note that SQLite comes with several [built-in memory allocators]
+// that are perfectly adequate for the overwhelming majority of applications
+// and that this object is only useful to a tiny minority of applications
+// with specialized memory allocation requirements. This object is
+// also used during testing of SQLite in order to specify an alternative
+// memory allocator that simulates memory out-of-memory conditions in
+// order to verify that SQLite recovers gracefully from such
+// conditions.
+//
+// The xMalloc, xRealloc, and xFree methods must work like the
+// malloc(), realloc() and free() functions from the standard C library.
+// ^SQLite guarantees that the second argument to
+// xRealloc is always a value returned by a prior call to xRoundup.
+//
+// xSize should return the allocated size of a memory allocation
+// previously obtained from xMalloc or xRealloc. The allocated size
+// is always at least as big as the requested size but may be larger.
+//
+// The xRoundup method returns what would be the allocated size of
+// a memory allocation given a particular requested size. Most memory
+// allocators round up memory allocations at least to the next multiple
+// of 8. Some allocators round up to a larger multiple or to a power of 2.
+// Every memory allocation request coming in through [sqlite3_malloc()]
+// or [sqlite3_realloc()] first calls xRoundup. If xRoundup returns 0,
+// that causes the corresponding memory allocation to fail.
+//
+// The xInit method initializes the memory allocator. For example,
+// it might allocate any required mutexes or initialize internal data
+// structures. The xShutdown method is invoked (indirectly) by
+// [sqlite3_shutdown()] and should deallocate any resources acquired
+// by xInit. The pAppData pointer is used as the only parameter to
+// xInit and xShutdown.
+//
+// SQLite holds the [SQLITE_MUTEX_STATIC_MASTER] mutex when it invokes
+// the xInit method, so the xInit method need not be threadsafe. The
+// xShutdown method is only called from [sqlite3_shutdown()] so it does
+// not need to be threadsafe either. For all other methods, SQLite
+// holds the [SQLITE_MUTEX_STATIC_MEM] mutex as long as the
+// [SQLITE_CONFIG_MEMSTATUS] configuration option is turned on (which
+// it is by default) and so the methods are automatically serialized.
+// However, if [SQLITE_CONFIG_MEMSTATUS] is disabled, then the other
+// methods must be threadsafe or else make their own arrangements for
+// serialization.
+//
+// SQLite will never invoke xInit() more than once without an intervening
+// call to xShutdown().
+type sqlite3_mem_methods = sqlite3_mem_methods1 /* sqlite3.h:1662:36 */
+
+// CAPI3REF: Constants Defining Special Destructor Behavior
+//
+// These are special values for the destructor that is passed in as the
+// final argument to routines like [sqlite3_result_blob()]. ^If the destructor
+// argument is SQLITE_STATIC, it means that the content pointer is constant
+// and will never change. It does not need to be destroyed. ^The
+// SQLITE_TRANSIENT value means that the content will likely change in
+// the near future and that SQLite should make its own private copy of
+// the content before returning.
+//
+// The typedef is necessary to work around problems in certain
+// C++ compilers.
+type sqlite3_destructor_type = uintptr /* sqlite3.h:5619:14 */
+
+// The interface to the virtual-table mechanism is currently considered
+// to be experimental. The interface might change in incompatible ways.
+// If this is a problem for you, do not use the interface at this time.
+//
+// When the virtual-table mechanism stabilizes, we will declare the
+// interface fixed, support it indefinitely, and remove this comment.
+
+// Structures used by the virtual table interface
+type sqlite3_vtab1 = struct {
+ pModule uintptr
+ nRef int32
+ zErrMsg uintptr
}
-var s__7 = [16]byte{0x70, 0x72, 0x69, 0x6e, 0x74, 0x57, 0x69, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78}
-
-var s__8 = [8]byte{0x25, 0x73, 0x25, 0x2e, 0x2a, 0x73, 0x0a}
-
-func s_safe_strcmp(t *crt.TLS, _v1 int64, _v2 int64) int32 {
- var _v16 int32 // %t14
- var _v20 int32 // %t18
- var _v5 int32 // %t3
- var _v10 int32 // %t8
- _v5 = crt.Bool32(_v1 == _v2)
- if _v5 != 0 {
- goto l2
- }
- goto l4
-l2:
- return 0
-l4:
- _v10 = crt.Bool32(_v1 == int64(0))
- if _v10 != 0 {
- goto l5
- }
- goto l7
-l5:
- return -1
-l7:
- _v16 = crt.Bool32(_v2 == int64(0))
- if _v16 != 0 {
- goto l8
- }
- goto l10
-l8:
- return 1
-l10:
- _v20 = crt.Xstrcmp(t, _v1, _v2)
- return _v20
+// The interface to the virtual-table mechanism is currently considered
+// to be experimental. The interface might change in incompatible ways.
+// If this is a problem for you, do not use the interface at this time.
+//
+// When the virtual-table mechanism stabilizes, we will declare the
+// interface fixed, support it indefinitely, and remove this comment.
+
+// Structures used by the virtual table interface
+type sqlite3_vtab = sqlite3_vtab1 /* sqlite3.h:6687:29 */
+type sqlite3_index_info1 = struct {
+ nConstraint int32
+ aConstraint uintptr
+ nOrderBy int32
+ aOrderBy uintptr
+ aConstraintUsage uintptr
+ idxNum int32
+ idxStr uintptr
+ needToFreeIdxStr int32
+ orderByConsumed int32
+ estimatedCost float64
+ estimatedRows sqlite3_int64
+ idxFlags int32
+ colUsed sqlite3_uint64
}
-var s__9 = [12]byte{0x73, 0x61, 0x66, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x63, 0x6d, 0x70}
-
-func Xstrglob(t *crt.TLS, _v1 int64, _v2 int64) int32 {
- bp := t.Alloc(48)
- defer t.Free(48)
- var _v109 int32 // %t100
- var _v111 int32 // %t102
- var _v113 int32 // %t104
- var _v116 int64 // %t107
- var _v118 int64 // %t109
- var _v20 int32 // %t11
- var _v119 int64 // %t110
- var _v120 int64 // %t111
- var _v121 int64 // %t112
- var _v122 int32 // %t113
- var _v123 int32 // %t114
- var _v124 int64 // %t115
- var _v125 int32 // %t116
- var _v127 int32 // %t118
- var _v21 int32 // %t12
- var _v129 int64 // %t120
- var _v130 int64 // %t121
- var _v131 int64 // %t122
- var _v132 int32 // %t123
- var _v133 int32 // %t124
- var _v134 int64 // %t125
- var _v135 int32 // %t126
- var _v137 int32 // %t128
- var _v139 int64 // %t130
- var _v140 int64 // %t131
- var _v141 int64 // %t132
- var _v142 int64 // %t133
- var _v143 int32 // %t134
- var _v144 int32 // %t135
- var _v145 int64 // %t136
- var _v146 int32 // %t137
- var _v148 int32 // %t139
- var _v23 int32 // %t14
- var _v149 int32 // %t140
- var _v151 int32 // %t142
- var _v153 int64 // %t144
- var _v154 int64 // %t145
- var _v155 int64 // %t146
- var _v156 int64 // %t147
- var _v157 int32 // %t148
- var _v158 int32 // %t149
- var _v24 int64 // %t15
- var _v159 int64 // %t150
- var _v160 int32 // %t151
- var _v161 int32 // %t152
- var _v163 int32 // %t154
- var _v164 int32 // %t155
- var _v165 int32 // %t156
- var _v167 int32 // %t158
- var _v25 int64 // %t16
- var _v171 int64 // %t162
- var _v172 int64 // %t163
- var _v173 int32 // %t164
- var _v174 int32 // %t165
- var _v176 int32 // %t167
- var _v177 int32 // %t168
- var _v26 int64 // %t17
- var _v181 int64 // %t172
- var _v182 int64 // %t173
- var _v183 int32 // %t174
- var _v184 int32 // %t175
- var _v186 int32 // %t177
- var _v187 int32 // %t178
- var _v188 int32 // %t179
- var _v27 int32 // %t18
- var _v190 int32 // %t181
- var _v191 int32 // %t182
- var _v192 int64 // %t183
- var _v193 int64 // %t184
- var _v194 int64 // %t185
- var _v195 int32 // %t186
- var _v196 int32 // %t187
- var _v197 int64 // %t188
- var _v198 int32 // %t189
- var _v28 int32 // %t19
- var _v199 int32 // %t190
- var _v200 int32 // %t191
- var _v201 int32 // %t192
- var _v202 int32 // %t193
- var _v203 int32 // %t194
- var _v204 int32 // %t195
- var _v206 int64 // %t197
- var _v208 int64 // %t199
- var _v29 int64 // %t20
- var _v209 int32 // %t200
- var _v210 int32 // %t201
- var _v211 int32 // %t202
- var _v213 int64 // %t204
- var _v214 int32 // %t205
- var _v215 int64 // %t206
- var _v216 int64 // %t207
- var _v217 int64 // %t208
- var _v218 int64 // %t209
- var _v30 int32 // %t21
- var _v219 int32 // %t210
- var _v220 int32 // %t211
- var _v221 int64 // %t212
- var _v222 int32 // %t213
- var _v224 int32 // %t215
- var _v225 int32 // %t216
- var _v226 int32 // %t217
- var _v227 int32 // %t218
- var _v229 int32 // %t220
- var _v230 int32 // %t221
- var _v232 int32 // %t223
- var _v234 int32 // %t225
- var _v238 int64 // %t229
- var _v32 int32 // %t23
- var _v239 int64 // %t230
- var _v240 int32 // %t231
- var _v241 int32 // %t232
- var _v243 int32 // %t234
- var _v247 int64 // %t238
- var _v248 int64 // %t239
- var _v33 int32 // %t24
- var _v249 int32 // %t240
- var _v250 int32 // %t241
- var _v252 int32 // %t243
- var _v253 int32 // %t244
- var _v257 int64 // %t248
- var _v258 int64 // %t249
- var _v259 int32 // %t250
- var _v260 int32 // %t251
- var _v261 int64 // %t252
- var _v262 int64 // %t253
- var _v263 int64 // %t254
- var _v264 int64 // %t255
- var _v265 int64 // %t256
- var _v266 int32 // %t257
- var _v267 int32 // %t258
- var _v35 int32 // %t26
- var _v271 int32 // %t262
- var _v272 int32 // %t263
- var _v273 int64 // %t264
- var _v274 int64 // %t265
- var _v275 int64 // %t266
- var _v36 int32 // %t27
- var _v279 int64 // %t270
- var _v280 int64 // %t271
- var _v281 int32 // %t272
- var _v282 int32 // %t273
- var _v283 int64 // %t274
- var _v284 int64 // %t275
- var _v285 int64 // %t276
- var _v286 int64 // %t277
- var _v287 int64 // %t278
- var _v288 int32 // %t279
- var _v37 int32 // %t28
- var _v289 int32 // %t280
- var _v293 int32 // %t284
- var _v294 int32 // %t285
- var _v296 int64 // %t287
- var _v297 int64 // %t288
- var _v298 int64 // %t289
- var _v302 int64 // %t293
- var _v303 int64 // %t294
- var _v304 int32 // %t295
- var _v305 int32 // %t296
- var _v306 int64 // %t297
- var _v307 int64 // %t298
- var _v308 int64 // %t299
- var _v12 int64 // %t3
- var _v39 int32 // %t30
- var _v309 int64 // %t300
- var _v310 int64 // %t301
- var _v311 int32 // %t302
- var _v312 int32 // %t303
- var _v316 int32 // %t307
- var _v317 int64 // %t308
- var _v318 int64 // %t309
- var _v40 int64 // %t31
- var _v319 int64 // %t310
- var _v320 int32 // %t311
- var _v321 int64 // %t312
- var _v322 int64 // %t313
- var _v323 int64 // %t314
- var _v324 int32 // %t315
- var _v325 int32 // %t316
- var _v326 int32 // %t317
- var _v328 int64 // %t319
- var _v41 int64 // %t32
- var _v329 int32 // %t320
- var _v330 int32 // %t321
- var _v332 int32 // %t323
- var _v42 int64 // %t33
- var _v43 int32 // %t34
- var _v44 int32 // %t35
- var _v46 int32 // %t37
- var _v47 int32 // %t38
- var _v13 int64 // %t4
- var _v49 int32 // %t40
- var _v51 int32 // %t42
- var _v53 int32 // %t44
- var _v55 int32 // %t46
- var _v56 int64 // %t47
- var _v57 int32 // %t48
- var _v58 int64 // %t49
- var _v14 int64 // %t5
- var _v61 int64 // %t52
- var _v62 int64 // %t53
- var _v63 int32 // %t54
- var _v64 int32 // %t55
- var _v65 int64 // %t56
- var _v66 int64 // %t57
- var _v67 int64 // %t58
- var _v68 int64 // %t59
- var _v15 int32 // %t6
- var _v69 int32 // %t60
- var _v70 int32 // %t61
- var _v72 int32 // %t63
- var _v73 int64 // %t64
- var _v74 int64 // %t65
- var _v75 int64 // %t66
- var _v76 int32 // %t67
- var _v77 int32 // %t68
- var _v78 int64 // %t69
- var _v16 int32 // %t7
- var _v79 int32 // %t70
- var _v81 int32 // %t72
- var _v82 int32 // %t73
- var _v83 int32 // %t74
- var _v84 int32 // %t75
- var _v85 int64 // %t76
- var _v86 int64 // %t77
- var _v87 int64 // %t78
- var _v88 int32 // %t79
- var _v17 int64 // %t8
- var _v89 int32 // %t80
- var _v90 int64 // %t81
- var _v91 int32 // %t82
- var _v93 int32 // %t84
- var _v95 int64 // %t86
- var _v96 int64 // %t87
- var _v97 int32 // %t88
- var _v18 int32 // %t9
- var _v100 int32 // %t91
- var _v102 int32 // %t93
- var _v103 int64 // %t94
- var _v104 int64 // %t95
- var _v105 int64 // %t96
- var _v106 int32 // %t97
- var _v107 int32 // %t98
- var _v3 = int64(bp + 0) // %v1
- var _v5 = int64(bp + 8) // %v2
- var _v7 = int64(bp + 16) // %v3
- var _v8 = int64(bp + 20) // %v4
- var _v9 = int64(bp + 24) // %v5
- var _v10 = int64(bp + 28) // %v6
- var _v11 = int64(bp + 32) // %v7
- *(*int64)(unsafe.Pointer(uintptr(_v3))) = _v1
- *(*int64)(unsafe.Pointer(uintptr(_v5))) = _v2
- goto l2
-l2:
- _v12 = int64(_v3 + int64(0))
- _v13 = *(*int64)(unsafe.Pointer(uintptr(_v12)))
- _v14 = int64(_v13 + int64(1))
- *(*int64)(unsafe.Pointer(uintptr(_v12))) = _v14
- _v15 = int32(*(*int8)(unsafe.Pointer(uintptr(_v13))))
- _v16 = int32(int8(_v15))
- _v17 = int64(_v7 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v17))) = _v16
- _v18 = *(*int32)(unsafe.Pointer(uintptr(_v17)))
- _v20 = crt.Bool32(int32(_v18) != int32(0))
- if _v20 != 0 {
- goto l3
- }
- goto l139
-l3:
- _v21 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v23 = crt.Bool32(int32(_v21) == int32(42))
- if _v23 != 0 {
- goto l4
- }
- goto l49
-l4:
- goto l5
-l5:
- _v24 = int64(_v3 + int64(0))
- _v25 = *(*int64)(unsafe.Pointer(uintptr(_v24)))
- _v26 = int64(_v25 + int64(1))
- *(*int64)(unsafe.Pointer(uintptr(_v24))) = _v26
- _v27 = int32(*(*int8)(unsafe.Pointer(uintptr(_v25))))
- _v28 = int32(int8(_v27))
- _v29 = int64(_v7 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v29))) = _v28
- _v30 = *(*int32)(unsafe.Pointer(uintptr(_v29)))
- _v32 = crt.Bool32(int32(_v30) == int32(42))
- goto l6
-l6:
- if _v32 != 0 {
- goto l142
- }
- goto l7
-l142:
- _v36 = 1
- goto l10
-l7:
- _v33 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v35 = crt.Bool32(int32(_v33) == int32(63))
- goto l8
-l8:
- if _v35 != 0 {
- goto l143
- }
- goto l9
-l143:
- _v36 = 1
- goto l10
-l9:
- _v36 = 0
- goto l10
-l10:
- if _v36 != 0 {
- goto l11
- }
- goto l20
-l11:
- _v37 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v39 = crt.Bool32(int32(_v37) == int32(63))
- goto l12
-l12:
- if _v39 != 0 {
- goto l13
- }
- goto l144
-l144:
- _v47 = 0
- goto l16
-l13:
- _v40 = int64(_v5 + int64(0))
- _v41 = *(*int64)(unsafe.Pointer(uintptr(_v40)))
- _v42 = int64(_v41 + int64(1))
- *(*int64)(unsafe.Pointer(uintptr(_v40))) = _v42
- _v43 = int32(*(*int8)(unsafe.Pointer(uintptr(_v41))))
- _v44 = int32(int8(_v43))
- _v46 = crt.Bool32(int32(_v44) == int32(0))
- goto l14
-l14:
- if _v46 != 0 {
- goto l15
- }
- goto l145
-l145:
- _v47 = 0
- goto l16
-l15:
- _v47 = 1
- goto l16
-l16:
- if _v47 != 0 {
- goto l17
- }
- goto l19
-l17:
- return 0
-l19:
- goto l5
-l20:
- _v49 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v51 = crt.Bool32(int32(_v49) == int32(0))
- if _v51 != 0 {
- goto l21
- }
- goto l23
-l21:
- return 1
-l23:
- _v53 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v55 = crt.Bool32(int32(_v53) == int32(91))
- if _v55 != 0 {
- goto l24
- }
- goto l34
-l24:
- goto l25
-l25:
- _v56 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v57 = int32(*(*int8)(unsafe.Pointer(uintptr(_v56))))
- goto l26
-l26:
- if _v57 != 0 {
- goto l27
- }
- goto l146
-l146:
- _v64 = 0
- goto l30
-l27:
- _v58 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v61 = int64(_v58 - int64(1))
- _v62 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v63 = Xstrglob(t, _v61, _v62)
- goto l28
-l28:
- if _v63 != 0 {
- goto l29
- }
- goto l147
-l147:
- _v64 = 0
- goto l30
-l29:
- _v64 = 1
- goto l30
-l30:
- if _v64 != 0 {
- goto l31
- }
- goto l32
-l31:
- _v65 = int64(_v5 + int64(0))
- _v66 = *(*int64)(unsafe.Pointer(uintptr(_v65)))
- _v67 = int64(_v66 + int64(1))
- *(*int64)(unsafe.Pointer(uintptr(_v65))) = _v67
- goto l25
-l32:
- _v68 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v69 = int32(*(*int8)(unsafe.Pointer(uintptr(_v68))))
- _v70 = int32(int8(_v69))
- _v72 = crt.Bool32(int32(_v70) != int32(0))
- return _v72
-l34:
- goto l35
-l35:
- goto l36
-l36:
- _v73 = int64(_v5 + int64(0))
- _v74 = *(*int64)(unsafe.Pointer(uintptr(_v73)))
- _v75 = int64(_v74 + int64(1))
- *(*int64)(unsafe.Pointer(uintptr(_v73))) = _v75
- _v76 = int32(*(*int8)(unsafe.Pointer(uintptr(_v74))))
- _v77 = int32(int8(_v76))
- _v78 = int64(_v8 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v78))) = _v77
- _v79 = *(*int32)(unsafe.Pointer(uintptr(_v78)))
- _v81 = crt.Bool32(int32(_v79) != int32(0))
- if _v81 != 0 {
- goto l37
- }
- goto l47
-l37:
- goto l38
-l38:
- _v82 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v83 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v84 = crt.Bool32(int32(_v82) != int32(_v83))
- if _v84 != 0 {
- goto l39
- }
- goto l43
-l39:
- _v85 = int64(_v5 + int64(0))
- _v86 = *(*int64)(unsafe.Pointer(uintptr(_v85)))
- _v87 = int64(_v86 + int64(1))
- *(*int64)(unsafe.Pointer(uintptr(_v85))) = _v87
- _v88 = int32(*(*int8)(unsafe.Pointer(uintptr(_v86))))
- _v89 = int32(int8(_v88))
- _v90 = int64(_v8 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v90))) = _v89
- _v91 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v93 = crt.Bool32(int32(_v91) == int32(0))
- if _v93 != 0 {
- goto l40
- }
- goto l42
-l40:
- return 0
-l42:
- goto l38
-l43:
- _v95 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v96 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v97 = Xstrglob(t, _v95, _v96)
- if _v97 != 0 {
- goto l44
- }
- goto l46
-l44:
- return 1
-l46:
- goto l36
-l47:
- return 0
-l49:
- _v100 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v102 = crt.Bool32(int32(_v100) == int32(63))
- if _v102 != 0 {
- goto l50
- }
- goto l54
-l50:
- _v103 = int64(_v5 + int64(0))
- _v104 = *(*int64)(unsafe.Pointer(uintptr(_v103)))
- _v105 = int64(_v104 + int64(1))
- *(*int64)(unsafe.Pointer(uintptr(_v103))) = _v105
- _v106 = int32(*(*int8)(unsafe.Pointer(uintptr(_v104))))
- _v107 = int32(int8(_v106))
- _v109 = crt.Bool32(int32(_v107) == int32(0))
- if _v109 != 0 {
- goto l51
- }
- goto l53
-l51:
- return 0
-l53:
- goto l137
-l54:
- _v111 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v113 = crt.Bool32(int32(_v111) == int32(91))
- if _v113 != 0 {
- goto l55
- }
- goto l108
-l55:
- *(*int32)(unsafe.Pointer(uintptr(_v11))) = 0
- _v116 = int64(_v10 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v116))) = 0
- _v118 = int64(_v9 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v118))) = 0
- _v119 = int64(_v5 + int64(0))
- _v120 = *(*int64)(unsafe.Pointer(uintptr(_v119)))
- _v121 = int64(_v120 + int64(1))
- *(*int64)(unsafe.Pointer(uintptr(_v119))) = _v121
- _v122 = int32(*(*int8)(unsafe.Pointer(uintptr(_v120))))
- _v123 = int32(int8(_v122))
- _v124 = int64(_v7 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v124))) = _v123
- _v125 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v127 = crt.Bool32(int32(_v125) == int32(0))
- if _v127 != 0 {
- goto l56
- }
- goto l58
-l56:
- return 0
-l58:
- _v129 = int64(_v3 + int64(0))
- _v130 = *(*int64)(unsafe.Pointer(uintptr(_v129)))
- _v131 = int64(_v130 + int64(1))
- *(*int64)(unsafe.Pointer(uintptr(_v129))) = _v131
- _v132 = int32(*(*int8)(unsafe.Pointer(uintptr(_v130))))
- _v133 = int32(int8(_v132))
- _v134 = int64(_v8 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v134))) = _v133
- _v135 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v137 = crt.Bool32(int32(_v135) == int32(94))
- if _v137 != 0 {
- goto l59
- }
- goto l60
-l59:
- _v139 = int64(_v9 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v139))) = 1
- _v140 = int64(_v3 + int64(0))
- _v141 = *(*int64)(unsafe.Pointer(uintptr(_v140)))
- _v142 = int64(_v141 + int64(1))
- *(*int64)(unsafe.Pointer(uintptr(_v140))) = _v142
- _v143 = int32(*(*int8)(unsafe.Pointer(uintptr(_v141))))
- _v144 = int32(int8(_v143))
- _v145 = int64(_v8 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v145))) = _v144
- goto l60
-l60:
- _v146 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v148 = crt.Bool32(int32(_v146) == int32(93))
- if _v148 != 0 {
- goto l61
- }
- goto l148
-l148:
- goto l64
-l61:
- _v149 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v151 = crt.Bool32(int32(_v149) == int32(93))
- if _v151 != 0 {
- goto l62
- }
- goto l63
-l62:
- _v153 = int64(_v10 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v153))) = 1
- goto l63
-l63:
- _v154 = int64(_v3 + int64(0))
- _v155 = *(*int64)(unsafe.Pointer(uintptr(_v154)))
- _v156 = int64(_v155 + int64(1))
- *(*int64)(unsafe.Pointer(uintptr(_v154))) = _v156
- _v157 = int32(*(*int8)(unsafe.Pointer(uintptr(_v155))))
- _v158 = int32(int8(_v157))
- _v159 = int64(_v8 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v159))) = _v158
- goto l64
-l64:
- goto l65
-l65:
- _v160 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- goto l66
-l66:
- if _v160 != 0 {
- goto l67
- }
- goto l149
-l149:
- _v164 = 0
- goto l70
-l67:
- _v161 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v163 = crt.Bool32(int32(_v161) != int32(93))
- goto l68
-l68:
- if _v163 != 0 {
- goto l69
- }
- goto l150
-l150:
- _v164 = 0
- goto l70
-l69:
- _v164 = 1
- goto l70
-l70:
- if _v164 != 0 {
- goto l71
- }
- goto l99
-l71:
- _v165 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v167 = crt.Bool32(int32(_v165) == int32(45))
- goto l72
-l72:
- if _v167 != 0 {
- goto l73
- }
- goto l151
-l151:
- _v177 = 0
- goto l76
-l73:
- _v171 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v172 = int64(_v171 + int64(0))
- _v173 = int32(*(*int8)(unsafe.Pointer(uintptr(_v172))))
- _v174 = int32(int8(_v173))
- _v176 = crt.Bool32(int32(_v174) != int32(93))
- goto l74
-l74:
- if _v176 != 0 {
- goto l75
- }
- goto l152
-l152:
- _v177 = 0
- goto l76
-l75:
- _v177 = 1
- goto l76
-l76:
- goto l77
-l77:
- if _v177 != 0 {
- goto l78
- }
- goto l153
-l153:
- _v187 = 0
- goto l81
-l78:
- _v181 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v182 = int64(_v181 + int64(0))
- _v183 = int32(*(*int8)(unsafe.Pointer(uintptr(_v182))))
- _v184 = int32(int8(_v183))
- _v186 = crt.Bool32(int32(_v184) != int32(0))
- goto l79
-l79:
- if _v186 != 0 {
- goto l80
- }
- goto l154
-l154:
- _v187 = 0
- goto l81
-l80:
- _v187 = 1
- goto l81
-l81:
- goto l82
-l82:
- if _v187 != 0 {
- goto l83
- }
- goto l155
-l155:
- _v191 = 0
- goto l86
-l83:
- _v188 = *(*int32)(unsafe.Pointer(uintptr(_v11)))
- _v190 = crt.Bool32(int32(_v188) > int32(0))
- goto l84
-l84:
- if _v190 != 0 {
- goto l85
- }
- goto l156
-l156:
- _v191 = 0
- goto l86
-l85:
- _v191 = 1
- goto l86
-l86:
- if _v191 != 0 {
- goto l87
- }
- goto l95
-l87:
- _v192 = int64(_v3 + int64(0))
- _v193 = *(*int64)(unsafe.Pointer(uintptr(_v192)))
- _v194 = int64(_v193 + int64(1))
- *(*int64)(unsafe.Pointer(uintptr(_v192))) = _v194
- _v195 = int32(*(*int8)(unsafe.Pointer(uintptr(_v193))))
- _v196 = int32(int8(_v195))
- _v197 = int64(_v8 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v197))) = _v196
- _v198 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v199 = *(*int32)(unsafe.Pointer(uintptr(_v11)))
- _v200 = crt.Bool32(int32(_v198) >= int32(_v199))
- goto l88
-l88:
- if _v200 != 0 {
- goto l89
- }
- goto l157
-l157:
- _v204 = 0
- goto l92
-l89:
- _v201 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v202 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v203 = crt.Bool32(int32(_v201) <= int32(_v202))
- goto l90
-l90:
- if _v203 != 0 {
- goto l91
- }
- goto l158
-l158:
- _v204 = 0
- goto l92
-l91:
- _v204 = 1
- goto l92
-l92:
- if _v204 != 0 {
- goto l93
- }
- goto l94
-l93:
- _v206 = int64(_v10 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v206))) = 1
- goto l94
-l94:
- _v208 = int64(_v11 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v208))) = 0
- goto l98
-l95:
- _v209 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v210 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v211 = crt.Bool32(int32(_v209) == int32(_v210))
- if _v211 != 0 {
- goto l96
- }
- goto l97
-l96:
- _v213 = int64(_v10 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v213))) = 1
- goto l97
-l97:
- _v214 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v215 = int64(_v11 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v215))) = _v214
- goto l98
-l98:
- _v216 = int64(_v3 + int64(0))
- _v217 = *(*int64)(unsafe.Pointer(uintptr(_v216)))
- _v218 = int64(_v217 + int64(1))
- *(*int64)(unsafe.Pointer(uintptr(_v216))) = _v218
- _v219 = int32(*(*int8)(unsafe.Pointer(uintptr(_v217))))
- _v220 = int32(int8(_v219))
- _v221 = int64(_v8 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v221))) = _v220
- goto l65
-l99:
- _v222 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v224 = crt.Bool32(int32(_v222) == int32(0))
- goto l100
-l100:
- if _v224 != 0 {
- goto l159
- }
- goto l101
-l159:
- _v230 = 1
- goto l104
-l101:
- _v225 = *(*int32)(unsafe.Pointer(uintptr(_v10)))
- _v226 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v227 = int32(_v225 ^ _v226)
- _v229 = crt.Bool32(int32(_v227) == int32(0))
- goto l102
-l102:
- if _v229 != 0 {
- goto l160
- }
- goto l103
-l160:
- _v230 = 1
- goto l104
-l103:
- _v230 = 0
- goto l104
-l104:
- if _v230 != 0 {
- goto l105
- }
- goto l107
-l105:
- return 0
-l107:
- goto l136
-l108:
- _v232 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v234 = crt.Bool32(int32(_v232) == int32(35))
- if _v234 != 0 {
- goto l109
- }
- goto l131
-l109:
- _v238 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v239 = int64(_v238 + int64(0))
- _v240 = int32(*(*int8)(unsafe.Pointer(uintptr(_v239))))
- _v241 = int32(int8(_v240))
- _v243 = crt.Bool32(int32(_v241) == int32(45))
- goto l110
-l110:
- if _v243 != 0 {
- goto l161
- }
- goto l111
-l161:
- _v253 = 1
- goto l114
-l111:
- _v247 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v248 = int64(_v247 + int64(0))
- _v249 = int32(*(*int8)(unsafe.Pointer(uintptr(_v248))))
- _v250 = int32(int8(_v249))
- _v252 = crt.Bool32(int32(_v250) == int32(43))
- goto l112
-l112:
- if _v252 != 0 {
- goto l162
- }
- goto l113
-l162:
- _v253 = 1
- goto l114
-l113:
- _v253 = 0
- goto l114
-l114:
- goto l115
-l115:
- if _v253 != 0 {
- goto l116
- }
- goto l163
-l163:
- _v272 = 0
- goto l119
-l116:
- _v257 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v258 = int64(_v257 + int64(1))
- _v259 = int32(*(*int8)(unsafe.Pointer(uintptr(_v258))))
- _v260 = int32(int32(uint8(_v259)))
- _v261 = int64(int32(_v260))
- _v262 = int64(_v261 * int64(2))
- _v263 = crt.X__ctype_b_loc(t)
- _v264 = *(*int64)(unsafe.Pointer(uintptr(_v263)))
- _v265 = int64(_v264 + _v262)
- _v266 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v265))))
- _v267 = int32(uint16(_v266))
- _v271 = int32(int32(_v267) & int32(2048))
- goto l117
-l117:
- if _v271 != 0 {
- goto l118
- }
- goto l164
-l164:
- _v272 = 0
- goto l119
-l118:
- _v272 = 1
- goto l119
-l119:
- if _v272 != 0 {
- goto l120
- }
- goto l121
-l120:
- _v273 = int64(_v5 + int64(0))
- _v274 = *(*int64)(unsafe.Pointer(uintptr(_v273)))
- _v275 = int64(_v274 + int64(1))
- *(*int64)(unsafe.Pointer(uintptr(_v273))) = _v275
- goto l121
-l121:
- _v279 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v280 = int64(_v279 + int64(0))
- _v281 = int32(*(*int8)(unsafe.Pointer(uintptr(_v280))))
- _v282 = int32(int32(uint8(_v281)))
- _v283 = int64(int32(_v282))
- _v284 = int64(_v283 * int64(2))
- _v285 = crt.X__ctype_b_loc(t)
- _v286 = *(*int64)(unsafe.Pointer(uintptr(_v285)))
- _v287 = int64(_v286 + _v284)
- _v288 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v287))))
- _v289 = int32(uint16(_v288))
- _v293 = int32(int32(_v289) & int32(2048))
- goto l122
-l122:
- if _v293 != 0 {
- goto l123
- }
- goto l165
-l165:
- _v294 = 1
- goto l124
-l123:
- _v294 = 0
- goto l124
-l124:
- if _v294 != 0 {
- goto l125
- }
- goto l127
-l125:
- return 0
-l127:
- _v296 = int64(_v5 + int64(0))
- _v297 = *(*int64)(unsafe.Pointer(uintptr(_v296)))
- _v298 = int64(_v297 + int64(1))
- *(*int64)(unsafe.Pointer(uintptr(_v296))) = _v298
- goto l128
-l128:
- _v302 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v303 = int64(_v302 + int64(0))
- _v304 = int32(*(*int8)(unsafe.Pointer(uintptr(_v303))))
- _v305 = int32(int32(uint8(_v304)))
- _v306 = int64(int32(_v305))
- _v307 = int64(_v306 * int64(2))
- _v308 = crt.X__ctype_b_loc(t)
- _v309 = *(*int64)(unsafe.Pointer(uintptr(_v308)))
- _v310 = int64(_v309 + _v307)
- _v311 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v310))))
- _v312 = int32(uint16(_v311))
- _v316 = int32(int32(_v312) & int32(2048))
- if _v316 != 0 {
- goto l129
- }
- goto l130
-l129:
- _v317 = int64(_v5 + int64(0))
- _v318 = *(*int64)(unsafe.Pointer(uintptr(_v317)))
- _v319 = int64(_v318 + int64(1))
- *(*int64)(unsafe.Pointer(uintptr(_v317))) = _v319
- goto l128
-l130:
- goto l135
-l131:
- _v320 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v321 = int64(_v5 + int64(0))
- _v322 = *(*int64)(unsafe.Pointer(uintptr(_v321)))
- _v323 = int64(_v322 + int64(1))
- *(*int64)(unsafe.Pointer(uintptr(_v321))) = _v323
- _v324 = int32(*(*int8)(unsafe.Pointer(uintptr(_v322))))
- _v325 = int32(int8(_v324))
- _v326 = crt.Bool32(int32(_v320) != int32(_v325))
- if _v326 != 0 {
- goto l132
- }
- goto l134
-l132:
- return 0
-l134:
- goto l135
-l135:
- goto l136
-l136:
- goto l137
-l137:
- goto l138
-l138:
- goto l2
-l139:
- _v328 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v329 = int32(*(*int8)(unsafe.Pointer(uintptr(_v328))))
- _v330 = int32(int8(_v329))
- _v332 = crt.Bool32(int32(_v330) == int32(0))
- return _v332
+type sqlite3_index_info = sqlite3_index_info1 /* sqlite3.h:6688:35 */
+type sqlite3_vtab_cursor1 = struct{ pVtab uintptr }
+
+type sqlite3_vtab_cursor = sqlite3_vtab_cursor1 /* sqlite3.h:6689:36 */
+type sqlite3_module1 = struct {
+ iVersion int32
+ xCreate uintptr
+ xConnect uintptr
+ xBestIndex uintptr
+ xDisconnect uintptr
+ xDestroy uintptr
+ xOpen uintptr
+ xClose uintptr
+ xFilter uintptr
+ xNext uintptr
+ xEof uintptr
+ xColumn uintptr
+ xRowid uintptr
+ xUpdate uintptr
+ xBegin uintptr
+ xSync uintptr
+ xCommit uintptr
+ xRollback uintptr
+ xFindFunction uintptr
+ xRename uintptr
+ xSavepoint uintptr
+ xRelease uintptr
+ xRollbackTo uintptr
+ xShadowName uintptr
}
-var s__10 = [8]byte{0x73, 0x74, 0x72, 0x67, 0x6c, 0x6f, 0x62}
-
-func s_maybeClose(t *crt.TLS, _v1 int64) {
- var _v3 int64 // %t2
- var _v4 int32 // %t3
- var _v6 int64 // %t5
- var _v7 int32 // %t6
- var _v8 int32 // %t7
- _v3 = *(*int64)(unsafe.Pointer(&crt.Xstdout))
- _v4 = crt.Bool32(int64(_v1) != int64(_v3))
- goto l2
-l2:
- if _v4 != 0 {
- goto l3
- }
- goto l10
-l10:
- _v8 = 0
- goto l6
-l3:
- _v6 = *(*int64)(unsafe.Pointer(&crt.Xstderr))
- _v7 = crt.Bool32(int64(_v1) != int64(_v6))
- goto l4
-l4:
- if _v7 != 0 {
- goto l5
- }
- goto l11
-l11:
- _v8 = 0
- goto l6
-l5:
- _v8 = 1
- goto l6
-l6:
- if _v8 != 0 {
- goto l7
- }
- goto l8
-l7:
- _ = crt.Xfclose(t, _v1)
- goto l8
-l8:
- goto l9
-l9:
+type sqlite3_module = sqlite3_module1 /* sqlite3.h:6690:31 */
+
+// CAPI3REF: Virtual Table Indexing Information
+// KEYWORDS: sqlite3_index_info
+//
+// The sqlite3_index_info structure and its substructures is used as part
+// of the [virtual table] interface to
+// pass information into and receive the reply from the [xBestIndex]
+// method of a [virtual table module]. The fields under **Inputs** are the
+// inputs to xBestIndex and are read-only. xBestIndex inserts its
+// results into the **Outputs** fields.
+//
+// ^(The aConstraint[] array records WHERE clause constraints of the form:
+//
+// <blockquote>column OP expr</blockquote>
+//
+// where OP is =, &lt;, &lt;=, &gt;, or &gt;=.)^ ^(The particular operator is
+// stored in aConstraint[].op using one of the
+// [SQLITE_INDEX_CONSTRAINT_EQ | SQLITE_INDEX_CONSTRAINT_ values].)^
+// ^(The index of the column is stored in
+// aConstraint[].iColumn.)^ ^(aConstraint[].usable is TRUE if the
+// expr on the right-hand side can be evaluated (and thus the constraint
+// is usable) and false if it cannot.)^
+//
+// ^The optimizer automatically inverts terms of the form "expr OP column"
+// and makes other simplifications to the WHERE clause in an attempt to
+// get as many WHERE clause terms into the form shown above as possible.
+// ^The aConstraint[] array only reports WHERE clause terms that are
+// relevant to the particular virtual table being queried.
+//
+// ^Information about the ORDER BY clause is stored in aOrderBy[].
+// ^Each term of aOrderBy records a column of the ORDER BY clause.
+//
+// The colUsed field indicates which columns of the virtual table may be
+// required by the current scan. Virtual table columns are numbered from
+// zero in the order in which they appear within the CREATE TABLE statement
+// passed to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62),
+// the corresponding bit is set within the colUsed mask if the column may be
+// required by SQLite. If the table has at least 64 columns and any column
+// to the right of the first 63 is required, then bit 63 of colUsed is also
+// set. In other words, column iCol may be required if the expression
+// (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) evaluates to
+// non-zero.
+//
+// The [xBestIndex] method must fill aConstraintUsage[] with information
+// about what parameters to pass to xFilter. ^If argvIndex>0 then
+// the right-hand side of the corresponding aConstraint[] is evaluated
+// and becomes the argvIndex-th entry in argv. ^(If aConstraintUsage[].omit
+// is true, then the constraint is assumed to be fully handled by the
+// virtual table and might not be checked again by the byte code.)^ ^(The
+// aConstraintUsage[].omit flag is an optimization hint. When the omit flag
+// is left in its default setting of false, the constraint will always be
+// checked separately in byte code. If the omit flag is change to true, then
+// the constraint may or may not be checked in byte code. In other words,
+// when the omit flag is true there is no guarantee that the constraint will
+// not be checked again using byte code.)^
+//
+// ^The idxNum and idxPtr values are recorded and passed into the
+// [xFilter] method.
+// ^[sqlite3_free()] is used to free idxPtr if and only if
+// needToFreeIdxPtr is true.
+//
+// ^The orderByConsumed means that output from [xFilter]/[xNext] will occur in
+// the correct order to satisfy the ORDER BY clause so that no separate
+// sorting step is required.
+//
+// ^The estimatedCost value is an estimate of the cost of a particular
+// strategy. A cost of N indicates that the cost of the strategy is similar
+// to a linear scan of an SQLite table with N rows. A cost of log(N)
+// indicates that the expense of the operation is similar to that of a
+// binary search on a unique indexed field of an SQLite table with N rows.
+//
+// ^The estimatedRows value is an estimate of the number of rows that
+// will be returned by the strategy.
+//
+// The xBestIndex method may optionally populate the idxFlags field with a
+// mask of SQLITE_INDEX_SCAN_* flags. Currently there is only one such flag -
+// SQLITE_INDEX_SCAN_UNIQUE. If the xBestIndex method sets this flag, SQLite
+// assumes that the strategy may visit at most one row.
+//
+// Additionally, if xBestIndex sets the SQLITE_INDEX_SCAN_UNIQUE flag, then
+// SQLite also assumes that if a call to the xUpdate() method is made as
+// part of the same statement to delete or update a virtual table row and the
+// implementation returns SQLITE_CONSTRAINT, then there is no need to rollback
+// any database changes. In other words, if the xUpdate() returns
+// SQLITE_CONSTRAINT, the database contents must be exactly as they were
+// before xUpdate was called. By contrast, if SQLITE_INDEX_SCAN_UNIQUE is not
+// set and xUpdate returns SQLITE_CONSTRAINT, any database changes made by
+// the xUpdate method are automatically rolled back by SQLite.
+//
+// IMPORTANT: The estimatedRows field was added to the sqlite3_index_info
+// structure for SQLite [version 3.8.2] ([dateof:3.8.2]).
+// If a virtual table extension is
+// used with an SQLite version earlier than 3.8.2, the results of attempting
+// to read or write the estimatedRows field are undefined (but are likely
+// to include crashing the application). The estimatedRows field should
+// therefore only be used if [sqlite3_libversion_number()] returns a
+// value greater than or equal to 3008002. Similarly, the idxFlags field
+// was added for [version 3.9.0] ([dateof:3.9.0]).
+// It may therefore only be used if
+// sqlite3_libversion_number() returns a value greater than or equal to
+// 3009000.
+type sqlite3_index_constraint = struct {
+ iColumn int32
+ op uint8
+ usable uint8
+ iTermOffset int32
}
-var s__11 = [11]byte{0x6d, 0x61, 0x79, 0x62, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65}
-
-func s_errorMessage(t *crt.TLS, _v1 int64, args uintptr) {
- bp := t.Alloc(80)
- defer t.Free(80)
- var _v19 int64 // %t15
- var _v20 int32 // %t16
- var _v23 int64 // %t19
- var _v25 int64 // %t21
- var _v28 int64 // %t24
- var _v32 int64 // %t28
- var _v33 int32 // %t29
- var _v7 int64 // %t3
- var _v36 int64 // %t32
- var _v39 int64 // %t35
- var _v40 int32 // %t36
- var _v41 int32 // %t37
- var _v8 int64 // %t4
- var _v44 int64 // %t40
- var _v46 int64 // %t42
- var _v49 int64 // %t45
- var _v51 int64 // %t47
- var _v54 int32 // %t50
- var _v55 int32 // %t51
- var _v2 = int64(bp + 8) // %v2
- var _v3 = int64(bp + 32) // %v3
- var _v4 = int64(bp + 40) // %v4
- *(*uintptr)(unsafe.Pointer(bp + 8)) = args
- _v7 = Xsqlite3_vmprintf(t, _v1, _v2)
- _v8 = int64(_v3 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v8))) = _v7
- *(*int64)(unsafe.Pointer(bp + 0)) = int64(uintptr(unsafe.Pointer(&s_g)) + 64)
-
- _ = Xsqlite3_snprintf(t, 30, _v4, int64(uintptr(unsafe.Pointer(&s__13))), bp+0)
- _v19 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 56))
- _v20 = crt.Bool32(int64(_v19) != int64(int64(0)))
- if _v20 != 0 {
- goto l2
- }
- goto l3
-l2:
- _v23 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 56))
- _v25 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- s_printWithPrefix(t, _v23, _v4, _v25)
- _v28 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 56))
- _ = crt.Xfflush(t, _v28)
- goto l3
-l3:
- _v32 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 40))
- _v33 = crt.Bool32(int64(_v32) != int64(int64(0)))
- goto l4
-l4:
- if _v33 != 0 {
- goto l5
- }
- goto l12
-l12:
- _v41 = 0
- goto l8
-l5:
- _v36 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 32))
- _v39 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 48))
- _v40 = s_safe_strcmp(t, _v36, _v39)
- goto l6
-l6:
- if _v40 != 0 {
- goto l7
- }
- goto l13
-l13:
- _v41 = 0
- goto l8
-l7:
- _v41 = 1
- goto l8
-l8:
- if _v41 != 0 {
- goto l9
- }
- goto l10
-l9:
- _v44 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 40))
- _v46 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- s_printWithPrefix(t, _v44, _v4, _v46)
- _v49 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 40))
- _ = crt.Xfflush(t, _v49)
- goto l10
-l10:
- _v51 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- Xsqlite3_free(t, _v51)
- _v54 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 112))
- _v55 = int32(int32(_v54) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 112)) = _v55
- goto l11
-l11:
+// CAPI3REF: Virtual Table Indexing Information
+// KEYWORDS: sqlite3_index_info
+//
+// The sqlite3_index_info structure and its substructures is used as part
+// of the [virtual table] interface to
+// pass information into and receive the reply from the [xBestIndex]
+// method of a [virtual table module]. The fields under **Inputs** are the
+// inputs to xBestIndex and are read-only. xBestIndex inserts its
+// results into the **Outputs** fields.
+//
+// ^(The aConstraint[] array records WHERE clause constraints of the form:
+//
+// <blockquote>column OP expr</blockquote>
+//
+// where OP is =, &lt;, &lt;=, &gt;, or &gt;=.)^ ^(The particular operator is
+// stored in aConstraint[].op using one of the
+// [SQLITE_INDEX_CONSTRAINT_EQ | SQLITE_INDEX_CONSTRAINT_ values].)^
+// ^(The index of the column is stored in
+// aConstraint[].iColumn.)^ ^(aConstraint[].usable is TRUE if the
+// expr on the right-hand side can be evaluated (and thus the constraint
+// is usable) and false if it cannot.)^
+//
+// ^The optimizer automatically inverts terms of the form "expr OP column"
+// and makes other simplifications to the WHERE clause in an attempt to
+// get as many WHERE clause terms into the form shown above as possible.
+// ^The aConstraint[] array only reports WHERE clause terms that are
+// relevant to the particular virtual table being queried.
+//
+// ^Information about the ORDER BY clause is stored in aOrderBy[].
+// ^Each term of aOrderBy records a column of the ORDER BY clause.
+//
+// The colUsed field indicates which columns of the virtual table may be
+// required by the current scan. Virtual table columns are numbered from
+// zero in the order in which they appear within the CREATE TABLE statement
+// passed to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62),
+// the corresponding bit is set within the colUsed mask if the column may be
+// required by SQLite. If the table has at least 64 columns and any column
+// to the right of the first 63 is required, then bit 63 of colUsed is also
+// set. In other words, column iCol may be required if the expression
+// (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) evaluates to
+// non-zero.
+//
+// The [xBestIndex] method must fill aConstraintUsage[] with information
+// about what parameters to pass to xFilter. ^If argvIndex>0 then
+// the right-hand side of the corresponding aConstraint[] is evaluated
+// and becomes the argvIndex-th entry in argv. ^(If aConstraintUsage[].omit
+// is true, then the constraint is assumed to be fully handled by the
+// virtual table and might not be checked again by the byte code.)^ ^(The
+// aConstraintUsage[].omit flag is an optimization hint. When the omit flag
+// is left in its default setting of false, the constraint will always be
+// checked separately in byte code. If the omit flag is change to true, then
+// the constraint may or may not be checked in byte code. In other words,
+// when the omit flag is true there is no guarantee that the constraint will
+// not be checked again using byte code.)^
+//
+// ^The idxNum and idxPtr values are recorded and passed into the
+// [xFilter] method.
+// ^[sqlite3_free()] is used to free idxPtr if and only if
+// needToFreeIdxPtr is true.
+//
+// ^The orderByConsumed means that output from [xFilter]/[xNext] will occur in
+// the correct order to satisfy the ORDER BY clause so that no separate
+// sorting step is required.
+//
+// ^The estimatedCost value is an estimate of the cost of a particular
+// strategy. A cost of N indicates that the cost of the strategy is similar
+// to a linear scan of an SQLite table with N rows. A cost of log(N)
+// indicates that the expense of the operation is similar to that of a
+// binary search on a unique indexed field of an SQLite table with N rows.
+//
+// ^The estimatedRows value is an estimate of the number of rows that
+// will be returned by the strategy.
+//
+// The xBestIndex method may optionally populate the idxFlags field with a
+// mask of SQLITE_INDEX_SCAN_* flags. Currently there is only one such flag -
+// SQLITE_INDEX_SCAN_UNIQUE. If the xBestIndex method sets this flag, SQLite
+// assumes that the strategy may visit at most one row.
+//
+// Additionally, if xBestIndex sets the SQLITE_INDEX_SCAN_UNIQUE flag, then
+// SQLite also assumes that if a call to the xUpdate() method is made as
+// part of the same statement to delete or update a virtual table row and the
+// implementation returns SQLITE_CONSTRAINT, then there is no need to rollback
+// any database changes. In other words, if the xUpdate() returns
+// SQLITE_CONSTRAINT, the database contents must be exactly as they were
+// before xUpdate was called. By contrast, if SQLITE_INDEX_SCAN_UNIQUE is not
+// set and xUpdate returns SQLITE_CONSTRAINT, any database changes made by
+// the xUpdate method are automatically rolled back by SQLite.
+//
+// IMPORTANT: The estimatedRows field was added to the sqlite3_index_info
+// structure for SQLite [version 3.8.2] ([dateof:3.8.2]).
+// If a virtual table extension is
+// used with an SQLite version earlier than 3.8.2, the results of attempting
+// to read or write the estimatedRows field are undefined (but are likely
+// to include crashing the application). The estimatedRows field should
+// therefore only be used if [sqlite3_libversion_number()] returns a
+// value greater than or equal to 3008002. Similarly, the idxFlags field
+// was added for [version 3.9.0] ([dateof:3.9.0]).
+// It may therefore only be used if
+// sqlite3_libversion_number() returns a value greater than or equal to
+// 3009000.
+type sqlite3_index_orderby = struct {
+ iColumn int32
+ desc uint8
+ _ [3]byte
}
-var s__12 = [13]byte{0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65}
-
-var s__13 = [11]byte{0x25, 0x73, 0x3a, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x3a, 0x20}
-
-func s_fatalError(t *crt.TLS, _v1 int64, args uintptr) {
- bp := t.Alloc(80)
- defer t.Free(80)
- var _v20 int64 // %t15
- var _v21 int32 // %t16
- var _v24 int64 // %t19
- var _v26 int64 // %t21
- var _v29 int64 // %t24
- var _v33 int64 // %t28
- var _v8 int64 // %t3
- var _v36 int64 // %t31
- var _v37 int32 // %t32
- var _v40 int64 // %t35
- var _v43 int64 // %t38
- var _v44 int32 // %t39
- var _v9 int64 // %t4
- var _v45 int32 // %t40
- var _v48 int64 // %t43
- var _v50 int64 // %t45
- var _v53 int64 // %t48
- var _v57 int64 // %t52
- var _v58 int64 // %t53
- var _v61 int64 // %t56
- var _v62 int32 // %t57
- var _v68 int32 // %t63
- var _v70 int32 // %t65
- var _v71 int64 // %t66
- var _v72 int32 // %t67
- var _v73 int32 // %t68
- var _v75 int32 // %t70
- var _v76 int32 // %t71
- var _v81 int64 // %t76
- var _v2 = int64(bp + 8) // %v2
- var _v3 = int64(bp + 32) // %v3
- var _v4 = int64(bp + 40) // %v4
- var _v5 = int64(bp + 72) // %v5
- *(*uintptr)(unsafe.Pointer(bp + 8)) = args
- _v8 = Xsqlite3_vmprintf(t, _v1, _v2)
- _v9 = int64(_v3 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v9))) = _v8
- *(*int64)(unsafe.Pointer(bp + 0)) = int64(uintptr(unsafe.Pointer(&s_g)) + 64)
-
- _ = Xsqlite3_snprintf(t, 30, _v4, int64(uintptr(unsafe.Pointer(&s__15))), bp+0)
- _v20 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 56))
- _v21 = crt.Bool32(int64(_v20) != int64(int64(0)))
- if _v21 != 0 {
- goto l2
- }
- goto l3
-l2:
- _v24 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 56))
- _v26 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- s_printWithPrefix(t, _v24, _v4, _v26)
- _v29 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 56))
- _ = crt.Xfflush(t, _v29)
- _v33 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 56))
- s_maybeClose(t, _v33)
- goto l3
-l3:
- _v36 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 40))
- _v37 = crt.Bool32(int64(_v36) != int64(int64(0)))
- goto l4
-l4:
- if _v37 != 0 {
- goto l5
- }
- goto l22
-l22:
- _v45 = 0
- goto l8
-l5:
- _v40 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 32))
- _v43 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 48))
- _v44 = s_safe_strcmp(t, _v40, _v43)
- goto l6
-l6:
- if _v44 != 0 {
- goto l7
- }
- goto l23
-l23:
- _v45 = 0
- goto l8
-l7:
- _v45 = 1
- goto l8
-l8:
- if _v45 != 0 {
- goto l9
- }
- goto l10
-l9:
- _v48 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 40))
- _v50 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- s_printWithPrefix(t, _v48, _v4, _v50)
- _v53 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 40))
- _ = crt.Xfflush(t, _v53)
- _v57 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 40))
- s_maybeClose(t, _v57)
- goto l10
-l10:
- _v58 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- Xsqlite3_free(t, _v58)
- _v61 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _v62 = crt.Bool32(int64(_v61) != int64(int64(0)))
- if _v62 != 0 {
- goto l11
- }
- goto l20
-l11:
- *(*int32)(unsafe.Pointer(uintptr(_v5))) = 0
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 120)) = 0
- goto l12
-l12:
-
- _v68 = s_trySql(t, int64(uintptr(unsafe.Pointer(&s__16))), 0)
- _v70 = crt.Bool32(int32(_v68) == int32(5))
- goto l13
-l13:
- if _v70 != 0 {
- goto l14
- }
- goto l24
-l24:
- _v76 = 0
- goto l17
-l14:
- _v71 = int64(_v5 + int64(0))
- _v72 = *(*int32)(unsafe.Pointer(uintptr(_v71)))
- _v73 = int32(int32(_v72) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v71))) = _v73
- _v75 = crt.Bool32(int32(_v72) < int32(100))
- goto l15
-l15:
- if _v75 != 0 {
- goto l16
- }
- goto l25
-l25:
- _v76 = 0
- goto l17
-l16:
- _v76 = 1
- goto l17
-l17:
- if _v76 != 0 {
- goto l18
- }
- goto l19
-l18:
- _ = Xsqlite3_sleep(t, 10)
- goto l12
-l19:
- goto l20
-l20:
- _v81 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _ = Xsqlite3_close(t, _v81)
- crt.Xexit(t, 1)
- goto l21
-l21:
+// CAPI3REF: Virtual Table Indexing Information
+// KEYWORDS: sqlite3_index_info
+//
+// The sqlite3_index_info structure and its substructures is used as part
+// of the [virtual table] interface to
+// pass information into and receive the reply from the [xBestIndex]
+// method of a [virtual table module]. The fields under **Inputs** are the
+// inputs to xBestIndex and are read-only. xBestIndex inserts its
+// results into the **Outputs** fields.
+//
+// ^(The aConstraint[] array records WHERE clause constraints of the form:
+//
+// <blockquote>column OP expr</blockquote>
+//
+// where OP is =, &lt;, &lt;=, &gt;, or &gt;=.)^ ^(The particular operator is
+// stored in aConstraint[].op using one of the
+// [SQLITE_INDEX_CONSTRAINT_EQ | SQLITE_INDEX_CONSTRAINT_ values].)^
+// ^(The index of the column is stored in
+// aConstraint[].iColumn.)^ ^(aConstraint[].usable is TRUE if the
+// expr on the right-hand side can be evaluated (and thus the constraint
+// is usable) and false if it cannot.)^
+//
+// ^The optimizer automatically inverts terms of the form "expr OP column"
+// and makes other simplifications to the WHERE clause in an attempt to
+// get as many WHERE clause terms into the form shown above as possible.
+// ^The aConstraint[] array only reports WHERE clause terms that are
+// relevant to the particular virtual table being queried.
+//
+// ^Information about the ORDER BY clause is stored in aOrderBy[].
+// ^Each term of aOrderBy records a column of the ORDER BY clause.
+//
+// The colUsed field indicates which columns of the virtual table may be
+// required by the current scan. Virtual table columns are numbered from
+// zero in the order in which they appear within the CREATE TABLE statement
+// passed to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62),
+// the corresponding bit is set within the colUsed mask if the column may be
+// required by SQLite. If the table has at least 64 columns and any column
+// to the right of the first 63 is required, then bit 63 of colUsed is also
+// set. In other words, column iCol may be required if the expression
+// (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) evaluates to
+// non-zero.
+//
+// The [xBestIndex] method must fill aConstraintUsage[] with information
+// about what parameters to pass to xFilter. ^If argvIndex>0 then
+// the right-hand side of the corresponding aConstraint[] is evaluated
+// and becomes the argvIndex-th entry in argv. ^(If aConstraintUsage[].omit
+// is true, then the constraint is assumed to be fully handled by the
+// virtual table and might not be checked again by the byte code.)^ ^(The
+// aConstraintUsage[].omit flag is an optimization hint. When the omit flag
+// is left in its default setting of false, the constraint will always be
+// checked separately in byte code. If the omit flag is change to true, then
+// the constraint may or may not be checked in byte code. In other words,
+// when the omit flag is true there is no guarantee that the constraint will
+// not be checked again using byte code.)^
+//
+// ^The idxNum and idxPtr values are recorded and passed into the
+// [xFilter] method.
+// ^[sqlite3_free()] is used to free idxPtr if and only if
+// needToFreeIdxPtr is true.
+//
+// ^The orderByConsumed means that output from [xFilter]/[xNext] will occur in
+// the correct order to satisfy the ORDER BY clause so that no separate
+// sorting step is required.
+//
+// ^The estimatedCost value is an estimate of the cost of a particular
+// strategy. A cost of N indicates that the cost of the strategy is similar
+// to a linear scan of an SQLite table with N rows. A cost of log(N)
+// indicates that the expense of the operation is similar to that of a
+// binary search on a unique indexed field of an SQLite table with N rows.
+//
+// ^The estimatedRows value is an estimate of the number of rows that
+// will be returned by the strategy.
+//
+// The xBestIndex method may optionally populate the idxFlags field with a
+// mask of SQLITE_INDEX_SCAN_* flags. Currently there is only one such flag -
+// SQLITE_INDEX_SCAN_UNIQUE. If the xBestIndex method sets this flag, SQLite
+// assumes that the strategy may visit at most one row.
+//
+// Additionally, if xBestIndex sets the SQLITE_INDEX_SCAN_UNIQUE flag, then
+// SQLite also assumes that if a call to the xUpdate() method is made as
+// part of the same statement to delete or update a virtual table row and the
+// implementation returns SQLITE_CONSTRAINT, then there is no need to rollback
+// any database changes. In other words, if the xUpdate() returns
+// SQLITE_CONSTRAINT, the database contents must be exactly as they were
+// before xUpdate was called. By contrast, if SQLITE_INDEX_SCAN_UNIQUE is not
+// set and xUpdate returns SQLITE_CONSTRAINT, any database changes made by
+// the xUpdate method are automatically rolled back by SQLite.
+//
+// IMPORTANT: The estimatedRows field was added to the sqlite3_index_info
+// structure for SQLite [version 3.8.2] ([dateof:3.8.2]).
+// If a virtual table extension is
+// used with an SQLite version earlier than 3.8.2, the results of attempting
+// to read or write the estimatedRows field are undefined (but are likely
+// to include crashing the application). The estimatedRows field should
+// therefore only be used if [sqlite3_libversion_number()] returns a
+// value greater than or equal to 3008002. Similarly, the idxFlags field
+// was added for [version 3.9.0] ([dateof:3.9.0]).
+// It may therefore only be used if
+// sqlite3_libversion_number() returns a value greater than or equal to
+// 3009000.
+type sqlite3_index_constraint_usage = struct {
+ argvIndex int32
+ omit uint8
+ _ [3]byte
}
-var s__14 = [11]byte{0x66, 0x61, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72}
-
-var s__15 = [11]byte{0x25, 0x73, 0x3a, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x3a, 0x20}
-
-var s__16 = [30]byte{
- 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x53, 0x45,
- 0x54, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x48, 0x61, 0x6c, 0x74, 0x3d, 0x31, 0x3b,
+// CAPI3REF: Mutex Methods Object
+//
+// An instance of this structure defines the low-level routines
+// used to allocate and use mutexes.
+//
+// Usually, the default mutex implementations provided by SQLite are
+// sufficient, however the application has the option of substituting a custom
+// implementation for specialized deployments or systems for which SQLite
+// does not provide a suitable implementation. In this case, the application
+// creates and populates an instance of this structure to pass
+// to sqlite3_config() along with the [SQLITE_CONFIG_MUTEX] option.
+// Additionally, an instance of this structure can be used as an
+// output variable when querying the system for the current mutex
+// implementation, using the [SQLITE_CONFIG_GETMUTEX] option.
+//
+// ^The xMutexInit method defined by this structure is invoked as
+// part of system initialization by the sqlite3_initialize() function.
+// ^The xMutexInit routine is called by SQLite exactly once for each
+// effective call to [sqlite3_initialize()].
+//
+// ^The xMutexEnd method defined by this structure is invoked as
+// part of system shutdown by the sqlite3_shutdown() function. The
+// implementation of this method is expected to release all outstanding
+// resources obtained by the mutex methods implementation, especially
+// those obtained by the xMutexInit method. ^The xMutexEnd()
+// interface is invoked exactly once for each call to [sqlite3_shutdown()].
+//
+// ^(The remaining seven methods defined by this structure (xMutexAlloc,
+// xMutexFree, xMutexEnter, xMutexTry, xMutexLeave, xMutexHeld and
+// xMutexNotheld) implement the following interfaces (respectively):
+//
+// <ul>
+// <li> [sqlite3_mutex_alloc()] </li>
+// <li> [sqlite3_mutex_free()] </li>
+// <li> [sqlite3_mutex_enter()] </li>
+// <li> [sqlite3_mutex_try()] </li>
+// <li> [sqlite3_mutex_leave()] </li>
+// <li> [sqlite3_mutex_held()] </li>
+// <li> [sqlite3_mutex_notheld()] </li>
+// </ul>)^
+//
+// The only difference is that the public sqlite3_XXX functions enumerated
+// above silently ignore any invocations that pass a NULL pointer instead
+// of a valid mutex handle. The implementations of the methods defined
+// by this structure are not required to handle this case. The results
+// of passing a NULL pointer instead of a valid mutex handle are undefined
+// (i.e. it is acceptable to provide an implementation that segfaults if
+// it is passed a NULL pointer).
+//
+// The xMutexInit() method must be threadsafe. It must be harmless to
+// invoke xMutexInit() multiple times within the same process and without
+// intervening calls to xMutexEnd(). Second and subsequent calls to
+// xMutexInit() must be no-ops.
+//
+// xMutexInit() must not use SQLite memory allocation ([sqlite3_malloc()]
+// and its associates). Similarly, xMutexAlloc() must not use SQLite memory
+// allocation for a static mutex. ^However xMutexAlloc() may use SQLite
+// memory allocation for a fast or recursive mutex.
+//
+// ^SQLite will invoke the xMutexEnd() method when [sqlite3_shutdown()] is
+// called, but only if the prior call to xMutexInit returned SQLITE_OK.
+// If xMutexInit fails in any way, it is expected to clean up after itself
+// prior to returning.
+type sqlite3_mutex_methods1 = struct {
+ xMutexInit uintptr
+ xMutexEnd uintptr
+ xMutexAlloc uintptr
+ xMutexFree uintptr
+ xMutexEnter uintptr
+ xMutexTry uintptr
+ xMutexLeave uintptr
+ xMutexHeld uintptr
+ xMutexNotheld uintptr
}
-func s_logMessage(t *crt.TLS, _v1 int64, args uintptr) {
- bp := t.Alloc(80)
- defer t.Free(80)
- var _v19 int64 // %t15
- var _v20 int32 // %t16
- var _v23 int64 // %t19
- var _v25 int64 // %t21
- var _v28 int64 // %t24
- var _v30 int64 // %t26
- var _v7 int64 // %t3
- var _v8 int64 // %t4
- var _v2 = int64(bp + 8) // %v2
- var _v3 = int64(bp + 32) // %v3
- var _v4 = int64(bp + 40) // %v4
- *(*uintptr)(unsafe.Pointer(bp + 8)) = args
- _v7 = Xsqlite3_vmprintf(t, _v1, _v2)
- _v8 = int64(_v3 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v8))) = _v7
- *(*int64)(unsafe.Pointer(bp + 0)) = int64(uintptr(unsafe.Pointer(&s_g)) + 64)
-
- _ = Xsqlite3_snprintf(t, 30, _v4, int64(uintptr(unsafe.Pointer(&s__18))), bp+0)
- _v19 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 56))
- _v20 = crt.Bool32(int64(_v19) != int64(int64(0)))
- if _v20 != 0 {
- goto l2
- }
- goto l3
-l2:
- _v23 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 56))
- _v25 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- s_printWithPrefix(t, _v23, _v4, _v25)
- _v28 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 56))
- _ = crt.Xfflush(t, _v28)
- goto l3
-l3:
- _v30 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- Xsqlite3_free(t, _v30)
- goto l4
-l4:
+// CAPI3REF: Mutex Methods Object
+//
+// An instance of this structure defines the low-level routines
+// used to allocate and use mutexes.
+//
+// Usually, the default mutex implementations provided by SQLite are
+// sufficient, however the application has the option of substituting a custom
+// implementation for specialized deployments or systems for which SQLite
+// does not provide a suitable implementation. In this case, the application
+// creates and populates an instance of this structure to pass
+// to sqlite3_config() along with the [SQLITE_CONFIG_MUTEX] option.
+// Additionally, an instance of this structure can be used as an
+// output variable when querying the system for the current mutex
+// implementation, using the [SQLITE_CONFIG_GETMUTEX] option.
+//
+// ^The xMutexInit method defined by this structure is invoked as
+// part of system initialization by the sqlite3_initialize() function.
+// ^The xMutexInit routine is called by SQLite exactly once for each
+// effective call to [sqlite3_initialize()].
+//
+// ^The xMutexEnd method defined by this structure is invoked as
+// part of system shutdown by the sqlite3_shutdown() function. The
+// implementation of this method is expected to release all outstanding
+// resources obtained by the mutex methods implementation, especially
+// those obtained by the xMutexInit method. ^The xMutexEnd()
+// interface is invoked exactly once for each call to [sqlite3_shutdown()].
+//
+// ^(The remaining seven methods defined by this structure (xMutexAlloc,
+// xMutexFree, xMutexEnter, xMutexTry, xMutexLeave, xMutexHeld and
+// xMutexNotheld) implement the following interfaces (respectively):
+//
+// <ul>
+// <li> [sqlite3_mutex_alloc()] </li>
+// <li> [sqlite3_mutex_free()] </li>
+// <li> [sqlite3_mutex_enter()] </li>
+// <li> [sqlite3_mutex_try()] </li>
+// <li> [sqlite3_mutex_leave()] </li>
+// <li> [sqlite3_mutex_held()] </li>
+// <li> [sqlite3_mutex_notheld()] </li>
+// </ul>)^
+//
+// The only difference is that the public sqlite3_XXX functions enumerated
+// above silently ignore any invocations that pass a NULL pointer instead
+// of a valid mutex handle. The implementations of the methods defined
+// by this structure are not required to handle this case. The results
+// of passing a NULL pointer instead of a valid mutex handle are undefined
+// (i.e. it is acceptable to provide an implementation that segfaults if
+// it is passed a NULL pointer).
+//
+// The xMutexInit() method must be threadsafe. It must be harmless to
+// invoke xMutexInit() multiple times within the same process and without
+// intervening calls to xMutexEnd(). Second and subsequent calls to
+// xMutexInit() must be no-ops.
+//
+// xMutexInit() must not use SQLite memory allocation ([sqlite3_malloc()]
+// and its associates). Similarly, xMutexAlloc() must not use SQLite memory
+// allocation for a static mutex. ^However xMutexAlloc() may use SQLite
+// memory allocation for a fast or recursive mutex.
+//
+// ^SQLite will invoke the xMutexEnd() method when [sqlite3_shutdown()] is
+// called, but only if the prior call to xMutexInit returned SQLITE_OK.
+// If xMutexInit fails in any way, it is expected to clean up after itself
+// prior to returning.
+type sqlite3_mutex_methods = sqlite3_mutex_methods1 /* sqlite3.h:7522:38 */
+
+// CAPI3REF: Custom Page Cache Object
+//
+// The sqlite3_pcache_page object represents a single page in the
+// page cache. The page cache will allocate instances of this
+// object. Various methods of the page cache use pointers to instances
+// of this object as parameters or as their return value.
+//
+// See [sqlite3_pcache_methods2] for additional information.
+type sqlite3_pcache_page1 = struct {
+ pBuf uintptr
+ pExtra uintptr
}
-var s__17 = [11]byte{0x6c, 0x6f, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65}
-
-var s__18 = [5]byte{0x25, 0x73, 0x3a, 0x20}
-
-func s_clipLength(t *crt.TLS, _v1 int64) int32 {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v12 int64 // %t10
- var _v13 int64 // %t11
- var _v15 int64 // %t13
- var _v16 int32 // %t14
- var _v17 int32 // %t15
- var _v18 int64 // %t16
- var _v19 int64 // %t17
- var _v20 int64 // %t18
- var _v21 int64 // %t19
- var _v4 int64 // %t2
- var _v22 int64 // %t20
- var _v23 int32 // %t21
- var _v24 int32 // %t22
- var _v28 int32 // %t26
- var _v29 int32 // %t27
- var _v30 int64 // %t28
- var _v31 int32 // %t29
- var _v5 int32 // %t3
- var _v32 int32 // %t30
- var _v33 int32 // %t31
- var _v6 int32 // %t4
- var _v8 int32 // %t6
- var _v9 int32 // %t7
- var _v11 int32 // %t9
- var _v2 = int64(bp + 0) // %v2
- _v4 = crt.Xstrlen(t, _v1)
- _v5 = int32(int32(int32(_v4)) & int32(-1))
- *(*int32)(unsafe.Pointer(uintptr(_v2))) = _v5
- goto l2
-l2:
- _v6 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v8 = crt.Bool32(int32(_v6) > int32(0))
- goto l3
-l3:
- if _v8 != 0 {
- goto l4
- }
- goto l12
-l12:
- _v29 = 0
- goto l7
-l4:
- _v9 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v11 = int32(int32(_v9) - int32(1))
- _v12 = int64(int32(_v11))
- _v13 = int64(_v12 * int64(1))
- _v15 = int64(_v1 + _v13)
- _v16 = int32(*(*int8)(unsafe.Pointer(uintptr(_v15))))
- _v17 = int32(int32(uint8(_v16)))
- _v18 = int64(int32(_v17))
- _v19 = int64(_v18 * int64(2))
- _v20 = crt.X__ctype_b_loc(t)
- _v21 = *(*int64)(unsafe.Pointer(uintptr(_v20)))
- _v22 = int64(_v21 + _v19)
- _v23 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v22))))
- _v24 = int32(uint16(_v23))
- _v28 = int32(int32(_v24) & int32(8192))
- goto l5
-l5:
- if _v28 != 0 {
- goto l6
- }
- goto l13
-l13:
- _v29 = 0
- goto l7
-l6:
- _v29 = 1
- goto l7
-l7:
- if _v29 != 0 {
- goto l8
- }
- goto l9
-l8:
- _v30 = int64(_v2 + int64(0))
- _v31 = *(*int32)(unsafe.Pointer(uintptr(_v30)))
- _v32 = int32(int32(_v31) - int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v30))) = _v32
- goto l2
-l9:
- _v33 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- return _v33
+// CAPI3REF: Custom Page Cache Object
+//
+// The sqlite3_pcache_page object represents a single page in the
+// page cache. The page cache will allocate instances of this
+// object. Various methods of the page cache use pointers to instances
+// of this object as parameters or as their return value.
+//
+// See [sqlite3_pcache_methods2] for additional information.
+type sqlite3_pcache_page = sqlite3_pcache_page1 /* sqlite3.h:8271:36 */
+
+// CAPI3REF: Application Defined Page Cache.
+// KEYWORDS: {page cache}
+//
+// ^(The [sqlite3_config]([SQLITE_CONFIG_PCACHE2], ...) interface can
+// register an alternative page cache implementation by passing in an
+// instance of the sqlite3_pcache_methods2 structure.)^
+// In many applications, most of the heap memory allocated by
+// SQLite is used for the page cache.
+// By implementing a
+// custom page cache using this API, an application can better control
+// the amount of memory consumed by SQLite, the way in which
+// that memory is allocated and released, and the policies used to
+// determine exactly which parts of a database file are cached and for
+// how long.
+//
+// The alternative page cache mechanism is an
+// extreme measure that is only needed by the most demanding applications.
+// The built-in page cache is recommended for most uses.
+//
+// ^(The contents of the sqlite3_pcache_methods2 structure are copied to an
+// internal buffer by SQLite within the call to [sqlite3_config]. Hence
+// the application may discard the parameter after the call to
+// [sqlite3_config()] returns.)^
+//
+// [[the xInit() page cache method]]
+// ^(The xInit() method is called once for each effective
+// call to [sqlite3_initialize()])^
+// (usually only once during the lifetime of the process). ^(The xInit()
+// method is passed a copy of the sqlite3_pcache_methods2.pArg value.)^
+// The intent of the xInit() method is to set up global data structures
+// required by the custom page cache implementation.
+// ^(If the xInit() method is NULL, then the
+// built-in default page cache is used instead of the application defined
+// page cache.)^
+//
+// [[the xShutdown() page cache method]]
+// ^The xShutdown() method is called by [sqlite3_shutdown()].
+// It can be used to clean up
+// any outstanding resources before process shutdown, if required.
+// ^The xShutdown() method may be NULL.
+//
+// ^SQLite automatically serializes calls to the xInit method,
+// so the xInit method need not be threadsafe. ^The
+// xShutdown method is only called from [sqlite3_shutdown()] so it does
+// not need to be threadsafe either. All other methods must be threadsafe
+// in multithreaded applications.
+//
+// ^SQLite will never invoke xInit() more than once without an intervening
+// call to xShutdown().
+//
+// [[the xCreate() page cache methods]]
+// ^SQLite invokes the xCreate() method to construct a new cache instance.
+// SQLite will typically create one cache instance for each open database file,
+// though this is not guaranteed. ^The
+// first parameter, szPage, is the size in bytes of the pages that must
+// be allocated by the cache. ^szPage will always a power of two. ^The
+// second parameter szExtra is a number of bytes of extra storage
+// associated with each page cache entry. ^The szExtra parameter will
+// a number less than 250. SQLite will use the
+// extra szExtra bytes on each page to store metadata about the underlying
+// database page on disk. The value passed into szExtra depends
+// on the SQLite version, the target platform, and how SQLite was compiled.
+// ^The third argument to xCreate(), bPurgeable, is true if the cache being
+// created will be used to cache database pages of a file stored on disk, or
+// false if it is used for an in-memory database. The cache implementation
+// does not have to do anything special based with the value of bPurgeable;
+// it is purely advisory. ^On a cache where bPurgeable is false, SQLite will
+// never invoke xUnpin() except to deliberately delete a page.
+// ^In other words, calls to xUnpin() on a cache with bPurgeable set to
+// false will always have the "discard" flag set to true.
+// ^Hence, a cache created with bPurgeable false will
+// never contain any unpinned pages.
+//
+// [[the xCachesize() page cache method]]
+// ^(The xCachesize() method may be called at any time by SQLite to set the
+// suggested maximum cache-size (number of pages stored by) the cache
+// instance passed as the first argument. This is the value configured using
+// the SQLite "[PRAGMA cache_size]" command.)^ As with the bPurgeable
+// parameter, the implementation is not required to do anything with this
+// value; it is advisory only.
+//
+// [[the xPagecount() page cache methods]]
+// The xPagecount() method must return the number of pages currently
+// stored in the cache, both pinned and unpinned.
+//
+// [[the xFetch() page cache methods]]
+// The xFetch() method locates a page in the cache and returns a pointer to
+// an sqlite3_pcache_page object associated with that page, or a NULL pointer.
+// The pBuf element of the returned sqlite3_pcache_page object will be a
+// pointer to a buffer of szPage bytes used to store the content of a
+// single database page. The pExtra element of sqlite3_pcache_page will be
+// a pointer to the szExtra bytes of extra storage that SQLite has requested
+// for each entry in the page cache.
+//
+// The page to be fetched is determined by the key. ^The minimum key value
+// is 1. After it has been retrieved using xFetch, the page is considered
+// to be "pinned".
+//
+// If the requested page is already in the page cache, then the page cache
+// implementation must return a pointer to the page buffer with its content
+// intact. If the requested page is not already in the cache, then the
+// cache implementation should use the value of the createFlag
+// parameter to help it determined what action to take:
+//
+// <table border=1 width=85% align=center>
+// <tr><th> createFlag <th> Behavior when page is not already in cache
+// <tr><td> 0 <td> Do not allocate a new page. Return NULL.
+// <tr><td> 1 <td> Allocate a new page if it easy and convenient to do so.
+// Otherwise return NULL.
+// <tr><td> 2 <td> Make every effort to allocate a new page. Only return
+// NULL if allocating a new page is effectively impossible.
+// </table>
+//
+// ^(SQLite will normally invoke xFetch() with a createFlag of 0 or 1. SQLite
+// will only use a createFlag of 2 after a prior call with a createFlag of 1
+// failed.)^ In between the xFetch() calls, SQLite may
+// attempt to unpin one or more cache pages by spilling the content of
+// pinned pages to disk and synching the operating system disk cache.
+//
+// [[the xUnpin() page cache method]]
+// ^xUnpin() is called by SQLite with a pointer to a currently pinned page
+// as its second argument. If the third parameter, discard, is non-zero,
+// then the page must be evicted from the cache.
+// ^If the discard parameter is
+// zero, then the page may be discarded or retained at the discretion of
+// page cache implementation. ^The page cache implementation
+// may choose to evict unpinned pages at any time.
+//
+// The cache must not perform any reference counting. A single
+// call to xUnpin() unpins the page regardless of the number of prior calls
+// to xFetch().
+//
+// [[the xRekey() page cache methods]]
+// The xRekey() method is used to change the key value associated with the
+// page passed as the second argument. If the cache
+// previously contains an entry associated with newKey, it must be
+// discarded. ^Any prior cache entry associated with newKey is guaranteed not
+// to be pinned.
+//
+// When SQLite calls the xTruncate() method, the cache must discard all
+// existing cache entries with page numbers (keys) greater than or equal
+// to the value of the iLimit parameter passed to xTruncate(). If any
+// of these pages are pinned, they are implicitly unpinned, meaning that
+// they can be safely discarded.
+//
+// [[the xDestroy() page cache method]]
+// ^The xDestroy() method is used to delete a cache allocated by xCreate().
+// All resources associated with the specified cache should be freed. ^After
+// calling the xDestroy() method, SQLite considers the [sqlite3_pcache*]
+// handle invalid, and will not use it with any other sqlite3_pcache_methods2
+// functions.
+//
+// [[the xShrink() page cache method]]
+// ^SQLite invokes the xShrink() method when it wants the page cache to
+// free up as much of heap memory as possible. The page cache implementation
+// is not obligated to free any memory, but well-behaved implementations should
+// do their best.
+type sqlite3_pcache_methods21 = struct {
+ iVersion int32
+ pArg uintptr
+ xInit uintptr
+ xShutdown uintptr
+ xCreate uintptr
+ xCachesize uintptr
+ xPagecount uintptr
+ xFetch uintptr
+ xUnpin uintptr
+ xRekey uintptr
+ xTruncate uintptr
+ xDestroy uintptr
+ xShrink uintptr
}
-var s__19 = [11]byte{0x63, 0x6c, 0x69, 0x70, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68}
-
-func s_vfsNameFunc(t *crt.TLS, _v1 int64, _v2 int32, _v3 int64) {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v15 int64 // %t10
- var _v16 int32 // %t11
- var _v18 int64 // %t13
- var _v7 int64 // %t2
- var _v10 int64 // %t5
- var _v13 int64 // %t8
- var _v4 = int64(bp + 0) // %v4
- var _v5 = int64(bp + 8) // %v5
- _v7 = Xsqlite3_context_db_handle(t, _v1)
- *(*int64)(unsafe.Pointer(uintptr(_v4))) = _v7
- *(*int64)(unsafe.Pointer(uintptr(_v5))) = int64(0)
- _v10 = *(*int64)(unsafe.Pointer(uintptr(_v4)))
- _v13 = int64(_v5 + int64(0))
- _ = Xsqlite3_file_control(t, _v10, int64(uintptr(unsafe.Pointer(&s__21))), 12, _v13)
- _v15 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v16 = crt.Bool32(int64(_v15) != int64(int64(0)))
- if _v16 != 0 {
- goto l2
- }
- goto l3
-l2:
- _v18 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- Xsqlite3_result_text(t, _v1, _v18, -1, *(*int64)(unsafe.Pointer(&struct{ f func(*crt.TLS, int64) }{Xsqlite3_free})))
- goto l3
-l3:
- goto l4
-l4:
+// CAPI3REF: Application Defined Page Cache.
+// KEYWORDS: {page cache}
+//
+// ^(The [sqlite3_config]([SQLITE_CONFIG_PCACHE2], ...) interface can
+// register an alternative page cache implementation by passing in an
+// instance of the sqlite3_pcache_methods2 structure.)^
+// In many applications, most of the heap memory allocated by
+// SQLite is used for the page cache.
+// By implementing a
+// custom page cache using this API, an application can better control
+// the amount of memory consumed by SQLite, the way in which
+// that memory is allocated and released, and the policies used to
+// determine exactly which parts of a database file are cached and for
+// how long.
+//
+// The alternative page cache mechanism is an
+// extreme measure that is only needed by the most demanding applications.
+// The built-in page cache is recommended for most uses.
+//
+// ^(The contents of the sqlite3_pcache_methods2 structure are copied to an
+// internal buffer by SQLite within the call to [sqlite3_config]. Hence
+// the application may discard the parameter after the call to
+// [sqlite3_config()] returns.)^
+//
+// [[the xInit() page cache method]]
+// ^(The xInit() method is called once for each effective
+// call to [sqlite3_initialize()])^
+// (usually only once during the lifetime of the process). ^(The xInit()
+// method is passed a copy of the sqlite3_pcache_methods2.pArg value.)^
+// The intent of the xInit() method is to set up global data structures
+// required by the custom page cache implementation.
+// ^(If the xInit() method is NULL, then the
+// built-in default page cache is used instead of the application defined
+// page cache.)^
+//
+// [[the xShutdown() page cache method]]
+// ^The xShutdown() method is called by [sqlite3_shutdown()].
+// It can be used to clean up
+// any outstanding resources before process shutdown, if required.
+// ^The xShutdown() method may be NULL.
+//
+// ^SQLite automatically serializes calls to the xInit method,
+// so the xInit method need not be threadsafe. ^The
+// xShutdown method is only called from [sqlite3_shutdown()] so it does
+// not need to be threadsafe either. All other methods must be threadsafe
+// in multithreaded applications.
+//
+// ^SQLite will never invoke xInit() more than once without an intervening
+// call to xShutdown().
+//
+// [[the xCreate() page cache methods]]
+// ^SQLite invokes the xCreate() method to construct a new cache instance.
+// SQLite will typically create one cache instance for each open database file,
+// though this is not guaranteed. ^The
+// first parameter, szPage, is the size in bytes of the pages that must
+// be allocated by the cache. ^szPage will always a power of two. ^The
+// second parameter szExtra is a number of bytes of extra storage
+// associated with each page cache entry. ^The szExtra parameter will
+// a number less than 250. SQLite will use the
+// extra szExtra bytes on each page to store metadata about the underlying
+// database page on disk. The value passed into szExtra depends
+// on the SQLite version, the target platform, and how SQLite was compiled.
+// ^The third argument to xCreate(), bPurgeable, is true if the cache being
+// created will be used to cache database pages of a file stored on disk, or
+// false if it is used for an in-memory database. The cache implementation
+// does not have to do anything special based with the value of bPurgeable;
+// it is purely advisory. ^On a cache where bPurgeable is false, SQLite will
+// never invoke xUnpin() except to deliberately delete a page.
+// ^In other words, calls to xUnpin() on a cache with bPurgeable set to
+// false will always have the "discard" flag set to true.
+// ^Hence, a cache created with bPurgeable false will
+// never contain any unpinned pages.
+//
+// [[the xCachesize() page cache method]]
+// ^(The xCachesize() method may be called at any time by SQLite to set the
+// suggested maximum cache-size (number of pages stored by) the cache
+// instance passed as the first argument. This is the value configured using
+// the SQLite "[PRAGMA cache_size]" command.)^ As with the bPurgeable
+// parameter, the implementation is not required to do anything with this
+// value; it is advisory only.
+//
+// [[the xPagecount() page cache methods]]
+// The xPagecount() method must return the number of pages currently
+// stored in the cache, both pinned and unpinned.
+//
+// [[the xFetch() page cache methods]]
+// The xFetch() method locates a page in the cache and returns a pointer to
+// an sqlite3_pcache_page object associated with that page, or a NULL pointer.
+// The pBuf element of the returned sqlite3_pcache_page object will be a
+// pointer to a buffer of szPage bytes used to store the content of a
+// single database page. The pExtra element of sqlite3_pcache_page will be
+// a pointer to the szExtra bytes of extra storage that SQLite has requested
+// for each entry in the page cache.
+//
+// The page to be fetched is determined by the key. ^The minimum key value
+// is 1. After it has been retrieved using xFetch, the page is considered
+// to be "pinned".
+//
+// If the requested page is already in the page cache, then the page cache
+// implementation must return a pointer to the page buffer with its content
+// intact. If the requested page is not already in the cache, then the
+// cache implementation should use the value of the createFlag
+// parameter to help it determined what action to take:
+//
+// <table border=1 width=85% align=center>
+// <tr><th> createFlag <th> Behavior when page is not already in cache
+// <tr><td> 0 <td> Do not allocate a new page. Return NULL.
+// <tr><td> 1 <td> Allocate a new page if it easy and convenient to do so.
+// Otherwise return NULL.
+// <tr><td> 2 <td> Make every effort to allocate a new page. Only return
+// NULL if allocating a new page is effectively impossible.
+// </table>
+//
+// ^(SQLite will normally invoke xFetch() with a createFlag of 0 or 1. SQLite
+// will only use a createFlag of 2 after a prior call with a createFlag of 1
+// failed.)^ In between the xFetch() calls, SQLite may
+// attempt to unpin one or more cache pages by spilling the content of
+// pinned pages to disk and synching the operating system disk cache.
+//
+// [[the xUnpin() page cache method]]
+// ^xUnpin() is called by SQLite with a pointer to a currently pinned page
+// as its second argument. If the third parameter, discard, is non-zero,
+// then the page must be evicted from the cache.
+// ^If the discard parameter is
+// zero, then the page may be discarded or retained at the discretion of
+// page cache implementation. ^The page cache implementation
+// may choose to evict unpinned pages at any time.
+//
+// The cache must not perform any reference counting. A single
+// call to xUnpin() unpins the page regardless of the number of prior calls
+// to xFetch().
+//
+// [[the xRekey() page cache methods]]
+// The xRekey() method is used to change the key value associated with the
+// page passed as the second argument. If the cache
+// previously contains an entry associated with newKey, it must be
+// discarded. ^Any prior cache entry associated with newKey is guaranteed not
+// to be pinned.
+//
+// When SQLite calls the xTruncate() method, the cache must discard all
+// existing cache entries with page numbers (keys) greater than or equal
+// to the value of the iLimit parameter passed to xTruncate(). If any
+// of these pages are pinned, they are implicitly unpinned, meaning that
+// they can be safely discarded.
+//
+// [[the xDestroy() page cache method]]
+// ^The xDestroy() method is used to delete a cache allocated by xCreate().
+// All resources associated with the specified cache should be freed. ^After
+// calling the xDestroy() method, SQLite considers the [sqlite3_pcache*]
+// handle invalid, and will not use it with any other sqlite3_pcache_methods2
+// functions.
+//
+// [[the xShrink() page cache method]]
+// ^SQLite invokes the xShrink() method when it wants the page cache to
+// free up as much of heap memory as possible. The page cache implementation
+// is not obligated to free any memory, but well-behaved implementations should
+// do their best.
+type sqlite3_pcache_methods2 = sqlite3_pcache_methods21 /* sqlite3.h:8436:40 */
+
+// This is the obsolete pcache_methods object that has now been replaced
+// by sqlite3_pcache_methods2. This object is not used by SQLite. It is
+// retained in the header file for backwards compatibility only.
+type sqlite3_pcache_methods1 = struct {
+ pArg uintptr
+ xInit uintptr
+ xShutdown uintptr
+ xCreate uintptr
+ xCachesize uintptr
+ xPagecount uintptr
+ xFetch uintptr
+ xUnpin uintptr
+ xRekey uintptr
+ xTruncate uintptr
+ xDestroy uintptr
}
-var s__20 = [12]byte{0x76, 0x66, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x46, 0x75, 0x6e, 0x63}
-
-var s__21 = [5]byte{0x6d, 0x61, 0x69, 0x6e}
-
-func s_busyHandler(t *crt.TLS, _v1 int64, _v2 int32) int32 {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v12 int32 // %t10
- var _v14 int32 // %t12
- var _v18 int32 // %t16
- var _v5 int32 // %t3
- var _v8 int32 // %t6
- var _v9 int32 // %t7
- _v5 = int32(_v2 * 10)
- _v8 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 120))
- _v9 = crt.Bool32(int32(_v5) > int32(_v8))
- if _v9 != 0 {
- goto l2
- }
- goto l6
-l2:
- _v12 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 120))
- _v14 = crt.Bool32(int32(_v12) > int32(0))
- if _v14 != 0 {
- goto l3
- }
- goto l4
-l3:
- _v18 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 120))
- *(*int32)(unsafe.Pointer(bp + 0)) = _v18
- s_errorMessage(t, int64(uintptr(unsafe.Pointer(&s__23))), bp+0)
- goto l4
-l4:
- return 0
-l6:
- _ = Xsqlite3_sleep(t, 10)
- return 1
+// This is the obsolete pcache_methods object that has now been replaced
+// by sqlite3_pcache_methods2. This object is not used by SQLite. It is
+// retained in the header file for backwards compatibility only.
+type sqlite3_pcache_methods = sqlite3_pcache_methods1 /* sqlite3.h:8459:39 */
+
+// CAPI3REF: Database Snapshot
+// KEYWORDS: {snapshot} {sqlite3_snapshot}
+//
+// An instance of the snapshot object records the state of a [WAL mode]
+// database for some specific point in history.
+//
+// In [WAL mode], multiple [database connections] that are open on the
+// same database file can each be reading a different historical version
+// of the database file. When a [database connection] begins a read
+// transaction, that connection sees an unchanging copy of the database
+// as it existed for the point in time when the transaction first started.
+// Subsequent changes to the database from other connections are not seen
+// by the reader until a new read transaction is started.
+//
+// The sqlite3_snapshot object records state information about an historical
+// version of the database file so that it is possible to later open a new read
+// transaction that sees that historical version of the database rather than
+// the most recent version.
+type sqlite3_snapshot1 = struct{ hidden [48]uint8 }
+
+// CAPI3REF: Database Snapshot
+// KEYWORDS: {snapshot} {sqlite3_snapshot}
+//
+// An instance of the snapshot object records the state of a [WAL mode]
+// database for some specific point in history.
+//
+// In [WAL mode], multiple [database connections] that are open on the
+// same database file can each be reading a different historical version
+// of the database file. When a [database connection] begins a read
+// transaction, that connection sees an unchanging copy of the database
+// as it existed for the point in time when the transaction first started.
+// Subsequent changes to the database from other connections are not seen
+// by the reader until a new read transaction is started.
+//
+// The sqlite3_snapshot object records state information about an historical
+// version of the database file so that it is possible to later open a new read
+// transaction that sees that historical version of the database rather than
+// the most recent version.
+type sqlite3_snapshot = sqlite3_snapshot1 /* sqlite3.h:9508:3 */
+
+// CAPI3REF: Flags for sqlite3_deserialize()
+//
+// The following are allowed values for 6th argument (the F argument) to
+// the [sqlite3_deserialize(D,S,P,N,M,F)] interface.
+//
+// The SQLITE_DESERIALIZE_FREEONCLOSE means that the database serialization
+// in the P argument is held in memory obtained from [sqlite3_malloc64()]
+// and that SQLite should take ownership of this memory and automatically
+// free it when it has finished using it. Without this flag, the caller
+// is responsible for freeing any dynamically allocated memory.
+//
+// The SQLITE_DESERIALIZE_RESIZEABLE flag means that SQLite is allowed to
+// grow the size of the database using calls to [sqlite3_realloc64()]. This
+// flag should only be used if SQLITE_DESERIALIZE_FREEONCLOSE is also used.
+// Without this flag, the deserialized database cannot increase in size beyond
+// the number of bytes specified by the M parameter.
+//
+// The SQLITE_DESERIALIZE_READONLY flag means that the deserialized database
+// should be treated as read-only.
+
+// Undo the hack that converts floating point types to integer for
+// builds on processors without floating point support.
+
+//******* Begin file sqlite3rtree.h ********
+// 2010 August 30
+//
+// The author disclaims copyright to this source code. In place of
+// a legal notice, here is a blessing:
+//
+// May you do good and not evil.
+// May you find forgiveness for yourself and forgive others.
+// May you share freely, never taking more than you give.
+//
+//
+
+type sqlite3_rtree_geometry1 = struct {
+ pContext uintptr
+ nParam int32
+ aParam uintptr
+ pUser uintptr
+ xDelUser uintptr
}
-var s__22 = [12]byte{0x62, 0x75, 0x73, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72}
-
-var s__23 = [19]byte{
- 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x25, 0x64,
- 0x6d, 0x73,
+// CAPI3REF: Flags for sqlite3_deserialize()
+//
+// The following are allowed values for 6th argument (the F argument) to
+// the [sqlite3_deserialize(D,S,P,N,M,F)] interface.
+//
+// The SQLITE_DESERIALIZE_FREEONCLOSE means that the database serialization
+// in the P argument is held in memory obtained from [sqlite3_malloc64()]
+// and that SQLite should take ownership of this memory and automatically
+// free it when it has finished using it. Without this flag, the caller
+// is responsible for freeing any dynamically allocated memory.
+//
+// The SQLITE_DESERIALIZE_RESIZEABLE flag means that SQLite is allowed to
+// grow the size of the database using calls to [sqlite3_realloc64()]. This
+// flag should only be used if SQLITE_DESERIALIZE_FREEONCLOSE is also used.
+// Without this flag, the deserialized database cannot increase in size beyond
+// the number of bytes specified by the M parameter.
+//
+// The SQLITE_DESERIALIZE_READONLY flag means that the deserialized database
+// should be treated as read-only.
+
+// Undo the hack that converts floating point types to integer for
+// builds on processors without floating point support.
+
+//******* Begin file sqlite3rtree.h ********
+// 2010 August 30
+//
+// The author disclaims copyright to this source code. In place of
+// a legal notice, here is a blessing:
+//
+// May you do good and not evil.
+// May you find forgiveness for yourself and forgive others.
+// May you share freely, never taking more than you give.
+//
+//
+
+type sqlite3_rtree_geometry = sqlite3_rtree_geometry1 /* sqlite3.h:9833:39 */
+type sqlite3_rtree_query_info1 = struct {
+ pContext uintptr
+ nParam int32
+ aParam uintptr
+ pUser uintptr
+ xDelUser uintptr
+ aCoord uintptr
+ anQueue uintptr
+ nCoord int32
+ iLevel int32
+ mxLevel int32
+ iRowid sqlite3_int64
+ rParentScore sqlite3_rtree_dbl
+ eParentWithin int32
+ eWithin int32
+ rScore sqlite3_rtree_dbl
+ apSqlParam uintptr
}
-func s_sqlTraceCallback(t *crt.TLS, _v1 int64, _v2 int64) {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v5 int32 // %t3
- _v5 = s_clipLength(t, _v2)
- *(*int32)(unsafe.Pointer(bp + 0)) = _v5
-
- *(*int64)(unsafe.Pointer(bp + 8)) = _v2
- s_logMessage(t, int64(uintptr(unsafe.Pointer(&s__25))), bp+0)
- goto l2
-l2:
+type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 /* sqlite3.h:9834:41 */
+
+// The double-precision datatype used by RTree depends on the
+// SQLITE_RTREE_INT_ONLY compile-time option.
+type sqlite3_rtree_dbl = float64 /* sqlite3.h:9842:18 */
+
+// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin.
+
+//******* End of sqlite3rtree.h ********
+//******* Begin file sqlite3session.h ********
+
+//******* End of sqlite3session.h ********
+//******* Begin file fts5.h ********
+// 2014 May 31
+//
+// The author disclaims copyright to this source code. In place of
+// a legal notice, here is a blessing:
+//
+// May you do good and not evil.
+// May you find forgiveness for yourself and forgive others.
+// May you share freely, never taking more than you give.
+//
+//
+//
+// Interfaces to extend FTS5. Using the interfaces defined in this file,
+// FTS5 may be extended with:
+//
+// * custom tokenizers, and
+// * custom auxiliary functions.
+
+// ************************************************************************
+//
+// CUSTOM AUXILIARY FUNCTIONS
+//
+// Virtual table implementations may overload SQL functions by implementing
+// the sqlite3_module.xFindFunction() method.
+
+type Fts5ExtensionApi1 = struct {
+ iVersion int32
+ xUserData uintptr
+ xColumnCount uintptr
+ xRowCount uintptr
+ xColumnTotalSize uintptr
+ xTokenize uintptr
+ xPhraseCount uintptr
+ xPhraseSize uintptr
+ xInstCount uintptr
+ xInst uintptr
+ xRowid uintptr
+ xColumnText uintptr
+ xColumnSize uintptr
+ xQueryPhrase uintptr
+ xSetAuxdata uintptr
+ xGetAuxdata uintptr
+ xPhraseFirst uintptr
+ xPhraseNext uintptr
+ xPhraseFirstColumn uintptr
+ xPhraseNextColumn uintptr
}
-var s__24 = [17]byte{0x73, 0x71, 0x6c, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b}
-
-var s__25 = [7]byte{0x5b, 0x25, 0x2e, 0x2a, 0x73, 0x5d}
-
-func s_sqlErrorCallback(t *crt.TLS, _v1 int64, _v2 int32, _v3 int64) {
- bp := t.Alloc(32)
- defer t.Free(32)
- var _v13 int32 // %t10
- var _v15 int32 // %t12
- var _v18 int32 // %t15
- var _v20 int32 // %t17
- var _v21 int32 // %t18
- var _v24 int32 // %t21
- var _v26 int32 // %t23
- var _v29 int32 // %t26
- var _v31 int32 // %t28
- var _v32 int32 // %t29
- var _v6 int32 // %t3
- var _v35 int32 // %t32
- var _v37 int32 // %t34
- var _v38 int32 // %t35
- var _v41 int32 // %t38
- var _v43 int32 // %t40
- var _v9 int32 // %t6
- var _v10 int32 // %t7
- _v6 = crt.Bool32(int32(_v2) == int32(1))
- goto l2
-l2:
- if _v6 != 0 {
- goto l3
- }
- goto l35
-l35:
- _v10 = 0
- goto l6
-l3:
- _v9 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 108))
- goto l4
-l4:
- if _v9 != 0 {
- goto l5
- }
- goto l36
-l36:
- _v10 = 0
- goto l6
-l5:
- _v10 = 1
- goto l6
-l6:
- if _v10 != 0 {
- goto l7
- }
- goto l9
-l7:
-
- return
-l9:
- _v13 = int32(int32(_v2) & int32(255))
- _v15 = crt.Bool32(int32(_v13) == int32(17))
- goto l10
-l10:
- if _v15 != 0 {
- goto l11
- }
- goto l37
-l37:
- _v21 = 0
- goto l14
-l11:
- _v18 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 100))
- _v20 = crt.Bool32(int32(_v18) < int32(3))
- goto l12
-l12:
- if _v20 != 0 {
- goto l13
- }
- goto l38
-l38:
- _v21 = 0
- goto l14
-l13:
- _v21 = 1
- goto l14
-l14:
- if _v21 != 0 {
- goto l15
- }
- goto l17
-l15:
-
- return
-l17:
- _v24 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 120))
- _v26 = crt.Bool32(int32(_v24) == int32(0))
- goto l18
-l18:
- if _v26 != 0 {
- goto l19
- }
- goto l39
-l39:
- _v32 = 0
- goto l22
-l19:
- _v29 = int32(int32(_v2) & int32(255))
- _v31 = crt.Bool32(int32(_v29) == int32(5))
- goto l20
-l20:
- if _v31 != 0 {
- goto l21
- }
- goto l40
-l40:
- _v32 = 0
- goto l22
-l21:
- _v32 = 1
- goto l22
-l22:
- goto l23
-l23:
- if _v32 != 0 {
- goto l24
- }
- goto l41
-l41:
- _v38 = 0
- goto l27
-l24:
- _v35 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 100))
- _v37 = crt.Bool32(int32(_v35) < int32(3))
- goto l25
-l25:
- if _v37 != 0 {
- goto l26
- }
- goto l42
-l42:
- _v38 = 0
- goto l27
-l26:
- _v38 = 1
- goto l27
-l27:
- if _v38 != 0 {
- goto l28
- }
- goto l30
-l28:
-
- return
-l30:
- _v41 = int32(int32(_v2) & int32(255))
- _v43 = crt.Bool32(int32(_v41) == int32(27))
- if _v43 != 0 {
- goto l31
- }
- goto l32
-l31:
- *(*int64)(unsafe.Pointer(bp + 0)) = _v3
- s_logMessage(t, int64(uintptr(unsafe.Pointer(&s__27))), bp+0)
- goto l33
-l32:
- *(*int32)(unsafe.Pointer(bp + 8)) = _v2
-
- *(*int64)(unsafe.Pointer(bp + 16)) = _v3
- s_errorMessage(t, int64(uintptr(unsafe.Pointer(&s__28))), bp+8)
- goto l33
-l33:
- goto l34
-l34:
+// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin.
+
+//******* End of sqlite3rtree.h ********
+//******* Begin file sqlite3session.h ********
+
+//******* End of sqlite3session.h ********
+//******* Begin file fts5.h ********
+// 2014 May 31
+//
+// The author disclaims copyright to this source code. In place of
+// a legal notice, here is a blessing:
+//
+// May you do good and not evil.
+// May you find forgiveness for yourself and forgive others.
+// May you share freely, never taking more than you give.
+//
+//
+//
+// Interfaces to extend FTS5. Using the interfaces defined in this file,
+// FTS5 may be extended with:
+//
+// * custom tokenizers, and
+// * custom auxiliary functions.
+
+// ************************************************************************
+//
+// CUSTOM AUXILIARY FUNCTIONS
+//
+// Virtual table implementations may overload SQL functions by implementing
+// the sqlite3_module.xFindFunction() method.
+
+type Fts5ExtensionApi = Fts5ExtensionApi1 /* sqlite3.h:11628:33 */
+type Fts5PhraseIter1 = struct {
+ a uintptr
+ b uintptr
}
-var s__26 = [17]byte{0x73, 0x71, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b}
-
-var s__27 = [10]byte{0x28, 0x69, 0x6e, 0x66, 0x6f, 0x29, 0x20, 0x25, 0x73}
-
-var s__28 = [16]byte{0x28, 0x65, 0x72, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x3d, 0x25, 0x64, 0x29, 0x20, 0x25, 0x73}
-
-func s_prepareSql(t *crt.TLS, _v1 int64, args uintptr) int64 {
- bp := t.Alloc(64)
- defer t.Free(64)
- var _v15 int64 // %t10
- var _v16 int64 // %t11
- var _v19 int64 // %t14
- var _v22 int32 // %t17
- var _v23 int64 // %t18
- var _v24 int32 // %t19
- var _v26 int32 // %t21
- var _v27 int64 // %t22
- var _v32 int64 // %t27
- var _v33 int64 // %t28
- var _v34 int64 // %t29
- var _v35 int64 // %t30
- var _v36 int64 // %t31
- var _v10 int64 // %t5
- var _v11 int64 // %t6
- var _v2 = int64(bp + 16) // %v2
- var _v3 = int64(bp + 40) // %v3
- var _v4 = int64(bp + 48) // %v4
- var _v5 = int64(bp + 56) // %v5
- *(*int64)(unsafe.Pointer(uintptr(_v5))) = int64(0)
- *(*uintptr)(unsafe.Pointer(bp + 16)) = args
- _v10 = Xsqlite3_vmprintf(t, _v1, _v2)
- _v11 = int64(_v3 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v11))) = _v10
- _v15 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _v16 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v19 = int64(_v5 + int64(0))
- _v22 = Xsqlite3_prepare_v2(t, _v15, _v16, -1, _v19, int64(0))
- _v23 = int64(_v4 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v23))) = _v22
- _v24 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v26 = crt.Bool32(int32(_v24) != int32(0))
- if _v26 != 0 {
- goto l2
- }
- goto l3
-l2:
- _v27 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _ = Xsqlite3_finalize(t, _v27)
- _v32 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _v33 = Xsqlite3_errmsg(t, _v32)
- _v34 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- *(*int64)(unsafe.Pointer(bp + 0)) = _v33
-
- *(*int64)(unsafe.Pointer(bp + 8)) = _v34
- s_fatalError(t, int64(uintptr(unsafe.Pointer(&s__30))), bp+0)
- goto l3
-l3:
- _v35 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- Xsqlite3_free(t, _v35)
- _v36 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- return _v36
-}
+type Fts5PhraseIter = Fts5PhraseIter1 /* sqlite3.h:11630:31 */
-var s__29 = [11]byte{0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x53, 0x71, 0x6c}
-
-var s__30 = [7]byte{0x25, 0x73, 0x0a, 0x25, 0x73, 0x0a}
-
-func s_runSql(t *crt.TLS, _v1 int64, args uintptr) {
- bp := t.Alloc(64)
- defer t.Free(64)
- var _v20 int32 // %t16
- var _v21 int64 // %t17
- var _v22 int32 // %t18
- var _v24 int32 // %t20
- var _v28 int64 // %t24
- var _v29 int64 // %t25
- var _v30 int64 // %t26
- var _v31 int64 // %t27
- var _v7 int64 // %t3
- var _v8 int64 // %t4
- var _v12 int64 // %t8
- var _v13 int64 // %t9
- var _v2 = int64(bp + 16) // %v2
- var _v3 = int64(bp + 40) // %v3
- var _v4 = int64(bp + 48) // %v4
- *(*uintptr)(unsafe.Pointer(bp + 16)) = args
- _v7 = Xsqlite3_vmprintf(t, _v1, _v2)
- _v8 = int64(_v3 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v8))) = _v7
- _v12 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _v13 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v20 = Xsqlite3_exec(t, _v12, _v13, int64(0), int64(0), int64(0))
- _v21 = int64(_v4 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v21))) = _v20
- _v22 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v24 = crt.Bool32(int32(_v22) != int32(0))
- if _v24 != 0 {
- goto l2
- }
- goto l3
-l2:
- _v28 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _v29 = Xsqlite3_errmsg(t, _v28)
- _v30 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- *(*int64)(unsafe.Pointer(bp + 0)) = _v29
-
- *(*int64)(unsafe.Pointer(bp + 8)) = _v30
- s_fatalError(t, int64(uintptr(unsafe.Pointer(&s__30))), bp+0)
- goto l3
-l3:
- _v31 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- Xsqlite3_free(t, _v31)
- goto l4
-l4:
+type fts5_extension_function = uintptr /* sqlite3.h:11632:14 */
+type fts5_tokenizer1 = struct {
+ xCreate uintptr
+ xDelete uintptr
+ xTokenize uintptr
}
-var s__31 = [7]byte{0x72, 0x75, 0x6e, 0x53, 0x71, 0x6c}
-
-func s_trySql(t *crt.TLS, _v1 int64, args uintptr) int32 {
- bp := t.Alloc(48)
- defer t.Free(48)
- var _v20 int32 // %t16
- var _v21 int64 // %t17
- var _v22 int64 // %t18
- var _v23 int32 // %t19
- var _v7 int64 // %t3
- var _v8 int64 // %t4
- var _v12 int64 // %t8
- var _v13 int64 // %t9
- var _v2 = int64(bp + 0) // %v2
- var _v3 = int64(bp + 24) // %v3
- var _v4 = int64(bp + 32) // %v4
- *(*uintptr)(unsafe.Pointer(bp + 0)) = args
- _v7 = Xsqlite3_vmprintf(t, _v1, _v2)
- _v8 = int64(_v3 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v8))) = _v7
- _v12 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _v13 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v20 = Xsqlite3_exec(t, _v12, _v13, int64(0), int64(0), int64(0))
- _v21 = int64(_v4 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v21))) = _v20
- _v22 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- Xsqlite3_free(t, _v22)
- _v23 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- return _v23
-}
+type fts5_tokenizer = fts5_tokenizer1 /* sqlite3.h:12091:31 */
-var s__32 = [7]byte{0x74, 0x72, 0x79, 0x53, 0x71, 0x6c}
-
-func s_stringFree(t *crt.TLS, _v1 int64) {
- var _v3 int64 // %t2
- var _v4 int64 // %t3
- var _v5 int32 // %t4
- var _v7 int64 // %t6
- var _v8 int64 // %t7
- _v3 = int64(_v1 + int64(0))
- _v4 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v5 = crt.Bool32(int64(_v4) != int64(int64(0)))
- if _v5 != 0 {
- goto l2
- }
- goto l3
-l2:
- _v7 = int64(_v1 + int64(0))
- _v8 = *(*int64)(unsafe.Pointer(uintptr(_v7)))
- Xsqlite3_free(t, _v8)
- goto l3
-l3:
- _ = crt.Xmemset(t, _v1, 0, int64(16))
- goto l4
-l4:
-}
+// Flags that may be passed as the third argument to xTokenize()
-var s__33 = [11]byte{0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x72, 0x65, 0x65}
-
-func s_stringAppend(t *crt.TLS, _v1 int64, _v2 int64, _v3 int32) {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v16 int64 // %t10
- var _v17 int32 // %t11
- var _v18 int32 // %t12
- var _v19 int32 // %t13
- var _v21 int64 // %t15
- var _v22 int32 // %t16
- var _v23 int32 // %t17
- var _v25 int64 // %t19
- var _v8 int32 // %t2
- var _v26 int32 // %t20
- var _v28 int32 // %t22
- var _v29 int32 // %t23
- var _v30 int32 // %t24
- var _v32 int32 // %t26
- var _v34 int64 // %t28
- var _v35 int64 // %t29
- var _v36 int32 // %t30
- var _v37 int64 // %t31
- var _v38 int64 // %t32
- var _v41 int32 // %t35
- var _v43 int64 // %t37
- var _v45 int64 // %t39
- var _v10 int32 // %t4
- var _v46 int32 // %t40
- var _v48 int64 // %t42
- var _v50 int64 // %t44
- var _v51 int64 // %t45
- var _v53 int64 // %t47
- var _v54 int32 // %t48
- var _v55 int64 // %t49
- var _v56 int64 // %t50
- var _v58 int32 // %t52
- var _v59 int64 // %t53
- var _v61 int32 // %t55
- var _v63 int64 // %t57
- var _v64 int32 // %t58
- var _v65 int32 // %t59
- var _v12 int64 // %t6
- var _v69 int64 // %t63
- var _v70 int32 // %t64
- var _v71 int64 // %t65
- var _v72 int64 // %t66
- var _v74 int64 // %t68
- var _v75 int64 // %t69
- var _v13 int32 // %t7
- var _v76 int64 // %t70
- var _v14 int64 // %t8
- var _v4 = int64(bp + 0) // %v3
- var _v6 = int64(bp + 4) // %v4
- var _v7 = int64(bp + 8) // %v5
- *(*int32)(unsafe.Pointer(uintptr(_v4))) = _v3
- _v8 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v10 = crt.Bool32(int32(_v8) < int32(0))
- if _v10 != 0 {
- goto l2
- }
- goto l3
-l2:
- _v12 = crt.Xstrlen(t, _v2)
- _v13 = int32(int32(int32(_v12)) & int32(-1))
- _v14 = int64(_v4 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v14))) = _v13
- goto l3
-l3:
- _v16 = int64(_v1 + int64(8))
- _v17 = *(*int32)(unsafe.Pointer(uintptr(_v16)))
- _v18 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v19 = int32(int32(_v17) + int32(_v18))
- _v21 = int64(_v1 + int64(12))
- _v22 = *(*int32)(unsafe.Pointer(uintptr(_v21)))
- _v23 = crt.Bool32(int32(_v19) >= int32(_v22))
- if _v23 != 0 {
- goto l4
- }
- goto l9
-l9:
- goto l7
-l4:
- _v25 = int64(_v1 + int64(12))
- _v26 = *(*int32)(unsafe.Pointer(uintptr(_v25)))
- _v28 = int32(_v26 * 2)
- _v29 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v30 = int32(int32(_v28) + int32(_v29))
- _v32 = int32(int32(_v30) + int32(100))
- *(*int32)(unsafe.Pointer(uintptr(_v6))) = _v32
- _v34 = int64(_v1 + int64(0))
- _v35 = *(*int64)(unsafe.Pointer(uintptr(_v34)))
- _v36 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v37 = Xsqlite3_realloc(t, _v35, _v36)
- *(*int64)(unsafe.Pointer(uintptr(_v7))) = _v37
- _v38 = *(*int64)(unsafe.Pointer(uintptr(_v7)))
- _v41 = crt.Bool32(_v38 == int64(0))
- if _v41 != 0 {
- goto l5
- }
- goto l6
-l5:
- s_fatalError(t, int64(uintptr(unsafe.Pointer(&s__35))), 0)
- goto l6
-l6:
- _v43 = *(*int64)(unsafe.Pointer(uintptr(_v7)))
- _v45 = int64(_v1 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v45))) = _v43
- _v46 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v48 = int64(_v1 + int64(12))
- *(*int32)(unsafe.Pointer(uintptr(_v48))) = _v46
- goto l7
-l7:
- _v50 = int64(_v1 + int64(0))
- _v51 = *(*int64)(unsafe.Pointer(uintptr(_v50)))
- _v53 = int64(_v1 + int64(8))
- _v54 = *(*int32)(unsafe.Pointer(uintptr(_v53)))
- _v55 = int64(int32(_v54))
- _v56 = int64(_v51 + _v55)
- _v58 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v59 = int64(int32(_v58))
- _ = crt.Xmemcpy(t, _v56, _v2, _v59)
- _v61 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v63 = int64(_v1 + int64(8))
- _v64 = *(*int32)(unsafe.Pointer(uintptr(_v63)))
- _v65 = int32(int32(_v64) + int32(_v61))
- *(*int32)(unsafe.Pointer(uintptr(_v63))) = _v65
- _v69 = int64(_v1 + int64(8))
- _v70 = *(*int32)(unsafe.Pointer(uintptr(_v69)))
- _v71 = int64(int32(_v70))
- _v72 = int64(_v71 * int64(1))
- _v74 = int64(_v1 + int64(0))
- _v75 = *(*int64)(unsafe.Pointer(uintptr(_v74)))
- _v76 = int64(_v75 + _v72)
- *(*int8)(unsafe.Pointer(uintptr(_v76))) = 0
- goto l8
-l8:
-}
+// Flags that may be passed by the tokenizer implementation back to FTS5
+// as the third argument to the supplied xToken callback.
-var s__34 = [13]byte{0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64}
-
-var s__35 = [14]byte{0x6f, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79}
-
-func s_stringReset(t *crt.TLS, _v1 int64) {
- var _v13 int64 // %t12
- var _v20 int64 // %t19
- var _v3 int64 // %t2
- var _v21 int64 // %t20
- var _v22 int64 // %t21
- var _v4 int64 // %t3
- var _v7 int32 // %t6
- _v3 = int64(_v1 + int64(0))
- _v4 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v7 = crt.Bool32(_v4 == int64(0))
- if _v7 != 0 {
- goto l2
- }
- goto l3
-l2:
- s_stringAppend(t, _v1, int64(uintptr(unsafe.Pointer(&s__37))), 1)
- goto l3
-l3:
- _v13 = int64(_v1 + int64(8))
- *(*int32)(unsafe.Pointer(uintptr(_v13))) = 0
- _v20 = int64(_v1 + int64(0))
- _v21 = *(*int64)(unsafe.Pointer(uintptr(_v20)))
- _v22 = int64(_v21 + int64(0))
- *(*int8)(unsafe.Pointer(uintptr(_v22))) = 0
- goto l4
-l4:
-}
-
-var s__36 = [12]byte{0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x65, 0x74}
-
-var s__37 = [2]byte{0x20}
-
-func s_stringAppendTerm(t *crt.TLS, _v1 int64, _v2 int64) {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v104 int32 // %t100
- var _v106 int32 // %t102
- var _v110 int32 // %t106
- var _v112 int32 // %t108
- var _v113 int64 // %t109
- var _v15 int32 // %t11
- var _v114 int64 // %t110
- var _v115 int64 // %t111
- var _v116 int64 // %t112
- var _v118 int64 // %t114
- var _v119 int32 // %t115
- var _v20 int64 // %t16
- var _v21 int32 // %t17
- var _v22 int64 // %t18
- var _v23 int64 // %t19
- var _v24 int64 // %t20
- var _v25 int64 // %t21
- var _v26 int32 // %t22
- var _v27 int32 // %t23
- var _v28 int64 // %t24
- var _v29 int64 // %t25
- var _v30 int64 // %t26
- var _v31 int64 // %t27
- var _v32 int32 // %t28
- var _v33 int32 // %t29
- var _v7 int64 // %t3
- var _v34 int64 // %t30
- var _v35 int64 // %t31
- var _v36 int64 // %t32
- var _v37 int64 // %t33
- var _v38 int64 // %t34
- var _v39 int32 // %t35
- var _v40 int32 // %t36
- var _v8 int32 // %t4
- var _v44 int32 // %t40
- var _v45 int32 // %t41
- var _v46 int32 // %t42
- var _v47 int64 // %t43
- var _v48 int32 // %t44
- var _v49 int32 // %t45
- var _v50 int32 // %t46
- var _v52 int32 // %t48
- var _v53 int32 // %t49
- var _v54 int64 // %t50
- var _v55 int64 // %t51
- var _v56 int64 // %t52
- var _v57 int64 // %t53
- var _v58 int32 // %t54
- var _v59 int32 // %t55
- var _v61 int32 // %t57
- var _v62 int32 // %t58
- var _v64 int64 // %t60
- var _v65 int32 // %t61
- var _v72 int64 // %t68
- var _v73 int64 // %t69
- var _v74 int32 // %t70
- var _v76 int64 // %t72
- var _v77 int32 // %t73
- var _v78 int64 // %t74
- var _v79 int64 // %t75
- var _v80 int64 // %t76
- var _v81 int64 // %t77
- var _v82 int32 // %t78
- var _v83 int32 // %t79
- var _v12 int64 // %t8
- var _v84 int64 // %t80
- var _v85 int64 // %t81
- var _v86 int64 // %t82
- var _v87 int64 // %t83
- var _v88 int32 // %t84
- var _v89 int32 // %t85
- var _v91 int32 // %t87
- var _v92 int32 // %t88
- var _v93 int64 // %t89
- var _v94 int32 // %t90
- var _v95 int32 // %t91
- var _v96 int32 // %t92
- var _v97 int64 // %t93
- var _v98 int64 // %t94
- var _v99 int64 // %t95
- var _v100 int64 // %t96
- var _v101 int32 // %t97
- var _v103 int64 // %t99
- var _v3 = int64(bp + 0) // %v2
- var _v5 = int64(bp + 8) // %v3
- *(*int64)(unsafe.Pointer(uintptr(_v3))) = _v2
- _v7 = int64(_v1 + int64(8))
- _v8 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- if _v8 != 0 {
- goto l2
- }
- goto l3
-l2:
- s_stringAppend(t, _v1, int64(uintptr(unsafe.Pointer(&s__37))), 1)
- goto l3
-l3:
- _v12 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v15 = crt.Bool32(_v12 == int64(0))
- if _v15 != 0 {
- goto l4
- }
- goto l6
-l4:
- s_stringAppend(t, _v1, int64(uintptr(unsafe.Pointer(&s__39))), 3)
-
- return
-l6:
- _v20 = int64(_v5 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v20))) = 0
- goto l7
-l7:
- _v21 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v22 = int64(int32(_v21))
- _v23 = int64(_v22 * int64(1))
- _v24 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v25 = int64(_v24 + _v23)
- _v26 = int32(*(*int8)(unsafe.Pointer(uintptr(_v25))))
- goto l8
-l8:
- if _v26 != 0 {
- goto l9
- }
- goto l44
-l44:
- _v46 = 0
- goto l15
-l9:
- _v27 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v28 = int64(int32(_v27))
- _v29 = int64(_v28 * int64(1))
- _v30 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v31 = int64(_v30 + _v29)
- _v32 = int32(*(*int8)(unsafe.Pointer(uintptr(_v31))))
- _v33 = int32(int32(uint8(_v32)))
- _v34 = int64(int32(_v33))
- _v35 = int64(_v34 * int64(2))
- _v36 = crt.X__ctype_b_loc(t)
- _v37 = *(*int64)(unsafe.Pointer(uintptr(_v36)))
- _v38 = int64(_v37 + _v35)
- _v39 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v38))))
- _v40 = int32(uint16(_v39))
- _v44 = int32(int32(_v40) & int32(8192))
- goto l10
-l10:
- if _v44 != 0 {
- goto l11
- }
- goto l45
-l45:
- _v45 = 1
- goto l12
-l11:
- _v45 = 0
- goto l12
-l12:
- goto l13
-l13:
- if _v45 != 0 {
- goto l14
- }
- goto l46
-l46:
- _v46 = 0
- goto l15
-l14:
- _v46 = 1
- goto l15
-l15:
- if _v46 != 0 {
- goto l16
- }
- goto l18
-l16:
- goto l17
-l17:
- _v47 = int64(_v5 + int64(0))
- _v48 = *(*int32)(unsafe.Pointer(uintptr(_v47)))
- _v49 = int32(int32(_v48) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v47))) = _v49
- goto l7
-l18:
- _v50 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v52 = crt.Bool32(int32(_v50) > int32(0))
- goto l19
-l19:
- if _v52 != 0 {
- goto l20
- }
- goto l47
-l47:
- _v62 = 0
- goto l23
-l20:
- _v53 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v54 = int64(int32(_v53))
- _v55 = int64(_v54 * int64(1))
- _v56 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v57 = int64(_v56 + _v55)
- _v58 = int32(*(*int8)(unsafe.Pointer(uintptr(_v57))))
- _v59 = int32(int8(_v58))
- _v61 = crt.Bool32(int32(_v59) == int32(0))
- goto l21
-l21:
- if _v61 != 0 {
- goto l22
- }
- goto l48
-l48:
- _v62 = 0
- goto l23
-l22:
- _v62 = 1
- goto l23
-l23:
- if _v62 != 0 {
- goto l24
- }
- goto l26
-l24:
- _v64 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v65 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- s_stringAppend(t, _v1, _v64, _v65)
-
- return
-l26:
- s_stringAppend(t, _v1, int64(uintptr(unsafe.Pointer(&s__40))), 1)
- goto l27
-l27:
- _v72 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v73 = int64(_v72 + int64(0))
- _v74 = int32(*(*int8)(unsafe.Pointer(uintptr(_v73))))
- if _v74 != 0 {
- goto l28
- }
- goto l42
-l28:
- _v76 = int64(_v5 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v76))) = 0
- goto l29
-l29:
- _v77 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v78 = int64(int32(_v77))
- _v79 = int64(_v78 * int64(1))
- _v80 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v81 = int64(_v80 + _v79)
- _v82 = int32(*(*int8)(unsafe.Pointer(uintptr(_v81))))
- goto l30
-l30:
- if _v82 != 0 {
- goto l31
- }
- goto l49
-l49:
- _v92 = 0
- goto l34
-l31:
- _v83 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v84 = int64(int32(_v83))
- _v85 = int64(_v84 * int64(1))
- _v86 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v87 = int64(_v86 + _v85)
- _v88 = int32(*(*int8)(unsafe.Pointer(uintptr(_v87))))
- _v89 = int32(int8(_v88))
- _v91 = crt.Bool32(int32(_v89) != int32(39))
- goto l32
-l32:
- if _v91 != 0 {
- goto l33
- }
- goto l50
-l50:
- _v92 = 0
- goto l34
-l33:
- _v92 = 1
- goto l34
-l34:
- if _v92 != 0 {
- goto l35
- }
- goto l37
-l35:
- goto l36
-l36:
- _v93 = int64(_v5 + int64(0))
- _v94 = *(*int32)(unsafe.Pointer(uintptr(_v93)))
- _v95 = int32(int32(_v94) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v93))) = _v95
- goto l29
-l37:
- _v96 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v97 = int64(int32(_v96))
- _v98 = int64(_v97 * int64(1))
- _v99 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v100 = int64(_v99 + _v98)
- _v101 = int32(*(*int8)(unsafe.Pointer(uintptr(_v100))))
- if _v101 != 0 {
- goto l38
- }
- goto l39
-l38:
- _v103 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v104 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v106 = int32(int32(_v104) + int32(1))
- s_stringAppend(t, _v1, _v103, _v106)
- s_stringAppend(t, _v1, int64(uintptr(unsafe.Pointer(&s__40))), 1)
- _v110 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v112 = int32(int32(_v110) + int32(1))
- _v113 = int64(int32(_v112))
- _v114 = int64(_v3 + int64(0))
- _v115 = *(*int64)(unsafe.Pointer(uintptr(_v114)))
- _v116 = int64(_v115 + _v113)
- *(*int64)(unsafe.Pointer(uintptr(_v114))) = _v116
- goto l41
-l39:
- _v118 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v119 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- s_stringAppend(t, _v1, _v118, _v119)
- goto l42
-l41:
- goto l27
-l42:
- s_stringAppend(t, _v1, int64(uintptr(unsafe.Pointer(&s__40))), 1)
- goto l43
-l43:
-}
+//
+// END OF CUSTOM TOKENIZERS
+//
-var s__38 = [17]byte{0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x54, 0x65, 0x72, 0x6d}
-
-var s__39 = [4]byte{0x6e, 0x69, 0x6c}
-
-var s__40 = [2]byte{0x27}
-
-func s_evalCallback(t *crt.TLS, _v1 int64, _v2 int32, _v3 int64, _v4 int64) int32 {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v16 int64 // %t10
- var _v18 int64 // %t12
- var _v19 int64 // %t13
- var _v20 int64 // %t14
- var _v21 int32 // %t15
- var _v22 int32 // %t16
- var _v9 int64 // %t3
- var _v10 int32 // %t4
- var _v12 int32 // %t6
- var _v13 int64 // %t7
- var _v14 int32 // %t8
- var _v15 int64 // %t9
- var _v5 = int64(bp + 0) // %v5
- var _v6 = int64(bp + 8) // %v6
- *(*int64)(unsafe.Pointer(uintptr(_v5))) = _v1
- _v9 = int64(_v6 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v9))) = 0
- goto l2
-l2:
- _v10 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v12 = crt.Bool32(int32(_v10) < int32(_v2))
- if _v12 != 0 {
- goto l3
- }
- goto l5
-l3:
- _v13 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v14 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v15 = int64(int32(_v14))
- _v16 = int64(_v15 * int64(8))
- _v18 = int64(_v3 + _v16)
- _v19 = *(*int64)(unsafe.Pointer(uintptr(_v18)))
- s_stringAppendTerm(t, _v13, _v19)
- goto l4
-l4:
- _v20 = int64(_v6 + int64(0))
- _v21 = *(*int32)(unsafe.Pointer(uintptr(_v20)))
- _v22 = int32(int32(_v21) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v20))) = _v22
- goto l2
-l5:
- return 0
+// ************************************************************************
+//
+// FTS5 EXTENSION REGISTRATION API
+type fts5_api1 = struct {
+ iVersion int32
+ xCreateTokenizer uintptr
+ xFindTokenizer uintptr
+ xCreateFunction uintptr
}
-var s__41 = [13]byte{0x65, 0x76, 0x61, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b}
-
-func s_evalSql(t *crt.TLS, _v1 int64, _v2 int64, args uintptr) int32 {
- bp := t.Alloc(96)
- defer t.Free(96)
- var _v17 int32 // %t10
- var _v19 int32 // %t12
- var _v26 int64 // %t19
- var _v27 int64 // %t20
- var _v30 int64 // %t23
- var _v31 int32 // %t24
- var _v32 int64 // %t25
- var _v33 int64 // %t26
- var _v34 int32 // %t27
- var _v39 int32 // %t32
- var _v43 int64 // %t36
- var _v44 int32 // %t37
- var _v46 int64 // %t39
- var _v47 int64 // %t40
- var _v48 int32 // %t41
- var _v12 int64 // %t5
- var _v13 int64 // %t6
- var _v3 = int64(bp + 8) // %v3
- var _v4 = int64(bp + 32) // %v4
- var _v5 = int64(bp + 40) // %v5
- var _v6 = int64(bp + 48) // %v6
- var _v7 = int64(bp + 56) // %v7
- *(*int64)(unsafe.Pointer(uintptr(_v6))) = int64(0)
- *(*uintptr)(unsafe.Pointer(bp + 8)) = args
- _v12 = Xsqlite3_vmprintf(t, _v2, _v3)
- _v13 = int64(_v4 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v13))) = _v12
- _v17 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 120))
- _v19 = crt.Bool32(int32(_v17) > int32(0))
- goto l2
-l2:
- if _v19 != 0 {
- goto l3
- }
- goto l5
-l3:
- goto l4
-l4:
- goto l7
-l5:
- crt.X__assert_fail(t, int64(uintptr(unsafe.Pointer(&s__43))), int64(uintptr(unsafe.Pointer(&s__44))), 494, int64(uintptr(unsafe.Pointer(&s__42))))
- goto l6
-l6:
- goto l7
-l7:
- _v26 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _v27 = *(*int64)(unsafe.Pointer(uintptr(_v4)))
- _v30 = int64(_v6 + int64(0))
- _v31 = Xsqlite3_exec(t, _v26, _v27, *(*int64)(unsafe.Pointer(&struct {
- f func(*crt.TLS, int64, int32, int64, int64) int32
- }{s_evalCallback})), _v1, _v30)
- _v32 = int64(_v5 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v32))) = _v31
- _v33 = *(*int64)(unsafe.Pointer(uintptr(_v4)))
- Xsqlite3_free(t, _v33)
- _v34 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- if _v34 != 0 {
- goto l8
- }
- goto l14
-l14:
- goto l11
-l8:
- _v39 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- *(*int32)(unsafe.Pointer(bp + 0)) = _v39
-
- _ = Xsqlite3_snprintf(t, 30, _v7, int64(uintptr(unsafe.Pointer(&s__45))), bp+0)
- s_stringAppendTerm(t, _v1, _v7)
- _v43 = *(*int64)(unsafe.Pointer(uintptr(_v6)))
- _v44 = crt.Bool32(int64(_v43) != int64(int64(0)))
- if _v44 != 0 {
- goto l9
- }
- goto l10
-l9:
- _v46 = *(*int64)(unsafe.Pointer(uintptr(_v6)))
- s_stringAppendTerm(t, _v1, _v46)
- _v47 = *(*int64)(unsafe.Pointer(uintptr(_v6)))
- Xsqlite3_free(t, _v47)
- goto l10
-l10:
- goto l11
-l11:
- _v48 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- return _v48
-}
+// Flags that may be passed as the third argument to xTokenize()
-var s__42 = [8]byte{0x65, 0x76, 0x61, 0x6c, 0x53, 0x71, 0x6c}
+// Flags that may be passed by the tokenizer implementation back to FTS5
+// as the third argument to the supplied xToken callback.
-var s__43 = [13]byte{0x67, 0x2e, 0x69, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x3e, 0x30}
+//
+// END OF CUSTOM TOKENIZERS
+//
-var s__44 = [44]byte{
- 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x73, 0x71, 0x6c, 0x69, 0x74, 0x65, 0x2d,
- 0x73, 0x72, 0x63, 0x2d, 0x33, 0x33, 0x30, 0x30, 0x31, 0x30, 0x30, 0x2f, 0x6d, 0x70, 0x74, 0x65,
- 0x73, 0x74, 0x2f, 0x6d, 0x70, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63,
-}
+// ************************************************************************
+//
+// FTS5 EXTENSION REGISTRATION API
+type fts5_api = fts5_api1 /* sqlite3.h:12127:25 */
-var s__45 = [10]byte{0x65, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x25, 0x64, 0x29}
-
-func s_evalFunc(t *crt.TLS, _v1 int64, _v2 int32, _v3 int64) {
- bp := t.Alloc(48)
- defer t.Free(48)
- var _v20 int64 // %t12
- var _v24 int64 // %t16
- var _v25 int64 // %t17
- var _v27 int64 // %t19
- var _v10 int64 // %t2
- var _v28 int64 // %t20
- var _v29 int32 // %t21
- var _v30 int64 // %t22
- var _v31 int64 // %t23
- var _v32 int32 // %t24
- var _v34 int64 // %t26
- var _v37 int64 // %t29
- var _v38 int32 // %t30
- var _v40 int32 // %t32
- var _v42 int64 // %t34
- var _v43 int64 // %t35
- var _v44 int64 // %t36
- var _v50 int64 // %t42
- var _v15 int64 // %t7
- var _v16 int64 // %t8
- var _v17 int64 // %t9
- var _v4 = int64(bp + 0) // %v4
- var _v5 = int64(bp + 8) // %v5
- var _v6 = int64(bp + 16) // %v6
- var _v7 = int64(bp + 32) // %v7
- var _v8 = int64(bp + 40) // %v8
- _v10 = Xsqlite3_context_db_handle(t, _v1)
- *(*int64)(unsafe.Pointer(uintptr(_v4))) = _v10
- _v15 = int64(_v3 + int64(0))
- _v16 = *(*int64)(unsafe.Pointer(uintptr(_v15)))
- _v17 = Xsqlite3_value_text(t, _v16)
- *(*int64)(unsafe.Pointer(uintptr(_v5))) = _v17
- *(*int64)(unsafe.Pointer(uintptr(_v7))) = int64(0)
- _v20 = int64(_v6 + int64(0))
- _ = crt.Xmemset(t, _v20, 0, int64(16))
- _v24 = *(*int64)(unsafe.Pointer(uintptr(_v4)))
- _v25 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v27 = int64(_v6 + int64(0))
- _v28 = int64(_v7 + int64(0))
- _v29 = Xsqlite3_exec(t, _v24, _v25, *(*int64)(unsafe.Pointer(&struct {
- f func(*crt.TLS, int64, int32, int64, int64) int32
- }{s_evalCallback})), _v27, _v28)
- _v30 = int64(_v8 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v30))) = _v29
- _v31 = *(*int64)(unsafe.Pointer(uintptr(_v7)))
- _v32 = crt.Bool32(int64(_v31) != int64(int64(0)))
- if _v32 != 0 {
- goto l2
- }
- goto l3
-l2:
- _v34 = *(*int64)(unsafe.Pointer(uintptr(_v7)))
- Xsqlite3_result_error(t, _v1, _v34, -1)
- _v37 = *(*int64)(unsafe.Pointer(uintptr(_v7)))
- Xsqlite3_free(t, _v37)
- goto l7
-l3:
- _v38 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- if _v38 != 0 {
- goto l4
+// The tag name of this struct is _G_fpos_t to preserve historic
+// C++ mangled names for functions taking fpos_t arguments.
+// That name should not be used in new code.
+type _G_fpos_t = struct {
+ __pos int64
+ __state struct {
+ __count int32
+ __value struct{ __wch uint32 }
}
- goto l5
-l4:
- _v40 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- Xsqlite3_result_error_code(t, _v1, _v40)
- goto l6
-l5:
- _v42 = int64(_v6 + int64(0))
- _v43 = int64(_v42 + int64(0))
- _v44 = *(*int64)(unsafe.Pointer(uintptr(_v43)))
- Xsqlite3_result_text(t, _v1, _v44, -1, int64(-1))
- goto l6
-l6:
- goto l7
-l7:
- _v50 = int64(_v6 + int64(0))
- s_stringFree(t, _v50)
- goto l8
-l8:
}
-var s__46 = [9]byte{0x65, 0x76, 0x61, 0x6c, 0x46, 0x75, 0x6e, 0x63}
-
-func s_startScript(t *crt.TLS, _v1 int32, _v2 int64, _v3 int64, _v4 int64) int32 {
- bp := t.Alloc(112)
- defer t.Free(112)
- var _v110 int64 // %t101
- var _v112 int64 // %t103
- var _v113 int64 // %t104
- var _v115 int64 // %t106
- var _v118 int32 // %t109
- var _v124 int64 // %t115
- var _v126 int32 // %t117
- var _v128 int32 // %t119
- var _v21 int32 // %t12
- var _v129 int32 // %t120
- var _v131 int32 // %t122
- var _v137 int64 // %t128
- var _v22 int64 // %t13
- var _v141 int32 // %t132
- var _v143 int32 // %t134
- var _v147 int64 // %t138
- var _v148 int32 // %t139
- var _v23 int32 // %t14
- var _v149 int32 // %t140
- var _v153 int64 // %t144
- var _v154 int32 // %t145
- var _v155 int32 // %t146
- var _v159 int64 // %t150
- var _v160 int64 // %t151
- var _v25 int32 // %t16
- var _v29 int64 // %t20
- var _v30 int32 // %t21
- var _v31 int32 // %t22
- var _v32 int32 // %t23
- var _v34 int32 // %t25
- var _v38 int64 // %t29
- var _v39 int64 // %t30
- var _v42 int32 // %t33
- var _v45 int32 // %t36
- var _v46 int32 // %t37
- var _v50 int32 // %t41
- var _v53 int32 // %t44
- var _v62 int64 // %t53
- var _v63 int64 // %t54
- var _v64 int64 // %t55
- var _v65 int32 // %t56
- var _v66 int64 // %t57
- var _v67 int64 // %t58
- var _v69 int32 // %t60
- var _v71 int32 // %t62
- var _v81 int64 // %t72
- var _v82 int64 // %t73
- var _v83 int64 // %t74
- var _v84 int32 // %t75
- var _v85 int64 // %t76
- var _v86 int32 // %t77
- var _v88 int32 // %t79
- var _v89 int64 // %t80
- var _v91 int32 // %t82
- var _v92 int32 // %t83
- var _v94 int32 // %t85
- var _v95 int64 // %t86
- var _v98 int64 // %t89
- var _v99 int64 // %t90
- var _v101 int64 // %t92
- var _v103 int64 // %t94
- var _v105 int32 // %t96
- var _v106 int64 // %t97
- var _v107 int32 // %t98
- var _v5 = int64(bp + 80) // %v5
- var _v6 = int64(bp + 88) // %v6
- var _v7 = int64(bp + 92) // %v7
- var _v8 = int64(bp + 96) // %v8
- var _v9 = int64(bp + 100) // %v9
- *(*int64)(unsafe.Pointer(uintptr(_v5))) = int64(0)
- *(*int32)(unsafe.Pointer(uintptr(_v8))) = 0
- *(*int64)(unsafe.Pointer(uintptr(_v2))) = int64(0)
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 120)) = 0
- goto l2
-l2:
- if 1 != 0 {
- goto l3
- }
- goto l30
-l3:
-
- _v21 = s_trySql(t, int64(uintptr(unsafe.Pointer(&s__48))), 0)
- _v22 = int64(_v7 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v22))) = _v21
- _v23 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v25 = crt.Bool32(int32(_v23) == int32(5))
- if _v25 != 0 {
- goto l4
- }
- goto l6
-l4:
- _ = Xsqlite3_sleep(t, 10)
- _v29 = int64(_v8 + int64(0))
- _v30 = *(*int32)(unsafe.Pointer(uintptr(_v29)))
- _v31 = int32(int32(_v30) + int32(10))
- *(*int32)(unsafe.Pointer(uintptr(_v29))) = _v31
- goto l2
-l6:
- _v32 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v34 = crt.Bool32(int32(_v32) != int32(0))
- if _v34 != 0 {
- goto l7
- }
- goto l8
-l7:
- _v38 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _v39 = Xsqlite3_errmsg(t, _v38)
- *(*int64)(unsafe.Pointer(bp + 0)) = _v39
- s_fatalError(t, int64(uintptr(unsafe.Pointer(&s__49))), bp+0)
- goto l8
-l8:
- _v42 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 112))
- goto l9
-l9:
- if _v42 != 0 {
- goto l32
- }
- goto l10
-l32:
- _v46 = 1
- goto l13
-l10:
- _v45 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 116))
- goto l11
-l11:
- if _v45 != 0 {
- goto l33
- }
- goto l12
-l33:
- _v46 = 1
- goto l13
-l12:
- _v46 = 0
- goto l13
-l13:
- if _v46 != 0 {
- goto l14
- }
- goto l15
-l14:
- _v50 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 112))
- _v53 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 116))
- *(*int32)(unsafe.Pointer(bp + 8)) = _v50
-
- *(*int32)(unsafe.Pointer(bp + 16)) = _v53
- s_runSql(t, int64(uintptr(unsafe.Pointer(&s__50))), bp+8)
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 112)) = 0
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 116)) = 0
- goto l15
-l15:
- *(*int32)(unsafe.Pointer(bp + 24)) = _v1
-
- _v62 = s_prepareSql(t, int64(uintptr(unsafe.Pointer(&s__51))), bp+24)
- _v63 = int64(_v5 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v63))) = _v62
- _v64 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v65 = Xsqlite3_step(t, _v64)
- _v66 = int64(_v7 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v66))) = _v65
- _v67 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _ = Xsqlite3_finalize(t, _v67)
- _v69 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v71 = crt.Bool32(int32(_v69) == int32(100))
- if _v71 != 0 {
- goto l16
- }
- goto l18
-l16:
- *(*int32)(unsafe.Pointer(bp + 32)) = _v1
- s_runSql(t, int64(uintptr(unsafe.Pointer(&s__52))), bp+32)
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 120)) = 10000
- s_runSql(t, int64(uintptr(unsafe.Pointer(&s__53))), 0)
- return 101
-l18:
- *(*int32)(unsafe.Pointer(bp + 40)) = _v1
-
- _v81 = s_prepareSql(t, int64(uintptr(unsafe.Pointer(&s__54))), bp+40)
- _v82 = int64(_v5 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v82))) = _v81
- _v83 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v84 = Xsqlite3_step(t, _v83)
- _v85 = int64(_v7 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v85))) = _v84
- _v86 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v88 = crt.Bool32(int32(_v86) == int32(100))
- if _v88 != 0 {
- goto l19
- }
- goto l21
-l19:
- _v89 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v91 = Xsqlite3_column_bytes(t, _v89, 0)
- *(*int32)(unsafe.Pointer(uintptr(_v9))) = _v91
- _v92 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v94 = int32(int32(_v92) + int32(1))
- _v95 = Xsqlite3_malloc(t, _v94)
- *(*int64)(unsafe.Pointer(uintptr(_v2))) = _v95
- _v98 = *(*int64)(unsafe.Pointer(uintptr(_v2)))
- _v99 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v101 = Xsqlite3_column_text(t, _v99, 0)
- _ = crt.Xstrcpy(t, _v98, _v101)
- _v103 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v105 = Xsqlite3_column_int(t, _v103, 1)
- _v106 = int64(_v6 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v106))) = _v105
- _v107 = *(*int32)(unsafe.Pointer(uintptr(_v106)))
- *(*int32)(unsafe.Pointer(uintptr(_v3))) = _v107
- _v110 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v112 = Xsqlite3_column_text(t, _v110, 2)
- *(*int64)(unsafe.Pointer(bp + 48)) = _v112
-
- _v113 = Xsqlite3_mprintf(t, int64(uintptr(unsafe.Pointer(&s__55))), bp+48)
- *(*int64)(unsafe.Pointer(uintptr(_v4))) = _v113
- _v115 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _ = Xsqlite3_finalize(t, _v115)
- _v118 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- *(*int32)(unsafe.Pointer(bp + 56)) = _v118
- s_runSql(t, int64(uintptr(unsafe.Pointer(&s__56))), bp+56)
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 120)) = 10000
- s_runSql(t, int64(uintptr(unsafe.Pointer(&s__53))), 0)
- return 0
-l21:
- _v124 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _ = Xsqlite3_finalize(t, _v124)
- _v126 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v128 = crt.Bool32(int32(_v126) == int32(101))
- if _v128 != 0 {
- goto l22
- }
- goto l29
-l22:
- _v129 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v131 = crt.Bool32(int32(_v129) > int32(30000))
- if _v131 != 0 {
- goto l23
- }
- goto l24
-l23:
- s_errorMessage(t, int64(uintptr(unsafe.Pointer(&s__57))), 0)
- *(*int32)(unsafe.Pointer(bp + 64)) = _v1
- s_runSql(t, int64(uintptr(unsafe.Pointer(&s__58))), bp+64)
- _v137 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _ = Xsqlite3_close(t, _v137)
- crt.Xexit(t, 1)
- goto l24
-l24:
- goto l25
-l25:
-
- _v141 = s_trySql(t, int64(uintptr(unsafe.Pointer(&s__59))), 0)
- _v143 = crt.Bool32(int32(_v141) == int32(5))
- if _v143 != 0 {
- goto l26
- }
- goto l27
-l26:
- _ = Xsqlite3_sleep(t, 10)
- _v147 = int64(_v8 + int64(0))
- _v148 = *(*int32)(unsafe.Pointer(uintptr(_v147)))
- _v149 = int32(int32(_v148) + int32(10))
- *(*int32)(unsafe.Pointer(uintptr(_v147))) = _v149
- goto l25
-l27:
- _ = Xsqlite3_sleep(t, 100)
- _v153 = int64(_v8 + int64(0))
- _v154 = *(*int32)(unsafe.Pointer(uintptr(_v153)))
- _v155 = int32(int32(_v154) + int32(100))
- *(*int32)(unsafe.Pointer(uintptr(_v153))) = _v155
- goto l2
-l29:
- _v159 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _v160 = Xsqlite3_errmsg(t, _v159)
- *(*int64)(unsafe.Pointer(bp + 72)) = _v160
- s_fatalError(t, int64(uintptr(unsafe.Pointer(&s__55))), bp+72)
- goto l2
-l30:
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 120)) = 10000
- goto l31
-l31:
- return 0
+type _IO_FILE = struct {
+ _flags int32
+ _IO_read_ptr uintptr
+ _IO_read_end uintptr
+ _IO_read_base uintptr
+ _IO_write_base uintptr
+ _IO_write_ptr uintptr
+ _IO_write_end uintptr
+ _IO_buf_base uintptr
+ _IO_buf_end uintptr
+ _IO_save_base uintptr
+ _IO_backup_base uintptr
+ _IO_save_end uintptr
+ _markers uintptr
+ _chain uintptr
+ _fileno int32
+ _flags2 int32
+ _old_offset int64
+ _cur_column uint16
+ _vtable_offset int8
+ _shortbuf [1]int8
+ _lock uintptr
+ _offset int64
+ _codecvt uintptr
+ _wide_data uintptr
+ _freeres_list uintptr
+ _freeres_buf uintptr
+ __pad5 size_t
+ _mode int32
+ _unused2 [20]int8
}
-var s__47 = [12]byte{0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74}
+// The opaque type of streams. This is the definition used elsewhere.
+type FILE = _IO_FILE /* FILE.h:7:25 */
+
+// These macros are used by bits/stdio.h and internal headers.
+
+// Many more flag bits are defined internally.
+
+// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+//
+//This file is part of GCC.
+//
+//GCC is free software; you can redistribute it and/or modify
+//it under the terms of the GNU General Public License as published by
+//the Free Software Foundation; either version 3, or (at your option)
+//any later version.
+//
+//GCC is distributed in the hope that it will be useful,
+//but WITHOUT ANY WARRANTY; without even the implied warranty of
+//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//GNU General Public License for more details.
+//
+//Under Section 7 of GPL version 3, you are granted additional
+//permissions described in the GCC Runtime Library Exception, version
+//3.1, as published by the Free Software Foundation.
+//
+//You should have received a copy of the GNU General Public License and
+//a copy of the GCC Runtime Library Exception along with this program;
+//see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+//<http://www.gnu.org/licenses/>.
+
+// ISO C Standard: 7.15 Variable arguments <stdarg.h>
+
+type off_t = int64 /* stdio.h:63:17 */
+
+type ssize_t = int64 /* stdio.h:77:19 */
+
+// The type of the second argument to `fgetpos' and `fsetpos'.
+type fpos_t = _G_fpos_t /* stdio.h:84:18 */
+
+// If we are compiling with optimizing read this file. It contains
+// several optimizing inline functions and macros.
+
+// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// POSIX Standard: 2.10 Symbolic Constants <unistd.h>
+
+// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// These may be used to determine what facilities are present at compile time.
+// Their values can be obtained at run time from `sysconf'.
+
+// POSIX Standard approved as ISO/IEC 9945-1 as of September 2008.
+
+// These are not #ifdef __USE_POSIX2 because they are
+// in the theoretically application-owned namespace.
+
+// The utilities on GNU systems also correspond to this version.
+
+// The utilities on GNU systems also correspond to this version.
+
+// This symbol was required until the 2001 edition of POSIX.
+
+// If defined, the implementation supports the
+// C Language Bindings Option.
+
+// If defined, the implementation supports the
+// C Language Development Utilities Option.
+
+// If defined, the implementation supports the
+// Software Development Utilities Option.
+
+// If defined, the implementation supports the
+// creation of locales with the localedef utility.
+
+// X/Open version number to which the library conforms. It is selectable.
+
+// Commands and utilities from XPG4 are available.
+
+// We are compatible with the old published standards as well.
+
+// The X/Open Unix extensions are available.
+
+// The enhanced internationalization capabilities according to XPG4.2
+// are present.
+
+// The legacy interfaces are also available.
+
+// Get values of POSIX options:
+//
+// If these symbols are defined, the corresponding features are
+// always available. If not, they may be available sometimes.
+// The current values can be obtained with `sysconf'.
+//
+// _POSIX_JOB_CONTROL Job control is supported.
+// _POSIX_SAVED_IDS Processes have a saved set-user-ID
+// and a saved set-group-ID.
+// _POSIX_REALTIME_SIGNALS Real-time, queued signals are supported.
+// _POSIX_PRIORITY_SCHEDULING Priority scheduling is supported.
+// _POSIX_TIMERS POSIX.4 clocks and timers are supported.
+// _POSIX_ASYNCHRONOUS_IO Asynchronous I/O is supported.
+// _POSIX_PRIORITIZED_IO Prioritized asynchronous I/O is supported.
+// _POSIX_SYNCHRONIZED_IO Synchronizing file data is supported.
+// _POSIX_FSYNC The fsync function is present.
+// _POSIX_MAPPED_FILES Mapping of files to memory is supported.
+// _POSIX_MEMLOCK Locking of all memory is supported.
+// _POSIX_MEMLOCK_RANGE Locking of ranges of memory is supported.
+// _POSIX_MEMORY_PROTECTION Setting of memory protections is supported.
+// _POSIX_MESSAGE_PASSING POSIX.4 message queues are supported.
+// _POSIX_SEMAPHORES POSIX.4 counting semaphores are supported.
+// _POSIX_SHARED_MEMORY_OBJECTS POSIX.4 shared memory objects are supported.
+// _POSIX_THREADS POSIX.1c pthreads are supported.
+// _POSIX_THREAD_ATTR_STACKADDR Thread stack address attribute option supported.
+// _POSIX_THREAD_ATTR_STACKSIZE Thread stack size attribute option supported.
+// _POSIX_THREAD_SAFE_FUNCTIONS Thread-safe functions are supported.
+// _POSIX_THREAD_PRIORITY_SCHEDULING
+// POSIX.1c thread execution scheduling supported.
+// _POSIX_THREAD_PRIO_INHERIT Thread priority inheritance option supported.
+// _POSIX_THREAD_PRIO_PROTECT Thread priority protection option supported.
+// _POSIX_THREAD_PROCESS_SHARED Process-shared synchronization supported.
+// _POSIX_PII Protocol-independent interfaces are supported.
+// _POSIX_PII_XTI XTI protocol-indep. interfaces are supported.
+// _POSIX_PII_SOCKET Socket protocol-indep. interfaces are supported.
+// _POSIX_PII_INTERNET Internet family of protocols supported.
+// _POSIX_PII_INTERNET_STREAM Connection-mode Internet protocol supported.
+// _POSIX_PII_INTERNET_DGRAM Connectionless Internet protocol supported.
+// _POSIX_PII_OSI ISO/OSI family of protocols supported.
+// _POSIX_PII_OSI_COTS Connection-mode ISO/OSI service supported.
+// _POSIX_PII_OSI_CLTS Connectionless ISO/OSI service supported.
+// _POSIX_POLL Implementation supports `poll' function.
+// _POSIX_SELECT Implementation supports `select' and `pselect'.
+//
+// _XOPEN_REALTIME X/Open realtime support is available.
+// _XOPEN_REALTIME_THREADS X/Open realtime thread support is available.
+// _XOPEN_SHM Shared memory interface according to XPG4.2.
+//
+// _XBS5_ILP32_OFF32 Implementation provides environment with 32-bit
+// int, long, pointer, and off_t types.
+// _XBS5_ILP32_OFFBIG Implementation provides environment with 32-bit
+// int, long, and pointer and off_t with at least
+// 64 bits.
+// _XBS5_LP64_OFF64 Implementation provides environment with 32-bit
+// int, and 64-bit long, pointer, and off_t types.
+// _XBS5_LPBIG_OFFBIG Implementation provides environment with at
+// least 32 bits int and long, pointer, and off_t
+// with at least 64 bits.
+//
+// If any of these symbols is defined as -1, the corresponding option is not
+// true for any file. If any is defined as other than -1, the corresponding
+// option is true for all files. If a symbol is not defined at all, the value
+// for a specific file can be obtained from `pathconf' and `fpathconf'.
+//
+// _POSIX_CHOWN_RESTRICTED Only the super user can use `chown' to change
+// the owner of a file. `chown' can only be used
+// to change the group ID of a file to a group of
+// which the calling process is a member.
+// _POSIX_NO_TRUNC Pathname components longer than
+// NAME_MAX generate an error.
+// _POSIX_VDISABLE If defined, if the value of an element of the
+// `c_cc' member of `struct termios' is
+// _POSIX_VDISABLE, no character will have the
+// effect associated with that element.
+// _POSIX_SYNC_IO Synchronous I/O may be performed.
+// _POSIX_ASYNC_IO Asynchronous I/O may be performed.
+// _POSIX_PRIO_IO Prioritized Asynchronous I/O may be performed.
+//
+// Support for the Large File Support interface is not generally available.
+// If it is available the following constants are defined to one.
+// _LFS64_LARGEFILE Low-level I/O supports large files.
+// _LFS64_STDIO Standard I/O supports large files.
+//
+
+// Define POSIX options for Linux.
+// Copyright (C) 1996-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public License as
+// published by the Free Software Foundation; either version 2.1 of the
+// License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; see the file COPYING.LIB. If
+// not, see <http://www.gnu.org/licenses/>.
-var s__48 = [16]byte{0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45}
+// Job control is supported.
-var s__49 = [19]byte{
- 0x69, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3a, 0x20,
- 0x25, 0x73,
-}
+// Processes have a saved set-user-ID and a saved set-group-ID.
-var s__50 = [53]byte{
- 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x20,
- 0x53, 0x45, 0x54, 0x20, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x3d, 0x6e, 0x45, 0x72, 0x72, 0x6f,
- 0x72, 0x2b, 0x25, 0x64, 0x2c, 0x20, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x3d, 0x6e, 0x54, 0x65, 0x73,
- 0x74, 0x2b, 0x25, 0x64,
-}
+// Priority scheduling is supported.
-var s__51 = [46]byte{
- 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x20, 0x31, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0x20, 0x63, 0x6c,
- 0x69, 0x65, 0x6e, 0x74, 0x20, 0x57, 0x48, 0x45, 0x52, 0x45, 0x20, 0x69, 0x64, 0x3d, 0x25, 0x64,
- 0x20, 0x41, 0x4e, 0x44, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x48, 0x61, 0x6c, 0x74,
-}
+// Synchronizing file data is supported.
-var s__52 = [31]byte{
- 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0x20, 0x63, 0x6c, 0x69, 0x65,
- 0x6e, 0x74, 0x20, 0x57, 0x48, 0x45, 0x52, 0x45, 0x20, 0x69, 0x64, 0x3d, 0x25, 0x64,
-}
+// The fsync function is present.
-var s__53 = [20]byte{
- 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x20, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49,
- 0x4f, 0x4e, 0x3b,
-}
-
-var s__54 = [92]byte{
- 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x20, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2c, 0x20, 0x69,
- 0x64, 0x2c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0x20, 0x74, 0x61, 0x73,
- 0x6b, 0x20, 0x57, 0x48, 0x45, 0x52, 0x45, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x3d, 0x25,
- 0x64, 0x20, 0x41, 0x4e, 0x44, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x20,
- 0x49, 0x53, 0x20, 0x4e, 0x55, 0x4c, 0x4c, 0x20, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x20, 0x42, 0x59,
- 0x20, 0x69, 0x64, 0x20, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x20, 0x31,
-}
-
-var s__55 = [3]byte{0x25, 0x73}
+// Mapping of files to memory is supported.
-var s__56 = [83]byte{
- 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x20, 0x20, 0x53, 0x45,
- 0x54, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x3d, 0x73, 0x74, 0x72, 0x66,
- 0x74, 0x69, 0x6d, 0x65, 0x28, 0x27, 0x25, 0x25, 0x59, 0x2d, 0x25, 0x25, 0x6d, 0x2d, 0x25, 0x25,
- 0x64, 0x20, 0x25, 0x25, 0x48, 0x3a, 0x25, 0x25, 0x4d, 0x3a, 0x25, 0x25, 0x66, 0x27, 0x2c, 0x27,
- 0x6e, 0x6f, 0x77, 0x27, 0x29, 0x20, 0x57, 0x48, 0x45, 0x52, 0x45, 0x20, 0x69, 0x64, 0x3d, 0x25,
- 0x64, 0x3b,
-}
+// Locking of all memory is supported.
-var s__57 = [49]byte{
- 0x57, 0x61, 0x69, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x33, 0x30, 0x20, 0x73,
- 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x6e, 0x6f, 0x20, 0x77,
- 0x6f, 0x72, 0x6b, 0x2e, 0x20, 0x20, 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x70, 0x2e,
-}
+// Locking of ranges of memory is supported.
-var s__58 = [40]byte{
- 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0x20, 0x63, 0x6c, 0x69, 0x65,
- 0x6e, 0x74, 0x20, 0x57, 0x48, 0x45, 0x52, 0x45, 0x20, 0x69, 0x64, 0x3d, 0x25, 0x64, 0x3b, 0x20,
- 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x3b,
-}
+// Setting of memory protections is supported.
-var s__59 = [7]byte{0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54}
+// Some filesystems allow all users to change file ownership.
-func s_finishScript(t *crt.TLS, _v1 int32, _v2 int32, _v3 int32) int32 {
- bp := t.Alloc(16)
- defer t.Free(16)
- *(*int32)(unsafe.Pointer(bp + 0)) = _v2
- s_runSql(t, int64(uintptr(unsafe.Pointer(&s__61))), bp+0)
- if _v3 != 0 {
- goto l2
- }
- goto l3
-l2:
- *(*int32)(unsafe.Pointer(bp + 8)) = _v1
- s_runSql(t, int64(uintptr(unsafe.Pointer(&s__52))), bp+8)
- goto l3
-l3:
- return 0
-}
+// `c_cc' member of 'struct termios' structure can be disabled by
+// using the value _POSIX_VDISABLE.
-var s__60 = [13]byte{0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74}
+// Filenames are not silently truncated.
-var s__61 = [81]byte{
- 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x20, 0x20, 0x20, 0x53, 0x45,
- 0x54, 0x20, 0x65, 0x6e, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x3d, 0x73, 0x74, 0x72, 0x66, 0x74, 0x69,
- 0x6d, 0x65, 0x28, 0x27, 0x25, 0x25, 0x59, 0x2d, 0x25, 0x25, 0x6d, 0x2d, 0x25, 0x25, 0x64, 0x20,
- 0x25, 0x25, 0x48, 0x3a, 0x25, 0x25, 0x4d, 0x3a, 0x25, 0x25, 0x66, 0x27, 0x2c, 0x27, 0x6e, 0x6f,
- 0x77, 0x27, 0x29, 0x20, 0x57, 0x48, 0x45, 0x52, 0x45, 0x20, 0x69, 0x64, 0x3d, 0x25, 0x64, 0x3b,
-}
+// X/Open realtime support is available.
-func s_startClient(t *crt.TLS, _v1 int32) {
- bp := t.Alloc(112)
- defer t.Free(112)
- var _v13 int64 // %t10
- var _v16 int64 // %t13
- var _v20 int32 // %t17
- var _v21 int64 // %t18
- var _v22 int64 // %t19
- var _v25 int32 // %t22
- var _v27 int64 // %t24
- var _v28 int64 // %t25
- var _v29 int64 // %t26
- var _v32 int32 // %t29
- var _v34 int64 // %t31
- var _v35 int64 // %t32
- var _v36 int64 // %t33
- var _v39 int64 // %t36
- var _v40 int32 // %t37
- var _v42 int64 // %t39
- var _v45 int64 // %t42
- var _v46 int64 // %t43
- var _v47 int64 // %t44
- var _v50 int32 // %t47
- var _v52 int32 // %t49
- var _v8 int64 // %t5
- var _v54 int64 // %t51
- var _v56 int64 // %t53
- var _v57 int64 // %t54
- var _v58 int64 // %t55
- var _v59 int64 // %t56
- var _v60 int32 // %t57
- var _v61 int64 // %t58
- var _v62 int32 // %t59
- var _v9 int32 // %t6
- var _v64 int32 // %t61
- var _v65 int64 // %t62
- var _v2 = int64(bp + 96) // %v2
- var _v3 = int64(bp + 104) // %v3
- *(*int32)(unsafe.Pointer(bp + 0)) = _v1
- s_runSql(t, int64(uintptr(unsafe.Pointer(&s__63))), bp+0)
- _v8 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _v9 = Xsqlite3_changes(t, _v8)
- if _v9 != 0 {
- goto l2
- }
- goto l13
-l2:
- _v13 = *(*int64)(unsafe.Pointer(&s_g))
- _v16 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 16))
- _v20 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 100))
- *(*int64)(unsafe.Pointer(bp + 8)) = _v13
+// X/Open thread realtime support is available.
- *(*int64)(unsafe.Pointer(bp + 16)) = _v16
+// XPG4.2 shared memory is supported.
- *(*int32)(unsafe.Pointer(bp + 24)) = _v1
+// Tell we have POSIX threads.
- *(*int32)(unsafe.Pointer(bp + 32)) = _v20
+// We have the reentrant functions described in POSIX.
- _v21 = Xsqlite3_mprintf(t, int64(uintptr(unsafe.Pointer(&s__64))), bp+8)
- _v22 = int64(_v2 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v22))) = _v21
- _v25 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 104))
- if _v25 != 0 {
- goto l3
- }
- goto l4
-l3:
- _v27 = *(*int64)(unsafe.Pointer(uintptr(_v2)))
- *(*int64)(unsafe.Pointer(bp + 40)) = _v27
-
- _v28 = Xsqlite3_mprintf(t, int64(uintptr(unsafe.Pointer(&s__65))), bp+40)
- _v29 = int64(_v2 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v29))) = _v28
- goto l4
-l4:
- _v32 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 124))
- if _v32 != 0 {
- goto l5
- }
- goto l6
-l5:
- _v34 = *(*int64)(unsafe.Pointer(uintptr(_v2)))
- *(*int64)(unsafe.Pointer(bp + 48)) = _v34
-
- _v35 = Xsqlite3_mprintf(t, int64(uintptr(unsafe.Pointer(&s__66))), bp+48)
- _v36 = int64(_v2 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v36))) = _v35
- goto l6
-l6:
- _v39 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 8))
- _v40 = crt.Bool32(int64(_v39) != int64(int64(0)))
- if _v40 != 0 {
- goto l7
- }
- goto l8
-l7:
- _v42 = *(*int64)(unsafe.Pointer(uintptr(_v2)))
- _v45 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 8))
- *(*int64)(unsafe.Pointer(bp + 56)) = _v42
-
- *(*int64)(unsafe.Pointer(bp + 64)) = _v45
-
- _v46 = Xsqlite3_mprintf(t, int64(uintptr(unsafe.Pointer(&s__67))), bp+56)
- _v47 = int64(_v2 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v47))) = _v46
- goto l8
-l8:
- _v50 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 100))
- _v52 = crt.Bool32(int32(_v50) >= int32(2))
- if _v52 != 0 {
- goto l9
- }
- goto l10
-l9:
- _v54 = *(*int64)(unsafe.Pointer(uintptr(_v2)))
- *(*int64)(unsafe.Pointer(bp + 72)) = _v54
- s_logMessage(t, int64(uintptr(unsafe.Pointer(&s__68))), bp+72)
- goto l10
-l10:
- _v56 = *(*int64)(unsafe.Pointer(uintptr(_v2)))
- *(*int64)(unsafe.Pointer(bp + 80)) = _v56
-
- _v57 = Xsqlite3_mprintf(t, int64(uintptr(unsafe.Pointer(&s__69))), bp+80)
- _v58 = int64(_v2 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v58))) = _v57
- _v59 = *(*int64)(unsafe.Pointer(uintptr(_v2)))
- _v60 = crt.Xsystem(t, _v59)
- _v61 = int64(_v3 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v61))) = _v60
- _v62 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- if _v62 != 0 {
- goto l11
- }
- goto l12
-l11:
- _v64 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- *(*int32)(unsafe.Pointer(bp + 88)) = _v64
- s_errorMessage(t, int64(uintptr(unsafe.Pointer(&s__70))), bp+88)
- goto l12
-l12:
- _v65 = *(*int64)(unsafe.Pointer(uintptr(_v2)))
- Xsqlite3_free(t, _v65)
- goto l13
-l13:
- goto l14
-l14:
-}
+// We provide priority scheduling for threads.
-var s__62 = [12]byte{0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74}
+// We support user-defined stack sizes.
-var s__63 = [42]byte{
- 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x20, 0x4f, 0x52, 0x20, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45,
- 0x20, 0x49, 0x4e, 0x54, 0x4f, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x56, 0x41, 0x4c,
- 0x55, 0x45, 0x53, 0x28, 0x25, 0x64, 0x2c, 0x30, 0x29,
-}
+// We support user-defined stacks.
-var s__64 = [31]byte{
- 0x25, 0x73, 0x20, 0x22, 0x25, 0x73, 0x22, 0x20, 0x2d, 0x2d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
- 0x20, 0x25, 0x64, 0x20, 0x2d, 0x2d, 0x74, 0x72, 0x61, 0x63, 0x65, 0x20, 0x25, 0x64,
-}
+// We support priority inheritence.
-var s__65 = [14]byte{0x25, 0x7a, 0x20, 0x2d, 0x2d, 0x73, 0x71, 0x6c, 0x74, 0x72, 0x61, 0x63, 0x65}
+// We support priority protection, though only for non-robust
+// mutexes.
-var s__66 = [10]byte{0x25, 0x7a, 0x20, 0x2d, 0x2d, 0x73, 0x79, 0x6e, 0x63}
+// We support priority inheritence for robust mutexes.
-var s__67 = [14]byte{0x25, 0x7a, 0x20, 0x2d, 0x2d, 0x76, 0x66, 0x73, 0x20, 0x22, 0x25, 0x73, 0x22}
+// We do not support priority protection for robust mutexes.
-var s__68 = [13]byte{0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x28, 0x27, 0x25, 0x71, 0x27, 0x29}
+// We support POSIX.1b semaphores.
-var s__69 = [5]byte{0x25, 0x7a, 0x20, 0x26}
+// Real-time signals are supported.
-var s__70 = [34]byte{
- 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x28, 0x29, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x77,
- 0x69, 0x74, 0x68, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x25,
- 0x64,
-}
+// We support asynchronous I/O.
+// Alternative name for Unix98.
+// Support for prioritization is also available.
-func s_readFile(t *crt.TLS, _v1 int64) int64 {
- bp := t.Alloc(32)
- defer t.Free(32)
- var _v14 int64 // %t10
- var _v19 int64 // %t15
- var _v20 int64 // %t16
- var _v21 int64 // %t17
- var _v22 int64 // %t18
- var _v23 int64 // %t19
- var _v26 int64 // %t22
- var _v27 int32 // %t23
- var _v28 int64 // %t24
- var _v29 int64 // %t25
- var _v30 int64 // %t26
- var _v33 int64 // %t29
- var _v7 int64 // %t3
- var _v34 int64 // %t30
- var _v35 int64 // %t31
- var _v36 int64 // %t32
- var _v39 int64 // %t35
- var _v40 int64 // %t36
- var _v41 int64 // %t37
- var _v42 int64 // %t38
- var _v43 int64 // %t39
- var _v8 int64 // %t4
- var _v45 int64 // %t41
- var _v11 int32 // %t7
- var _v2 = int64(bp + 8) // %v2
- var _v3 = int64(bp + 16) // %v3
- var _v4 = int64(bp + 24) // %v4
- _v7 = crt.Xfopen(t, _v1, int64(uintptr(unsafe.Pointer(&s__72))))
- *(*int64)(unsafe.Pointer(uintptr(_v2))) = _v7
- _v8 = *(*int64)(unsafe.Pointer(uintptr(_v2)))
- _v11 = crt.Bool32(_v8 == int64(0))
- if _v11 != 0 {
- goto l2
- }
- goto l3
-l2:
- *(*int64)(unsafe.Pointer(bp + 0)) = _v1
- s_fatalError(t, int64(uintptr(unsafe.Pointer(&s__73))), bp+0)
- goto l3
-l3:
- _v14 = *(*int64)(unsafe.Pointer(uintptr(_v2)))
- _ = crt.Xfseek(t, _v14, int64(0), 2)
- _v19 = *(*int64)(unsafe.Pointer(uintptr(_v2)))
- _v20 = crt.Xftell(t, _v19)
- _v21 = int64(_v3 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v21))) = _v20
- _v22 = *(*int64)(unsafe.Pointer(uintptr(_v2)))
- crt.Xrewind(t, _v22)
- _v23 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v26 = int64(_v23 + int64(1))
- _v27 = int32(int32(int32(_v26)) & int32(-1))
- _v28 = Xsqlite3_malloc(t, _v27)
- _v29 = int64(_v4 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v29))) = _v28
- _v30 = *(*int64)(unsafe.Pointer(uintptr(_v4)))
- _v33 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v34 = *(*int64)(unsafe.Pointer(uintptr(_v2)))
- _v35 = crt.Xfread(t, _v30, int64(1), _v33, _v34)
- _v36 = int64(_v3 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v36))) = _v35
- _v39 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v40 = int64(_v39 * int64(1))
- _v41 = *(*int64)(unsafe.Pointer(uintptr(_v4)))
- _v42 = int64(_v41 + _v40)
- *(*int8)(unsafe.Pointer(uintptr(_v42))) = 0
- _v43 = *(*int64)(unsafe.Pointer(uintptr(_v2)))
- _ = crt.Xfclose(t, _v43)
- _v45 = *(*int64)(unsafe.Pointer(uintptr(_v4)))
- return _v45
-}
+// The LFS support in asynchronous I/O is also available.
-var s__71 = [9]byte{0x72, 0x65, 0x61, 0x64, 0x46, 0x69, 0x6c, 0x65}
+// The rest of the LFS is also available.
-var s__72 = [3]byte{0x72, 0x62}
+// POSIX shared memory objects are implemented.
-var s__73 = [29]byte{
- 0x63, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x22, 0x25, 0x73, 0x22,
- 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67,
-}
+// CPU-time clocks support needs to be checked at runtime.
-func s_tokenLength(t *crt.TLS, _v1 int64, _v2 int64) int32 {
- bp := t.Alloc(32)
- defer t.Free(32)
- var _v17 int64 // %t10
- var _v107 int32 // %t100
- var _v108 int32 // %t101
- var _v109 int64 // %t102
- var _v110 int32 // %t103
- var _v111 int32 // %t104
- var _v113 int64 // %t106
- var _v114 int32 // %t107
- var _v115 int32 // %t108
- var _v116 int32 // %t109
- var _v18 int64 // %t11
- var _v118 int32 // %t111
- var _v119 int32 // %t112
- var _v120 int32 // %t113
- var _v121 int64 // %t114
- var _v122 int64 // %t115
- var _v124 int64 // %t117
- var _v125 int32 // %t118
- var _v126 int32 // %t119
- var _v19 int64 // %t12
- var _v128 int32 // %t121
- var _v129 int32 // %t122
- var _v130 int64 // %t123
- var _v131 int32 // %t124
- var _v132 int32 // %t125
- var _v134 int64 // %t127
- var _v135 int32 // %t128
- var _v136 int32 // %t129
- var _v20 int64 // %t13
- var _v137 int64 // %t130
- var _v138 int32 // %t131
- var _v139 int32 // %t132
- var _v144 int64 // %t137
- var _v145 int32 // %t138
- var _v146 int32 // %t139
- var _v21 int32 // %t14
- var _v148 int32 // %t141
- var _v153 int64 // %t146
- var _v154 int32 // %t147
- var _v155 int32 // %t148
- var _v22 int32 // %t15
- var _v157 int32 // %t150
- var _v158 int32 // %t151
- var _v160 int64 // %t153
- var _v161 int32 // %t154
- var _v162 int64 // %t155
- var _v163 int64 // %t156
- var _v165 int64 // %t158
- var _v166 int32 // %t159
- var _v167 int32 // %t160
- var _v168 int64 // %t161
- var _v169 int64 // %t162
- var _v171 int64 // %t164
- var _v172 int32 // %t165
- var _v173 int32 // %t166
- var _v175 int32 // %t168
- var _v176 int32 // %t169
- var _v177 int64 // %t170
- var _v178 int32 // %t171
- var _v179 int32 // %t172
- var _v180 int32 // %t173
- var _v181 int64 // %t174
- var _v182 int64 // %t175
- var _v184 int64 // %t177
- var _v185 int32 // %t178
- var _v187 int32 // %t180
- var _v188 int32 // %t181
- var _v189 int64 // %t182
- var _v190 int32 // %t183
- var _v191 int32 // %t184
- var _v196 int64 // %t189
- var _v26 int32 // %t19
- var _v197 int32 // %t190
- var _v198 int32 // %t191
- var _v200 int32 // %t193
- var _v205 int64 // %t198
- var _v206 int32 // %t199
- var _v207 int32 // %t200
- var _v209 int32 // %t202
- var _v210 int32 // %t203
- var _v215 int64 // %t208
- var _v216 int32 // %t209
- var _v217 int32 // %t210
- var _v219 int64 // %t212
- var _v220 int32 // %t213
- var _v221 int64 // %t214
- var _v222 int64 // %t215
- var _v224 int64 // %t217
- var _v225 int32 // %t218
- var _v226 int32 // %t219
- var _v227 int64 // %t220
- var _v228 int64 // %t221
- var _v230 int64 // %t223
- var _v231 int32 // %t224
- var _v232 int32 // %t225
- var _v234 int32 // %t227
- var _v236 int32 // %t229
- var _v237 int32 // %t230
- var _v238 int32 // %t231
- var _v239 int64 // %t232
- var _v240 int64 // %t233
- var _v242 int64 // %t235
- var _v243 int32 // %t236
- var _v244 int32 // %t237
- var _v245 int32 // %t238
- var _v246 int32 // %t239
- var _v31 int64 // %t24
- var _v247 int64 // %t240
- var _v248 int32 // %t241
- var _v249 int32 // %t242
- var _v250 int32 // %t243
- var _v252 int32 // %t245
- var _v253 int64 // %t246
- var _v254 int64 // %t247
- var _v256 int64 // %t249
- var _v32 int32 // %t25
- var _v257 int32 // %t250
- var _v258 int32 // %t251
- var _v259 int32 // %t252
- var _v260 int32 // %t253
- var _v261 int64 // %t254
- var _v262 int32 // %t255
- var _v263 int32 // %t256
- var _v265 int64 // %t258
- var _v266 int32 // %t259
- var _v33 int32 // %t26
- var _v267 int64 // %t260
- var _v268 int64 // %t261
- var _v270 int64 // %t263
- var _v271 int32 // %t264
- var _v272 int32 // %t265
- var _v273 int64 // %t266
- var _v274 int32 // %t267
- var _v276 int32 // %t269
- var _v277 int32 // %t270
- var _v278 int32 // %t271
- var _v279 int32 // %t272
- var _v280 int64 // %t273
- var _v281 int64 // %t274
- var _v282 int64 // %t275
- var _v283 int64 // %t276
- var _v284 int64 // %t277
- var _v285 int32 // %t278
- var _v286 int32 // %t279
- var _v35 int32 // %t28
- var _v290 int32 // %t283
- var _v291 int32 // %t284
- var _v292 int32 // %t285
- var _v293 int32 // %t286
- var _v295 int32 // %t288
- var _v296 int32 // %t289
- var _v297 int32 // %t290
- var _v299 int32 // %t292
- var _v300 int32 // %t293
- var _v301 int32 // %t294
- var _v303 int32 // %t296
- var _v304 int32 // %t297
- var _v305 int64 // %t298
- var _v306 int32 // %t299
- var _v307 int32 // %t300
- var _v308 int32 // %t301
- var _v40 int64 // %t33
- var _v41 int32 // %t34
- var _v42 int32 // %t35
- var _v44 int32 // %t37
- var _v45 int32 // %t38
- var _v46 int32 // %t39
- var _v52 int64 // %t45
- var _v53 int32 // %t46
- var _v54 int32 // %t47
- var _v56 int32 // %t49
- var _v58 int64 // %t51
- var _v60 int64 // %t53
- var _v61 int64 // %t54
- var _v62 int32 // %t55
- var _v63 int32 // %t56
- var _v64 int64 // %t57
- var _v65 int64 // %t58
- var _v13 int64 // %t6
- var _v67 int64 // %t60
- var _v68 int32 // %t61
- var _v69 int32 // %t62
- var _v70 int64 // %t63
- var _v71 int32 // %t64
- var _v73 int32 // %t66
- var _v74 int32 // %t67
- var _v76 int32 // %t69
- var _v14 int32 // %t7
- var _v78 int32 // %t71
- var _v79 int32 // %t72
- var _v80 int32 // %t73
- var _v81 int32 // %t74
- var _v82 int32 // %t75
- var _v83 int64 // %t76
- var _v84 int64 // %t77
- var _v85 int64 // %t78
- var _v86 int64 // %t79
- var _v15 int32 // %t8
- var _v87 int64 // %t80
- var _v88 int32 // %t81
- var _v89 int32 // %t82
- var _v93 int32 // %t86
- var _v94 int32 // %t87
- var _v95 int32 // %t88
- var _v16 int64 // %t9
- var _v97 int32 // %t90
- var _v98 int32 // %t91
- var _v99 int32 // %t92
- var _v100 int64 // %t93
- var _v101 int64 // %t94
- var _v103 int64 // %t96
- var _v104 int32 // %t97
- var _v105 int32 // %t98
- var _v3 = int64(bp + 0) // %v3
- var _v4 = int64(bp + 4) // %v4
- var _v5 = int64(bp + 8) // %v5
- var _v6 = int64(bp + 12) // %v6
- var _v7 = int64(bp + 16) // %v7
- *(*int32)(unsafe.Pointer(uintptr(_v3))) = 0
- _v13 = int64(_v1 + int64(0))
- _v14 = int32(*(*int8)(unsafe.Pointer(uintptr(_v13))))
- _v15 = int32(int32(uint8(_v14)))
- _v16 = int64(int32(_v15))
- _v17 = int64(_v16 * int64(2))
- _v18 = crt.X__ctype_b_loc(t)
- _v19 = *(*int64)(unsafe.Pointer(uintptr(_v18)))
- _v20 = int64(_v19 + _v17)
- _v21 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v20))))
- _v22 = int32(uint16(_v21))
- _v26 = int32(int32(_v22) & int32(8192))
- goto l2
-l2:
- if _v26 != 0 {
- goto l127
- }
- goto l3
-l127:
- _v46 = 1
- goto l11
-l3:
- _v31 = int64(_v1 + int64(0))
- _v32 = int32(*(*int8)(unsafe.Pointer(uintptr(_v31))))
- _v33 = int32(int8(_v32))
- _v35 = crt.Bool32(int32(_v33) == int32(47))
- goto l4
-l4:
- if _v35 != 0 {
- goto l5
- }
- goto l128
-l128:
- _v45 = 0
- goto l8
-l5:
- _v40 = int64(_v1 + int64(1))
- _v41 = int32(*(*int8)(unsafe.Pointer(uintptr(_v40))))
- _v42 = int32(int8(_v41))
- _v44 = crt.Bool32(int32(_v42) == int32(42))
- goto l6
-l6:
- if _v44 != 0 {
- goto l7
- }
- goto l129
-l129:
- _v45 = 0
- goto l8
-l7:
- _v45 = 1
- goto l8
-l8:
- goto l9
-l9:
- if _v45 != 0 {
- goto l130
- }
- goto l10
-l130:
- _v46 = 1
- goto l11
-l10:
- _v46 = 0
- goto l11
-l11:
- if _v46 != 0 {
- goto l12
- }
- goto l58
-l12:
- *(*int32)(unsafe.Pointer(uintptr(_v4))) = 0
- _v52 = int64(_v1 + int64(0))
- _v53 = int32(*(*int8)(unsafe.Pointer(uintptr(_v52))))
- _v54 = int32(int8(_v53))
- _v56 = crt.Bool32(int32(_v54) == int32(47))
- if _v56 != 0 {
- goto l13
- }
- goto l14
-l13:
- _v58 = int64(_v4 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v58))) = 1
- _v60 = int64(_v3 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v60))) = 2
- goto l14
-l14:
- goto l15
-l15:
- _v61 = int64(_v3 + int64(0))
- _v62 = *(*int32)(unsafe.Pointer(uintptr(_v61)))
- _v63 = int32(int32(_v62) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v61))) = _v63
- _v64 = int64(int32(_v62))
- _v65 = int64(_v64 * int64(1))
- _v67 = int64(_v1 + _v65)
- _v68 = int32(*(*int8)(unsafe.Pointer(uintptr(_v67))))
- _v69 = int32(int8(_v68))
- _v70 = int64(_v5 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v70))) = _v69
- _v71 = *(*int32)(unsafe.Pointer(uintptr(_v70)))
- _v73 = crt.Bool32(int32(_v71) != int32(0))
- if _v73 != 0 {
- goto l16
- }
- goto l131
-l131:
- goto l57
-l16:
- _v74 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v76 = crt.Bool32(int32(_v74) == int32(10))
- if _v76 != 0 {
- goto l17
- }
- goto l18
-l17:
- _v78 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v79 = int32(int32(_v78) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v2))) = _v79
- goto l18
-l18:
- _v80 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v81 = int32(int32(_v80) & int32(255))
- _v82 = int32(int32(uint8(_v81)))
- _v83 = int64(int32(_v82))
- _v84 = int64(_v83 * int64(2))
- _v85 = crt.X__ctype_b_loc(t)
- _v86 = *(*int64)(unsafe.Pointer(uintptr(_v85)))
- _v87 = int64(_v86 + _v84)
- _v88 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v87))))
- _v89 = int32(uint16(_v88))
- _v93 = int32(int32(_v89) & int32(8192))
- if _v93 != 0 {
- goto l19
- }
- goto l21
-l19:
- goto l15
-l21:
- _v94 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- goto l22
-l22:
- if _v94 != 0 {
- goto l23
- }
- goto l132
-l132:
- _v98 = 0
- goto l26
-l23:
- _v95 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v97 = crt.Bool32(int32(_v95) == int32(42))
- goto l24
-l24:
- if _v97 != 0 {
- goto l25
- }
- goto l133
-l133:
- _v98 = 0
- goto l26
-l25:
- _v98 = 1
- goto l26
-l26:
- goto l27
-l27:
- if _v98 != 0 {
- goto l28
- }
- goto l134
-l134:
- _v108 = 0
- goto l31
-l28:
- _v99 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v100 = int64(int32(_v99))
- _v101 = int64(_v100 * int64(1))
- _v103 = int64(_v1 + _v101)
- _v104 = int32(*(*int8)(unsafe.Pointer(uintptr(_v103))))
- _v105 = int32(int8(_v104))
- _v107 = crt.Bool32(int32(_v105) == int32(47))
- goto l29
-l29:
- if _v107 != 0 {
- goto l30
- }
- goto l135
-l135:
- _v108 = 0
- goto l31
-l30:
- _v108 = 1
- goto l31
-l31:
- if _v108 != 0 {
- goto l32
- }
- goto l33
-l32:
- _v109 = int64(_v3 + int64(0))
- _v110 = *(*int32)(unsafe.Pointer(uintptr(_v109)))
- _v111 = int32(int32(_v110) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v109))) = _v111
- _v113 = int64(_v4 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v113))) = 0
- goto l56
-l33:
- _v114 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- goto l34
-l34:
- if _v114 != 0 {
- goto l35
- }
- goto l136
-l136:
- _v115 = 1
- goto l36
-l35:
- _v115 = 0
- goto l36
-l36:
- goto l37
-l37:
- if _v115 != 0 {
- goto l38
- }
- goto l137
-l137:
- _v119 = 0
- goto l41
-l38:
- _v116 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v118 = crt.Bool32(int32(_v116) == int32(47))
- goto l39
-l39:
- if _v118 != 0 {
- goto l40
- }
- goto l138
-l138:
- _v119 = 0
- goto l41
-l40:
- _v119 = 1
- goto l41
-l41:
- goto l42
-l42:
- if _v119 != 0 {
- goto l43
- }
- goto l139
-l139:
- _v129 = 0
- goto l46
-l43:
- _v120 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v121 = int64(int32(_v120))
- _v122 = int64(_v121 * int64(1))
- _v124 = int64(_v1 + _v122)
- _v125 = int32(*(*int8)(unsafe.Pointer(uintptr(_v124))))
- _v126 = int32(int8(_v125))
- _v128 = crt.Bool32(int32(_v126) == int32(42))
- goto l44
-l44:
- if _v128 != 0 {
- goto l45
- }
- goto l140
-l140:
- _v129 = 0
- goto l46
-l45:
- _v129 = 1
- goto l46
-l46:
- if _v129 != 0 {
- goto l47
- }
- goto l48
-l47:
- _v130 = int64(_v3 + int64(0))
- _v131 = *(*int32)(unsafe.Pointer(uintptr(_v130)))
- _v132 = int32(int32(_v131) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v130))) = _v132
- _v134 = int64(_v4 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v134))) = 1
- goto l55
-l48:
- _v135 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- goto l49
-l49:
- if _v135 != 0 {
- goto l50
- }
- goto l141
-l141:
- _v136 = 1
- goto l51
-l50:
- _v136 = 0
- goto l51
-l51:
- if _v136 != 0 {
- goto l52
- }
- goto l54
-l52:
- goto l57
-l54:
- goto l55
-l55:
- goto l56
-l56:
- goto l15
-l57:
- _v137 = int64(_v3 + int64(0))
- _v138 = *(*int32)(unsafe.Pointer(uintptr(_v137)))
- _v139 = int32(int32(_v138) - int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v137))) = _v139
- goto l124
-l58:
- _v144 = int64(_v1 + int64(0))
- _v145 = int32(*(*int8)(unsafe.Pointer(uintptr(_v144))))
- _v146 = int32(int8(_v145))
- _v148 = crt.Bool32(int32(_v146) == int32(45))
- goto l59
-l59:
- if _v148 != 0 {
- goto l60
- }
- goto l142
-l142:
- _v158 = 0
- goto l63
-l60:
- _v153 = int64(_v1 + int64(1))
- _v154 = int32(*(*int8)(unsafe.Pointer(uintptr(_v153))))
- _v155 = int32(int8(_v154))
- _v157 = crt.Bool32(int32(_v155) == int32(45))
- goto l61
-l61:
- if _v157 != 0 {
- goto l62
- }
- goto l143
-l143:
- _v158 = 0
- goto l63
-l62:
- _v158 = 1
- goto l63
-l63:
- if _v158 != 0 {
- goto l64
- }
- goto l76
-l64:
- _v160 = int64(_v3 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v160))) = 2
- goto l65
-l65:
- _v161 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v162 = int64(int32(_v161))
- _v163 = int64(_v162 * int64(1))
- _v165 = int64(_v1 + _v163)
- _v166 = int32(*(*int8)(unsafe.Pointer(uintptr(_v165))))
- goto l66
-l66:
- if _v166 != 0 {
- goto l67
- }
- goto l144
-l144:
- _v176 = 0
- goto l70
-l67:
- _v167 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v168 = int64(int32(_v167))
- _v169 = int64(_v168 * int64(1))
- _v171 = int64(_v1 + _v169)
- _v172 = int32(*(*int8)(unsafe.Pointer(uintptr(_v171))))
- _v173 = int32(int8(_v172))
- _v175 = crt.Bool32(int32(_v173) != int32(10))
- goto l68
-l68:
- if _v175 != 0 {
- goto l69
- }
- goto l145
-l145:
- _v176 = 0
- goto l70
-l69:
- _v176 = 1
- goto l70
-l70:
- if _v176 != 0 {
- goto l71
- }
- goto l73
-l71:
- goto l72
-l72:
- _v177 = int64(_v3 + int64(0))
- _v178 = *(*int32)(unsafe.Pointer(uintptr(_v177)))
- _v179 = int32(int32(_v178) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v177))) = _v179
- goto l65
-l73:
- _v180 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v181 = int64(int32(_v180))
- _v182 = int64(_v181 * int64(1))
- _v184 = int64(_v1 + _v182)
- _v185 = int32(*(*int8)(unsafe.Pointer(uintptr(_v184))))
- if _v185 != 0 {
- goto l74
- }
- goto l75
-l74:
- _v187 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v188 = int32(int32(_v187) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v2))) = _v188
- _v189 = int64(_v3 + int64(0))
- _v190 = *(*int32)(unsafe.Pointer(uintptr(_v189)))
- _v191 = int32(int32(_v190) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v189))) = _v191
- goto l75
-l75:
- goto l123
-l76:
- _v196 = int64(_v1 + int64(0))
- _v197 = int32(*(*int8)(unsafe.Pointer(uintptr(_v196))))
- _v198 = int32(int8(_v197))
- _v200 = crt.Bool32(int32(_v198) == int32(34))
- goto l77
-l77:
- if _v200 != 0 {
- goto l146
- }
- goto l78
-l146:
- _v210 = 1
- goto l81
-l78:
- _v205 = int64(_v1 + int64(0))
- _v206 = int32(*(*int8)(unsafe.Pointer(uintptr(_v205))))
- _v207 = int32(int8(_v206))
- _v209 = crt.Bool32(int32(_v207) == int32(39))
- goto l79
-l79:
- if _v209 != 0 {
- goto l147
- }
- goto l80
-l147:
- _v210 = 1
- goto l81
-l80:
- _v210 = 0
- goto l81
-l81:
- if _v210 != 0 {
- goto l82
- }
- goto l94
-l82:
- _v215 = int64(_v1 + int64(0))
- _v216 = int32(*(*int8)(unsafe.Pointer(uintptr(_v215))))
- _v217 = int32(int8(_v216))
- *(*int32)(unsafe.Pointer(uintptr(_v6))) = _v217
- _v219 = int64(_v3 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v219))) = 1
- goto l83
-l83:
- _v220 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v221 = int64(int32(_v220))
- _v222 = int64(_v221 * int64(1))
- _v224 = int64(_v1 + _v222)
- _v225 = int32(*(*int8)(unsafe.Pointer(uintptr(_v224))))
- if _v225 != 0 {
- goto l84
- }
- goto l148
-l148:
- goto l93
-l84:
- _v226 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v227 = int64(int32(_v226))
- _v228 = int64(_v227 * int64(1))
- _v230 = int64(_v1 + _v228)
- _v231 = int32(*(*int8)(unsafe.Pointer(uintptr(_v230))))
- _v232 = int32(int8(_v231))
- _v234 = crt.Bool32(int32(_v232) == int32(10))
- if _v234 != 0 {
- goto l85
- }
- goto l86
-l85:
- _v236 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v237 = int32(int32(_v236) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v2))) = _v237
- goto l86
-l86:
- _v238 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v239 = int64(int32(_v238))
- _v240 = int64(_v239 * int64(1))
- _v242 = int64(_v1 + _v240)
- _v243 = int32(*(*int8)(unsafe.Pointer(uintptr(_v242))))
- _v244 = int32(int8(_v243))
- _v245 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v246 = crt.Bool32(int32(_v244) == int32(_v245))
- if _v246 != 0 {
- goto l87
- }
- goto l91
-l87:
- _v247 = int64(_v3 + int64(0))
- _v248 = *(*int32)(unsafe.Pointer(uintptr(_v247)))
- _v249 = int32(int32(_v248) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v247))) = _v249
- _v250 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v252 = int32(int32(_v250) + int32(1))
- _v253 = int64(int32(_v252))
- _v254 = int64(_v253 * int64(1))
- _v256 = int64(_v1 + _v254)
- _v257 = int32(*(*int8)(unsafe.Pointer(uintptr(_v256))))
- _v258 = int32(int8(_v257))
- _v259 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v260 = crt.Bool32(int32(_v258) != int32(_v259))
- if _v260 != 0 {
- goto l88
- }
- goto l90
-l88:
- goto l93
-l90:
- goto l91
-l91:
- goto l92
-l92:
- _v261 = int64(_v3 + int64(0))
- _v262 = *(*int32)(unsafe.Pointer(uintptr(_v261)))
- _v263 = int32(int32(_v262) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v261))) = _v263
- goto l83
-l93:
- goto l122
-l94:
- _v265 = int64(_v3 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v265))) = 1
- goto l95
-l95:
- _v266 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v267 = int64(int32(_v266))
- _v268 = int64(_v267 * int64(1))
- _v270 = int64(_v1 + _v268)
- _v271 = int32(*(*int8)(unsafe.Pointer(uintptr(_v270))))
- _v272 = int32(int8(_v271))
- _v273 = int64(_v7 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v273))) = _v272
- _v274 = *(*int32)(unsafe.Pointer(uintptr(_v273)))
- _v276 = crt.Bool32(int32(_v274) != int32(0))
- goto l96
-l96:
- if _v276 != 0 {
- goto l97
- }
- goto l149
-l149:
- _v292 = 0
- goto l103
-l97:
- _v277 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v278 = int32(int32(_v277) & int32(255))
- _v279 = int32(int32(uint8(_v278)))
- _v280 = int64(int32(_v279))
- _v281 = int64(_v280 * int64(2))
- _v282 = crt.X__ctype_b_loc(t)
- _v283 = *(*int64)(unsafe.Pointer(uintptr(_v282)))
- _v284 = int64(_v283 + _v281)
- _v285 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v284))))
- _v286 = int32(uint16(_v285))
- _v290 = int32(int32(_v286) & int32(8192))
- goto l98
-l98:
- if _v290 != 0 {
- goto l99
- }
- goto l150
-l150:
- _v291 = 1
- goto l100
-l99:
- _v291 = 0
- goto l100
-l100:
- goto l101
-l101:
- if _v291 != 0 {
- goto l102
- }
- goto l151
-l151:
- _v292 = 0
- goto l103
-l102:
- _v292 = 1
- goto l103
-l103:
- goto l104
-l104:
- if _v292 != 0 {
- goto l105
- }
- goto l152
-l152:
- _v296 = 0
- goto l108
-l105:
- _v293 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v295 = crt.Bool32(int32(_v293) != int32(34))
- goto l106
-l106:
- if _v295 != 0 {
- goto l107
- }
- goto l153
-l153:
- _v296 = 0
- goto l108
-l107:
- _v296 = 1
- goto l108
-l108:
- goto l109
-l109:
- if _v296 != 0 {
- goto l110
- }
- goto l154
-l154:
- _v300 = 0
- goto l113
-l110:
- _v297 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v299 = crt.Bool32(int32(_v297) != int32(39))
- goto l111
-l111:
- if _v299 != 0 {
- goto l112
- }
- goto l155
-l155:
- _v300 = 0
- goto l113
-l112:
- _v300 = 1
- goto l113
-l113:
- goto l114
-l114:
- if _v300 != 0 {
- goto l115
- }
- goto l156
-l156:
- _v304 = 0
- goto l118
-l115:
- _v301 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v303 = crt.Bool32(int32(_v301) != int32(59))
- goto l116
-l116:
- if _v303 != 0 {
- goto l117
- }
- goto l157
-l157:
- _v304 = 0
- goto l118
-l117:
- _v304 = 1
- goto l118
-l118:
- if _v304 != 0 {
- goto l119
- }
- goto l121
-l119:
- goto l120
-l120:
- _v305 = int64(_v3 + int64(0))
- _v306 = *(*int32)(unsafe.Pointer(uintptr(_v305)))
- _v307 = int32(int32(_v306) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v305))) = _v307
- goto l95
-l121:
- goto l122
-l122:
- goto l123
-l123:
- goto l124
-l124:
- _v308 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- return _v308
-}
-
-var s__74 = [12]byte{0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68}
-
-func s_extractToken(t *crt.TLS, _v1 int64, _v2 int32, _v3 int64, _v4 int32) int32 {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v16 int64 // %t10
- var _v17 int64 // %t11
- var _v20 int64 // %t14
- var _v21 int32 // %t15
- var _v23 int32 // %t17
- var _v24 int32 // %t18
- var _v27 int32 // %t21
- var _v28 int32 // %t22
- var _v29 int32 // %t23
- var _v30 int32 // %t24
- var _v31 int64 // %t25
- var _v32 int64 // %t26
- var _v34 int64 // %t28
- var _v35 int32 // %t29
- var _v36 int32 // %t30
- var _v37 int64 // %t31
- var _v38 int64 // %t32
- var _v39 int64 // %t33
- var _v40 int64 // %t34
- var _v41 int64 // %t35
- var _v42 int32 // %t36
- var _v43 int32 // %t37
- var _v10 int32 // %t4
- var _v47 int32 // %t41
- var _v48 int32 // %t42
- var _v49 int32 // %t43
- var _v50 int32 // %t44
- var _v51 int64 // %t45
- var _v52 int64 // %t46
- var _v54 int64 // %t48
- var _v55 int32 // %t49
- var _v56 int32 // %t50
- var _v57 int64 // %t51
- var _v58 int64 // %t52
- var _v59 int64 // %t53
- var _v60 int64 // %t54
- var _v61 int64 // %t55
- var _v62 int32 // %t56
- var _v63 int32 // %t57
- var _v66 int32 // %t60
- var _v67 int64 // %t61
- var _v68 int64 // %t62
- var _v69 int64 // %t63
- var _v70 int64 // %t64
- var _v71 int32 // %t65
- var _v5 = int64(bp + 0) // %v3
- var _v7 = int64(bp + 8) // %v5
- *(*int64)(unsafe.Pointer(uintptr(_v5))) = _v3
- _v10 = crt.Bool32(int32(_v2) <= int32(0))
- if _v10 != 0 {
- goto l2
- }
- goto l4
-l2:
- _v16 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v17 = int64(_v16 + int64(0))
- *(*int8)(unsafe.Pointer(uintptr(_v17))) = 0
- return 0
-l4:
- _v20 = int64(_v7 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v20))) = 0
- goto l5
-l5:
- _v21 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v23 = crt.Bool32(int32(_v21) < int32(_v2))
- goto l6
-l6:
- if _v23 != 0 {
- goto l7
- }
- goto l24
-l24:
- _v29 = 0
- goto l10
-l7:
- _v24 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v27 = int32(int32(_v4) - int32(1))
- _v28 = crt.Bool32(int32(_v24) < int32(_v27))
- goto l8
-l8:
- if _v28 != 0 {
- goto l9
- }
- goto l25
-l25:
- _v29 = 0
- goto l10
-l9:
- _v29 = 1
- goto l10
-l10:
- goto l11
-l11:
- if _v29 != 0 {
- goto l12
- }
- goto l26
-l26:
- _v49 = 0
- goto l18
-l12:
- _v30 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v31 = int64(int32(_v30))
- _v32 = int64(_v31 * int64(1))
- _v34 = int64(_v1 + _v32)
- _v35 = int32(*(*int8)(unsafe.Pointer(uintptr(_v34))))
- _v36 = int32(int32(uint8(_v35)))
- _v37 = int64(int32(_v36))
- _v38 = int64(_v37 * int64(2))
- _v39 = crt.X__ctype_b_loc(t)
- _v40 = *(*int64)(unsafe.Pointer(uintptr(_v39)))
- _v41 = int64(_v40 + _v38)
- _v42 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v41))))
- _v43 = int32(uint16(_v42))
- _v47 = int32(int32(_v43) & int32(8192))
- goto l13
-l13:
- if _v47 != 0 {
- goto l14
- }
- goto l27
-l27:
- _v48 = 1
- goto l15
-l14:
- _v48 = 0
- goto l15
-l15:
- goto l16
-l16:
- if _v48 != 0 {
- goto l17
- }
- goto l28
-l28:
- _v49 = 0
- goto l18
-l17:
- _v49 = 1
- goto l18
-l18:
- if _v49 != 0 {
- goto l19
- }
- goto l21
-l19:
- _v50 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v51 = int64(int32(_v50))
- _v52 = int64(_v51 * int64(1))
- _v54 = int64(_v1 + _v52)
- _v55 = int32(*(*int8)(unsafe.Pointer(uintptr(_v54))))
- _v56 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v57 = int64(int32(_v56))
- _v58 = int64(_v57 * int64(1))
- _v59 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v60 = int64(_v59 + _v58)
- *(*int8)(unsafe.Pointer(uintptr(_v60))) = int8(_v55)
- goto l20
-l20:
- _v61 = int64(_v7 + int64(0))
- _v62 = *(*int32)(unsafe.Pointer(uintptr(_v61)))
- _v63 = int32(int32(_v62) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v61))) = _v63
- goto l5
-l21:
- _v66 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v67 = int64(int32(_v66))
- _v68 = int64(_v67 * int64(1))
- _v69 = *(*int64)(unsafe.Pointer(uintptr(_v5)))
- _v70 = int64(_v69 + _v68)
- *(*int8)(unsafe.Pointer(uintptr(_v70))) = 0
- _v71 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- return _v71
-}
-
-var s__75 = [13]byte{0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e}
-
-func s_findEnd(t *crt.TLS, _v1 int64, _v2 int64) int32 {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v13 int64 // %t10
- var _v14 int64 // %t11
- var _v18 int32 // %t15
- var _v19 int32 // %t16
- var _v21 int32 // %t18
- var _v22 int64 // %t19
- var _v5 int32 // %t2
- var _v23 int64 // %t20
- var _v25 int64 // %t22
- var _v26 int32 // %t23
- var _v27 int32 // %t24
- var _v28 int64 // %t25
- var _v29 int64 // %t26
- var _v30 int64 // %t27
- var _v31 int64 // %t28
- var _v32 int64 // %t29
- var _v6 int64 // %t3
- var _v33 int32 // %t30
- var _v34 int32 // %t31
- var _v38 int32 // %t35
- var _v39 int32 // %t36
- var _v40 int32 // %t37
- var _v41 int32 // %t38
- var _v7 int64 // %t4
- var _v43 int32 // %t40
- var _v44 int64 // %t41
- var _v45 int64 // %t42
- var _v47 int32 // %t44
- var _v48 int64 // %t45
- var _v49 int32 // %t46
- var _v50 int32 // %t47
- var _v51 int32 // %t48
- var _v9 int64 // %t6
- var _v10 int32 // %t7
- var _v12 int32 // %t9
- var _v3 = int64(bp + 0) // %v3
- *(*int32)(unsafe.Pointer(uintptr(_v3))) = 0
- goto l2
-l2:
- _v5 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v6 = int64(int32(_v5))
- _v7 = int64(_v6 * int64(1))
- _v9 = int64(_v1 + _v7)
- _v10 = int32(*(*int8)(unsafe.Pointer(uintptr(_v9))))
- goto l3
-l3:
- if _v10 != 0 {
- goto l4
- }
- goto l20
-l20:
- _v41 = 0
- goto l15
-l4:
- _v12 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v13 = int64(int32(_v12))
- _v14 = int64(_v1 + _v13)
- _v18 = crt.Xstrncmp(t, _v14, int64(uintptr(unsafe.Pointer(&s__77))), int64(5))
- goto l5
-l5:
- if _v18 != 0 {
- goto l21
- }
- goto l6
-l21:
- _v40 = 1
- goto l12
-l6:
- _v19 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v21 = int32(int32(_v19) + int32(5))
- _v22 = int64(int32(_v21))
- _v23 = int64(_v22 * int64(1))
- _v25 = int64(_v1 + _v23)
- _v26 = int32(*(*int8)(unsafe.Pointer(uintptr(_v25))))
- _v27 = int32(int32(uint8(_v26)))
- _v28 = int64(int32(_v27))
- _v29 = int64(_v28 * int64(2))
- _v30 = crt.X__ctype_b_loc(t)
- _v31 = *(*int64)(unsafe.Pointer(uintptr(_v30)))
- _v32 = int64(_v31 + _v29)
- _v33 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v32))))
- _v34 = int32(uint16(_v33))
- _v38 = int32(int32(_v34) & int32(8192))
- goto l7
-l7:
- if _v38 != 0 {
- goto l8
- }
- goto l22
-l22:
- _v39 = 1
- goto l9
-l8:
- _v39 = 0
- goto l9
-l9:
- goto l10
-l10:
- if _v39 != 0 {
- goto l23
- }
- goto l11
-l23:
- _v40 = 1
- goto l12
-l11:
- _v40 = 0
- goto l12
-l12:
- goto l13
-l13:
- if _v40 != 0 {
- goto l14
- }
- goto l24
-l24:
- _v41 = 0
- goto l15
-l14:
- _v41 = 1
- goto l15
-l15:
- if _v41 != 0 {
- goto l16
- }
- goto l17
-l16:
- _v43 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v44 = int64(int32(_v43))
- _v45 = int64(_v1 + _v44)
- _v47 = s_tokenLength(t, _v45, _v2)
- _v48 = int64(_v3 + int64(0))
- _v49 = *(*int32)(unsafe.Pointer(uintptr(_v48)))
- _v50 = int32(int32(_v49) + int32(_v47))
- *(*int32)(unsafe.Pointer(uintptr(_v48))) = _v50
- goto l2
-l17:
- _v51 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- return _v51
-}
-
-var s__76 = [8]byte{0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x64}
-
-var s__77 = [6]byte{0x2d, 0x2d, 0x65, 0x6e, 0x64}
-
-func s_findEndif(t *crt.TLS, _v1 int64, _v2 int32, _v3 int64) int32 {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v16 int64 // %t10
- var _v106 int32 // %t100
- var _v107 int64 // %t101
- var _v108 int64 // %t102
- var _v109 int64 // %t103
- var _v110 int64 // %t104
- var _v111 int64 // %t105
- var _v112 int32 // %t106
- var _v113 int32 // %t107
- var _v17 int64 // %t11
- var _v117 int32 // %t111
- var _v118 int32 // %t112
- var _v120 int32 // %t114
- var _v121 int64 // %t115
- var _v122 int64 // %t116
- var _v123 int32 // %t117
- var _v124 int64 // %t118
- var _v125 int64 // %t119
- var _v128 int32 // %t122
- var _v129 int32 // %t123
- var _v130 int32 // %t124
- var _v131 int32 // %t125
- var _v132 int64 // %t126
- var _v133 int32 // %t127
- var _v134 int32 // %t128
- var _v135 int32 // %t129
- var _v19 int32 // %t13
- var _v136 int64 // %t130
- var _v137 int32 // %t131
- var _v138 int32 // %t132
- var _v139 int32 // %t133
- var _v21 int32 // %t15
- var _v22 int64 // %t16
- var _v23 int64 // %t17
- var _v8 int32 // %t2
- var _v27 int32 // %t21
- var _v29 int32 // %t23
- var _v30 int32 // %t24
- var _v32 int32 // %t26
- var _v33 int64 // %t27
- var _v34 int64 // %t28
- var _v9 int64 // %t3
- var _v36 int64 // %t30
- var _v37 int32 // %t31
- var _v38 int32 // %t32
- var _v39 int64 // %t33
- var _v40 int64 // %t34
- var _v41 int64 // %t35
- var _v42 int64 // %t36
- var _v43 int64 // %t37
- var _v44 int32 // %t38
- var _v45 int32 // %t39
- var _v10 int64 // %t4
- var _v49 int32 // %t43
- var _v50 int32 // %t44
- var _v53 int32 // %t47
- var _v54 int64 // %t48
- var _v55 int64 // %t49
- var _v59 int32 // %t53
- var _v61 int32 // %t55
- var _v62 int32 // %t56
- var _v63 int32 // %t57
- var _v65 int32 // %t59
- var _v12 int64 // %t6
- var _v66 int64 // %t60
- var _v67 int64 // %t61
- var _v69 int64 // %t63
- var _v70 int32 // %t64
- var _v71 int32 // %t65
- var _v72 int64 // %t66
- var _v73 int64 // %t67
- var _v74 int64 // %t68
- var _v75 int64 // %t69
- var _v13 int32 // %t7
- var _v76 int64 // %t70
- var _v77 int32 // %t71
- var _v78 int32 // %t72
- var _v82 int32 // %t76
- var _v83 int32 // %t77
- var _v84 int32 // %t78
- var _v85 int32 // %t79
- var _v86 int32 // %t80
- var _v87 int32 // %t81
- var _v89 int32 // %t83
- var _v90 int64 // %t84
- var _v91 int64 // %t85
- var _v95 int32 // %t89
- var _v15 int32 // %t9
- var _v97 int32 // %t91
- var _v98 int32 // %t92
- var _v100 int32 // %t94
- var _v101 int64 // %t95
- var _v102 int64 // %t96
- var _v104 int64 // %t98
- var _v105 int32 // %t99
- var _v4 = int64(bp + 0) // %v4
- var _v5 = int64(bp + 4) // %v5
- var _v6 = int64(bp + 8) // %v6
- *(*int32)(unsafe.Pointer(uintptr(_v4))) = 0
- goto l2
-l2:
- _v8 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v9 = int64(int32(_v8))
- _v10 = int64(_v9 * int64(1))
- _v12 = int64(_v1 + _v10)
- _v13 = int32(*(*int8)(unsafe.Pointer(uintptr(_v12))))
- if _v13 != 0 {
- goto l3
- }
- goto l35
-l3:
- _v15 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v16 = int64(int32(_v15))
- _v17 = int64(_v1 + _v16)
- _v19 = s_tokenLength(t, _v17, _v3)
- *(*int32)(unsafe.Pointer(uintptr(_v5))) = _v19
- _v21 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v22 = int64(int32(_v21))
- _v23 = int64(_v1 + _v22)
- _v27 = crt.Xstrncmp(t, _v23, int64(uintptr(unsafe.Pointer(&s__79))), int64(7))
- _v29 = crt.Bool32(int32(_v27) == int32(0))
- goto l4
-l4:
- if _v29 != 0 {
- goto l5
- }
- goto l38
-l38:
- _v50 = 0
- goto l8
-l5:
- _v30 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v32 = int32(int32(_v30) + int32(7))
- _v33 = int64(int32(_v32))
- _v34 = int64(_v33 * int64(1))
- _v36 = int64(_v1 + _v34)
- _v37 = int32(*(*int8)(unsafe.Pointer(uintptr(_v36))))
- _v38 = int32(int32(uint8(_v37)))
- _v39 = int64(int32(_v38))
- _v40 = int64(_v39 * int64(2))
- _v41 = crt.X__ctype_b_loc(t)
- _v42 = *(*int64)(unsafe.Pointer(uintptr(_v41)))
- _v43 = int64(_v42 + _v40)
- _v44 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v43))))
- _v45 = int32(uint16(_v44))
- _v49 = int32(int32(_v45) & int32(8192))
- goto l6
-l6:
- if _v49 != 0 {
- goto l7
- }
- goto l39
-l39:
- _v50 = 0
- goto l8
-l7:
- _v50 = 1
- goto l8
-l8:
- goto l9
-l9:
- if _v50 != 0 {
- goto l40
- }
- goto l10
-l40:
- _v84 = 1
- goto l23
-l10:
- goto l11
-l11:
- if _v2 != 0 {
- goto l12
- }
- goto l41
-l41:
- _v62 = 0
- goto l15
-l12:
- _v53 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v54 = int64(int32(_v53))
- _v55 = int64(_v1 + _v54)
- _v59 = crt.Xstrncmp(t, _v55, int64(uintptr(unsafe.Pointer(&s__80))), int64(6))
- _v61 = crt.Bool32(int32(_v59) == int32(0))
- goto l13
-l13:
- if _v61 != 0 {
- goto l14
- }
- goto l42
-l42:
- _v62 = 0
- goto l15
-l14:
- _v62 = 1
- goto l15
-l15:
- goto l16
-l16:
- if _v62 != 0 {
- goto l17
- }
- goto l43
-l43:
- _v83 = 0
- goto l20
-l17:
- _v63 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v65 = int32(int32(_v63) + int32(6))
- _v66 = int64(int32(_v65))
- _v67 = int64(_v66 * int64(1))
- _v69 = int64(_v1 + _v67)
- _v70 = int32(*(*int8)(unsafe.Pointer(uintptr(_v69))))
- _v71 = int32(int32(uint8(_v70)))
- _v72 = int64(int32(_v71))
- _v73 = int64(_v72 * int64(2))
- _v74 = crt.X__ctype_b_loc(t)
- _v75 = *(*int64)(unsafe.Pointer(uintptr(_v74)))
- _v76 = int64(_v75 + _v73)
- _v77 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v76))))
- _v78 = int32(uint16(_v77))
- _v82 = int32(int32(_v78) & int32(8192))
- goto l18
-l18:
- if _v82 != 0 {
- goto l19
- }
- goto l44
-l44:
- _v83 = 0
- goto l20
-l19:
- _v83 = 1
- goto l20
-l20:
- goto l21
-l21:
- if _v83 != 0 {
- goto l45
- }
- goto l22
-l45:
- _v84 = 1
- goto l23
-l22:
- _v84 = 0
- goto l23
-l23:
- if _v84 != 0 {
- goto l24
- }
- goto l26
-l24:
- _v85 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v86 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v87 = int32(int32(_v85) + int32(_v86))
- return _v87
-l26:
- _v89 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v90 = int64(int32(_v89))
- _v91 = int64(_v1 + _v90)
- _v95 = crt.Xstrncmp(t, _v91, int64(uintptr(unsafe.Pointer(&s__81))), int64(4))
- _v97 = crt.Bool32(int32(_v95) == int32(0))
- goto l27
-l27:
- if _v97 != 0 {
- goto l28
- }
- goto l46
-l46:
- _v118 = 0
- goto l31
-l28:
- _v98 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v100 = int32(int32(_v98) + int32(4))
- _v101 = int64(int32(_v100))
- _v102 = int64(_v101 * int64(1))
- _v104 = int64(_v1 + _v102)
- _v105 = int32(*(*int8)(unsafe.Pointer(uintptr(_v104))))
- _v106 = int32(int32(uint8(_v105)))
- _v107 = int64(int32(_v106))
- _v108 = int64(_v107 * int64(2))
- _v109 = crt.X__ctype_b_loc(t)
- _v110 = *(*int64)(unsafe.Pointer(uintptr(_v109)))
- _v111 = int64(_v110 + _v108)
- _v112 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v111))))
- _v113 = int32(uint16(_v112))
- _v117 = int32(int32(_v113) & int32(8192))
- goto l29
-l29:
- if _v117 != 0 {
- goto l30
- }
- goto l47
-l47:
- _v118 = 0
- goto l31
-l30:
- _v118 = 1
- goto l31
-l31:
- if _v118 != 0 {
- goto l32
- }
- goto l33
-l32:
- _v120 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v121 = int64(int32(_v120))
- _v122 = int64(_v1 + _v121)
- _v123 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v124 = int64(int32(_v123))
- _v125 = int64(_v122 + _v124)
- _v128 = s_findEndif(t, _v125, 0, _v3)
- *(*int32)(unsafe.Pointer(uintptr(_v6))) = _v128
- _v129 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v130 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v131 = int32(int32(_v129) + int32(_v130))
- _v132 = int64(_v4 + int64(0))
- _v133 = *(*int32)(unsafe.Pointer(uintptr(_v132)))
- _v134 = int32(int32(_v133) + int32(_v131))
- *(*int32)(unsafe.Pointer(uintptr(_v132))) = _v134
- goto l34
-l33:
- _v135 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v136 = int64(_v4 + int64(0))
- _v137 = *(*int32)(unsafe.Pointer(uintptr(_v136)))
- _v138 = int32(int32(_v137) + int32(_v135))
- *(*int32)(unsafe.Pointer(uintptr(_v136))) = _v138
- goto l34
-l34:
- goto l2
-l35:
- _v139 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- return _v139
-}
+// Clock support in threads must be also checked at runtime.
-var s__78 = [10]byte{0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x64, 0x69, 0x66}
-
-var s__79 = [8]byte{0x2d, 0x2d, 0x65, 0x6e, 0x64, 0x69, 0x66}
-
-var s__80 = [7]byte{0x2d, 0x2d, 0x65, 0x6c, 0x73, 0x65}
-
-var s__81 = [5]byte{0x2d, 0x2d, 0x69, 0x66}
-
-func s_waitForClient(t *crt.TLS, _v1 int32, _v2 int32, _v3 int64) {
- bp := t.Alloc(64)
- defer t.Free(64)
- var _v18 int64 // %t11
- var _v19 int64 // %t12
- var _v23 int64 // %t16
- var _v24 int32 // %t17
- var _v25 int64 // %t18
- var _v26 int32 // %t19
- var _v28 int32 // %t21
- var _v29 int32 // %t22
- var _v31 int32 // %t24
- var _v32 int32 // %t25
- var _v33 int32 // %t26
- var _v35 int32 // %t28
- var _v36 int32 // %t29
- var _v37 int64 // %t30
- var _v42 int64 // %t35
- var _v43 int32 // %t36
- var _v44 int32 // %t37
- var _v45 int64 // %t38
- var _v50 int32 // %t43
- var _v52 int32 // %t45
- var _v53 int64 // %t46
- var _v56 int32 // %t49
- var _v12 int32 // %t5
- var _v58 int64 // %t51
- var _v61 int32 // %t54
- var _v63 int64 // %t56
- var _v66 int64 // %t59
- var _v15 int64 // %t8
- var _v16 int64 // %t9
- var _v4 = int64(bp + 32) // %v2
- var _v6 = int64(bp + 40) // %v3
- var _v8 = int64(bp + 48) // %v4
- var _v9 = int64(bp + 56) // %v5
- *(*int32)(unsafe.Pointer(uintptr(_v4))) = _v2
- *(*int64)(unsafe.Pointer(uintptr(_v6))) = _v3
- _v12 = crt.Bool32(int32(_v1) > int32(0))
- if _v12 != 0 {
- goto l2
- }
- goto l3
-l2:
- *(*int32)(unsafe.Pointer(bp + 0)) = _v1
-
- _v15 = s_prepareSql(t, int64(uintptr(unsafe.Pointer(&s__83))), bp+0)
- _v16 = int64(_v8 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v16))) = _v15
- goto l4
-l3:
-
- _v18 = s_prepareSql(t, int64(uintptr(unsafe.Pointer(&s__84))), 0)
- _v19 = int64(_v8 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v19))) = _v18
- goto l4
-l4:
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 120)) = 0
- goto l5
-l5:
- _v23 = *(*int64)(unsafe.Pointer(uintptr(_v8)))
- _v24 = Xsqlite3_step(t, _v23)
- _v25 = int64(_v9 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v25))) = _v24
- _v26 = *(*int32)(unsafe.Pointer(uintptr(_v25)))
- _v28 = crt.Bool32(int32(_v26) == int32(5))
- goto l6
-l6:
- if _v28 != 0 {
- goto l26
- }
- goto l7
-l26:
- _v32 = 1
- goto l10
-l7:
- _v29 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v31 = crt.Bool32(int32(_v29) == int32(100))
- goto l8
-l8:
- if _v31 != 0 {
- goto l27
- }
- goto l9
-l27:
- _v32 = 1
- goto l10
-l9:
- _v32 = 0
- goto l10
-l10:
- goto l11
-l11:
- if _v32 != 0 {
- goto l12
- }
- goto l28
-l28:
- _v36 = 0
- goto l15
-l12:
- _v33 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v35 = crt.Bool32(int32(_v33) > int32(0))
- goto l13
-l13:
- if _v35 != 0 {
- goto l14
- }
- goto l29
-l29:
- _v36 = 0
- goto l15
-l14:
- _v36 = 1
- goto l15
-l15:
- if _v36 != 0 {
- goto l16
- }
- goto l17
-l16:
- _v37 = *(*int64)(unsafe.Pointer(uintptr(_v8)))
- _ = Xsqlite3_reset(t, _v37)
- _ = Xsqlite3_sleep(t, 50)
- _v42 = int64(_v4 + int64(0))
- _v43 = *(*int32)(unsafe.Pointer(uintptr(_v42)))
- _v44 = int32(int32(_v43) - int32(50))
- *(*int32)(unsafe.Pointer(uintptr(_v42))) = _v44
- goto l5
-l17:
- _v45 = *(*int64)(unsafe.Pointer(uintptr(_v8)))
- _ = Xsqlite3_finalize(t, _v45)
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 120)) = 10000
- _v50 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v52 = crt.Bool32(int32(_v50) != int32(101))
- if _v52 != 0 {
- goto l18
- }
- goto l24
-l18:
- _v53 = *(*int64)(unsafe.Pointer(uintptr(_v6)))
- _v56 = crt.Bool32(_v53 == int64(0))
- if _v56 != 0 {
- goto l19
- }
- goto l20
-l19:
- _v58 = int64(_v6 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v58))) = int64(uintptr(unsafe.Pointer(&s__85)))
- goto l20
-l20:
- _v61 = crt.Bool32(int32(_v1) > int32(0))
- if _v61 != 0 {
- goto l21
- }
- goto l22
-l21:
- _v63 = *(*int64)(unsafe.Pointer(uintptr(_v6)))
- *(*int64)(unsafe.Pointer(bp + 8)) = _v63
-
- *(*int32)(unsafe.Pointer(bp + 16)) = _v1
- s_errorMessage(t, int64(uintptr(unsafe.Pointer(&s__86))), bp+8)
- goto l23
-l22:
- _v66 = *(*int64)(unsafe.Pointer(uintptr(_v6)))
- *(*int64)(unsafe.Pointer(bp + 24)) = _v66
- s_errorMessage(t, int64(uintptr(unsafe.Pointer(&s__87))), bp+24)
- goto l23
-l23:
- goto l24
-l24:
- goto l25
-l25:
-}
+// GNU libc provides regular expression handling.
-var s__82 = [14]byte{0x77, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74}
+// Reader/Writer locks are available.
-var s__83 = [96]byte{
- 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x20, 0x31, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0x20, 0x74, 0x61,
- 0x73, 0x6b, 0x20, 0x57, 0x48, 0x45, 0x52, 0x45, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x3d,
- 0x25, 0x64, 0x20, 0x20, 0x20, 0x41, 0x4e, 0x44, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20,
- 0x49, 0x4e, 0x20, 0x28, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x20, 0x69, 0x64, 0x20, 0x46, 0x52,
- 0x4f, 0x4d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x29, 0x20, 0x20, 0x41, 0x4e, 0x44, 0x20,
- 0x65, 0x6e, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x49, 0x53, 0x20, 0x4e, 0x55, 0x4c, 0x4c,
-}
+// We have a POSIX shell.
-var s__84 = [81]byte{
- 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x20, 0x31, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0x20, 0x74, 0x61,
- 0x73, 0x6b, 0x20, 0x57, 0x48, 0x45, 0x52, 0x45, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20,
- 0x49, 0x4e, 0x20, 0x28, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x20, 0x69, 0x64, 0x20, 0x46, 0x52,
- 0x4f, 0x4d, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x29, 0x20, 0x20, 0x20, 0x41, 0x4e, 0x44,
- 0x20, 0x65, 0x6e, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x49, 0x53, 0x20, 0x4e, 0x55, 0x4c, 0x4c,
-}
+// We support the Timeouts option.
-var s__85 [1]byte
+// We support spinlocks.
-var s__86 = [32]byte{
- 0x25, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x20, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e,
- 0x67, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x25, 0x64,
-}
+// The `spawn' function family is supported.
-var s__87 = [34]byte{
- 0x25, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x20, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e,
- 0x67, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
- 0x73,
-}
+// We have POSIX timers.
-func s_filenameTail(t *crt.TLS, _v1 int64) int64 {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v13 int32 // %t10
- var _v14 int32 // %t11
- var _v15 int64 // %t12
- var _v16 int64 // %t13
- var _v18 int64 // %t15
- var _v19 int32 // %t16
- var _v20 int32 // %t17
- var _v22 int32 // %t19
- var _v5 int64 // %t2
- var _v23 int32 // %t20
- var _v25 int32 // %t22
- var _v26 int64 // %t23
- var _v27 int64 // %t24
- var _v28 int32 // %t25
- var _v29 int32 // %t26
- var _v31 int32 // %t28
- var _v32 int64 // %t29
- var _v6 int32 // %t3
- var _v33 int64 // %t30
- var _v7 int64 // %t4
- var _v8 int32 // %t5
- var _v9 int64 // %t6
- var _v10 int64 // %t7
- var _v12 int64 // %t9
- var _v2 = int64(bp + 0) // %v2
- var _v3 = int64(bp + 4) // %v3
- _v5 = int64(_v3 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v5))) = 0
- _v6 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v7 = int64(_v2 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v7))) = _v6
- goto l2
-l2:
- _v8 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v9 = int64(int32(_v8))
- _v10 = int64(_v9 * int64(1))
- _v12 = int64(_v1 + _v10)
- _v13 = int32(*(*int8)(unsafe.Pointer(uintptr(_v12))))
- if _v13 != 0 {
- goto l3
- }
- goto l7
-l3:
- _v14 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v15 = int64(int32(_v14))
- _v16 = int64(_v15 * int64(1))
- _v18 = int64(_v1 + _v16)
- _v19 = int32(*(*int8)(unsafe.Pointer(uintptr(_v18))))
- _v20 = int32(int8(_v19))
- _v22 = crt.Bool32(int32(_v20) == int32(47))
- if _v22 != 0 {
- goto l4
- }
- goto l5
-l4:
- _v23 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v25 = int32(int32(_v23) + int32(1))
- _v26 = int64(_v3 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v26))) = _v25
- goto l5
-l5:
- goto l6
-l6:
- _v27 = int64(_v2 + int64(0))
- _v28 = *(*int32)(unsafe.Pointer(uintptr(_v27)))
- _v29 = int32(int32(_v28) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v27))) = _v29
- goto l2
-l7:
- _v31 = *(*int32)(unsafe.Pointer(uintptr(_v3)))
- _v32 = int64(int32(_v31))
- _v33 = int64(_v1 + _v32)
- return _v33
-}
+// The barrier functions are available.
-var s__88 = [13]byte{0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x69, 0x6c}
-
-func s_booleanValue(t *crt.TLS, _v1 int64) int32 {
- bp := t.Alloc(16)
- defer t.Free(16)
- var _v12 int64 // %t10
- var _v14 int64 // %t12
- var _v15 int32 // %t13
- var _v16 int32 // %t14
- var _v18 int32 // %t16
- var _v19 int32 // %t17
- var _v20 int64 // %t18
- var _v21 int64 // %t19
- var _v23 int64 // %t21
- var _v24 int32 // %t22
- var _v25 int32 // %t23
- var _v27 int32 // %t25
- var _v28 int32 // %t26
- var _v29 int64 // %t27
- var _v30 int32 // %t28
- var _v31 int32 // %t29
- var _v32 int32 // %t30
- var _v34 int32 // %t32
- var _v35 int32 // %t33
- var _v36 int64 // %t34
- var _v37 int64 // %t35
- var _v39 int64 // %t37
- var _v40 int32 // %t38
- var _v41 int32 // %t39
- var _v6 int32 // %t4
- var _v43 int32 // %t41
- var _v44 int32 // %t42
- var _v46 int32 // %t44
- var _v49 int32 // %t47
- var _v51 int32 // %t49
- var _v54 int32 // %t52
- var _v56 int32 // %t54
- var _v57 int32 // %t55
- var _v61 int32 // %t59
- var _v63 int32 // %t61
- var _v66 int32 // %t64
- var _v68 int32 // %t66
- var _v69 int32 // %t67
- var _v9 int64 // %t7
- var _v10 int32 // %t8
- var _v11 int64 // %t9
- var _v2 = int64(bp + 8) // %v2
- _v6 = crt.Bool32(_v1 == int64(0))
- if _v6 != 0 {
- goto l2
- }
- goto l4
-l2:
- return 0
-l4:
- _v9 = int64(_v2 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v9))) = 0
- goto l5
-l5:
- _v10 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v11 = int64(int32(_v10))
- _v12 = int64(_v11 * int64(1))
- _v14 = int64(_v1 + _v12)
- _v15 = int32(*(*int8)(unsafe.Pointer(uintptr(_v14))))
- _v16 = int32(int8(_v15))
- _v18 = crt.Bool32(int32(_v16) >= int32(48))
- goto l6
-l6:
- if _v18 != 0 {
- goto l7
- }
- goto l40
-l40:
- _v28 = 0
- goto l10
-l7:
- _v19 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v20 = int64(int32(_v19))
- _v21 = int64(_v20 * int64(1))
- _v23 = int64(_v1 + _v21)
- _v24 = int32(*(*int8)(unsafe.Pointer(uintptr(_v23))))
- _v25 = int32(int8(_v24))
- _v27 = crt.Bool32(int32(_v25) <= int32(57))
- goto l8
-l8:
- if _v27 != 0 {
- goto l9
- }
- goto l41
-l41:
- _v28 = 0
- goto l10
-l9:
- _v28 = 1
- goto l10
-l10:
- if _v28 != 0 {
- goto l11
- }
- goto l13
-l11:
- goto l12
-l12:
- _v29 = int64(_v2 + int64(0))
- _v30 = *(*int32)(unsafe.Pointer(uintptr(_v29)))
- _v31 = int32(int32(_v30) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v29))) = _v31
- goto l5
-l13:
- _v32 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v34 = crt.Bool32(int32(_v32) > int32(0))
- goto l14
-l14:
- if _v34 != 0 {
- goto l15
- }
- goto l42
-l42:
- _v44 = 0
- goto l18
-l15:
- _v35 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v36 = int64(int32(_v35))
- _v37 = int64(_v36 * int64(1))
- _v39 = int64(_v1 + _v37)
- _v40 = int32(*(*int8)(unsafe.Pointer(uintptr(_v39))))
- _v41 = int32(int8(_v40))
- _v43 = crt.Bool32(int32(_v41) == int32(0))
- goto l16
-l16:
- if _v43 != 0 {
- goto l17
- }
- goto l43
-l43:
- _v44 = 0
- goto l18
-l17:
- _v44 = 1
- goto l18
-l18:
- if _v44 != 0 {
- goto l19
- }
- goto l21
-l19:
- _v46 = crt.Xatoi(t, _v1)
- return _v46
-l21:
- _v49 = Xsqlite3_stricmp(t, _v1, int64(uintptr(unsafe.Pointer(&s__90))))
- _v51 = crt.Bool32(int32(_v49) == int32(0))
- goto l22
-l22:
- if _v51 != 0 {
- goto l44
- }
- goto l23
-l44:
- _v57 = 1
- goto l26
-l23:
- _v54 = Xsqlite3_stricmp(t, _v1, int64(uintptr(unsafe.Pointer(&s__91))))
- _v56 = crt.Bool32(int32(_v54) == int32(0))
- goto l24
-l24:
- if _v56 != 0 {
- goto l45
- }
- goto l25
-l45:
- _v57 = 1
- goto l26
-l25:
- _v57 = 0
- goto l26
-l26:
- if _v57 != 0 {
- goto l27
- }
- goto l29
-l27:
- return 1
-l29:
- _v61 = Xsqlite3_stricmp(t, _v1, int64(uintptr(unsafe.Pointer(&s__92))))
- _v63 = crt.Bool32(int32(_v61) == int32(0))
- goto l30
-l30:
- if _v63 != 0 {
- goto l46
- }
- goto l31
-l46:
- _v69 = 1
- goto l34
-l31:
- _v66 = Xsqlite3_stricmp(t, _v1, int64(uintptr(unsafe.Pointer(&s__93))))
- _v68 = crt.Bool32(int32(_v66) == int32(0))
- goto l32
-l32:
- if _v68 != 0 {
- goto l47
- }
- goto l33
-l47:
- _v69 = 1
- goto l34
-l33:
- _v69 = 0
- goto l34
-l34:
- if _v69 != 0 {
- goto l35
- }
- goto l37
-l35:
- return 0
-l37:
- *(*int64)(unsafe.Pointer(bp + 0)) = _v1
- s_errorMessage(t, int64(uintptr(unsafe.Pointer(&s__94))), bp+0)
- return 0
-}
+// POSIX message queues are available.
-var s__89 = [13]byte{0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65}
+// Thread process-shared synchronization is supported.
-var s__90 = [3]byte{0x6f, 0x6e}
+// The monotonic clock might be available.
-var s__91 = [4]byte{0x79, 0x65, 0x73}
+// The clock selection interfaces are available.
-var s__92 = [4]byte{0x6f, 0x66, 0x66}
+// Advisory information interfaces are available.
-var s__93 = [3]byte{0x6e, 0x6f}
+// IPv6 support is available.
-var s__94 = [22]byte{
- 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x3a,
- 0x20, 0x5b, 0x25, 0x73, 0x5d,
-}
+// Raw socket support is available.
-func s_test_breakpoint(t *crt.TLS) {
- var _v2 int32 // %t2
- var _v3 int32 // %t3
- _v2 = *(*int32)(unsafe.Pointer(&s__96))
- _v3 = int32(int32(_v2) + int32(1))
- *(*int32)(unsafe.Pointer(&s__96)) = _v3
- goto l2
-l2:
-}
+// We have at least one terminal.
-var s__95 = [16]byte{0x74, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74}
-
-var s__96 [4]byte
-
-func s_runScript(t *crt.TLS, _v1 int32, _v2 int32, _v3 int64, _v4 int64) {
- bp := t.Alloc(1792)
- defer t.Free(1792)
- var _v50 int32 // %t10
- var _v140 int32 // %t100
- var _v141 int32 // %t101
- var _v142 int64 // %t102
- var _v143 int32 // %t103
- var _v144 int32 // %t104
- var _v145 int32 // %t105
- var _v146 int32 // %t106
- var _v147 int32 // %t107
- var _v149 int32 // %t109
- var _v51 int64 // %t11
- var _v150 int32 // %t110
- var _v151 int32 // %t111
- var _v153 int32 // %t113
- var _v154 int64 // %t114
- var _v155 int64 // %t115
- var _v156 int64 // %t116
- var _v157 int64 // %t117
- var _v158 int64 // %t118
- var _v52 int64 // %t12
- var _v160 int64 // %t120
- var _v161 int32 // %t121
- var _v162 int32 // %t122
- var _v163 int32 // %t123
- var _v164 int64 // %t124
- var _v167 int32 // %t127
- var _v169 int32 // %t129
- var _v171 int32 // %t131
- var _v173 int32 // %t133
- var _v174 int64 // %t134
- var _v175 int64 // %t135
- var _v177 int32 // %t137
- var _v178 int64 // %t138
- var _v179 int64 // %t139
- var _v54 int64 // %t14
- var _v182 int64 // %t142
- var _v183 int32 // %t143
- var _v185 int32 // %t145
- var _v189 int32 // %t149
- var _v55 int32 // %t15
- var _v190 int64 // %t150
- var _v192 int64 // %t152
- var _v193 int32 // %t153
- var _v194 int32 // %t154
- var _v196 int32 // %t156
- var _v197 int32 // %t157
- var _v198 int32 // %t158
- var _v56 int32 // %t16
- var _v200 int32 // %t160
- var _v201 int32 // %t161
- var _v202 int32 // %t162
- var _v203 int32 // %t163
- var _v205 int32 // %t165
- var _v206 int32 // %t166
- var _v207 int32 // %t167
- var _v209 int32 // %t169
- var _v57 int64 // %t17
- var _v210 int32 // %t170
- var _v211 int32 // %t171
- var _v212 int64 // %t172
- var _v213 int64 // %t173
- var _v215 int64 // %t175
- var _v216 int32 // %t176
- var _v217 int32 // %t177
- var _v218 int64 // %t178
- var _v219 int64 // %t179
- var _v58 int32 // %t18
- var _v220 int64 // %t180
- var _v221 int64 // %t181
- var _v222 int64 // %t182
- var _v223 int32 // %t183
- var _v224 int32 // %t184
- var _v228 int32 // %t188
- var _v229 int32 // %t189
- var _v230 int64 // %t190
- var _v231 int32 // %t191
- var _v232 int32 // %t192
- var _v233 int32 // %t193
- var _v234 int32 // %t194
- var _v236 int32 // %t196
- var _v237 int32 // %t197
- var _v239 int32 // %t199
- var _v60 int32 // %t20
- var _v240 int64 // %t200
- var _v241 int64 // %t201
- var _v244 int64 // %t204
- var _v245 int32 // %t205
- var _v246 int64 // %t206
- var _v247 int64 // %t207
- var _v248 int32 // %t208
- var _v61 int32 // %t21
- var _v250 int32 // %t210
- var _v251 int32 // %t211
- var _v252 int32 // %t212
- var _v253 int32 // %t213
- var _v254 int64 // %t214
- var _v255 int64 // %t215
- var _v257 int64 // %t217
- var _v62 int64 // %t22
- var _v260 int32 // %t220
- var _v261 int64 // %t221
- var _v262 int32 // %t222
- var _v263 int32 // %t223
- var _v264 int64 // %t224
- var _v265 int32 // %t225
- var _v266 int32 // %t226
- var _v267 int32 // %t227
- var _v268 int64 // %t228
- var _v269 int32 // %t229
- var _v271 int32 // %t231
- var _v277 int64 // %t237
- var _v278 int32 // %t238
- var _v279 int32 // %t239
- var _v64 int32 // %t24
- var _v280 int64 // %t240
- var _v281 int64 // %t241
- var _v282 int64 // %t242
- var _v283 int64 // %t243
- var _v284 int64 // %t244
- var _v285 int64 // %t245
- var _v286 int32 // %t246
- var _v287 int32 // %t247
- var _v288 int64 // %t248
- var _v65 int64 // %t25
- var _v290 int32 // %t250
- var _v292 int32 // %t252
- var _v296 int64 // %t256
- var _v297 int64 // %t257
- var _v298 int32 // %t258
- var _v66 int64 // %t26
- var _v300 int64 // %t260
- var _v302 int32 // %t262
- var _v304 int32 // %t264
- var _v308 int64 // %t268
- var _v309 int64 // %t269
- var _v67 int64 // %t27
- var _v310 int32 // %t270
- var _v315 int32 // %t275
- var _v317 int32 // %t277
- var _v68 int32 // %t28
- var _v320 int64 // %t280
- var _v322 int32 // %t282
- var _v323 int64 // %t283
- var _v325 int32 // %t285
- var _v327 int32 // %t287
- var _v69 int64 // %t29
- var _v330 int32 // %t290
- var _v332 int32 // %t292
- var _v334 int32 // %t294
- var _v336 int32 // %t296
- var _v338 int32 // %t298
- var _v339 int64 // %t299
- var _v70 int32 // %t30
- var _v340 int64 // %t300
- var _v341 int64 // %t301
- var _v342 int64 // %t302
- var _v344 int32 // %t304
- var _v346 int32 // %t306
- var _v349 int32 // %t309
- var _v71 int32 // %t31
- var _v350 int32 // %t310
- var _v357 int32 // %t317
- var _v359 int32 // %t319
- var _v72 int32 // %t32
- var _v360 int64 // %t320
- var _v363 int32 // %t323
- var _v365 int32 // %t325
- var _v367 int32 // %t327
- var _v368 int64 // %t328
- var _v369 int64 // %t329
- var _v73 int64 // %t33
- var _v371 int64 // %t331
- var _v372 int32 // %t332
- var _v373 int32 // %t333
- var _v375 int32 // %t335
- var _v376 int32 // %t336
- var _v377 int32 // %t337
- var _v378 int64 // %t338
- var _v379 int64 // %t339
- var _v74 int64 // %t34
- var _v380 int64 // %t340
- var _v381 int64 // %t341
- var _v382 int32 // %t342
- var _v383 int32 // %t343
- var _v384 int64 // %t344
- var _v385 int64 // %t345
- var _v386 int64 // %t346
- var _v387 int64 // %t347
- var _v388 int64 // %t348
- var _v389 int32 // %t349
- var _v75 int64 // %t35
- var _v390 int32 // %t350
- var _v394 int32 // %t354
- var _v395 int32 // %t355
- var _v396 int64 // %t356
- var _v397 int32 // %t357
- var _v398 int32 // %t358
- var _v399 int32 // %t359
- var _v76 int64 // %t36
- var _v400 int64 // %t360
- var _v401 int64 // %t361
- var _v402 int64 // %t362
- var _v403 int64 // %t363
- var _v404 int32 // %t364
- var _v405 int32 // %t365
- var _v406 int32 // %t366
- var _v408 int32 // %t368
- var _v409 int64 // %t369
- var _v77 int64 // %t37
- var _v410 int64 // %t370
- var _v411 int32 // %t371
- var _v412 int32 // %t372
- var _v413 int64 // %t373
- var _v414 int64 // %t374
- var _v415 int64 // %t375
- var _v416 int64 // %t376
- var _v417 int32 // %t377
- var _v418 int32 // %t378
- var _v419 int32 // %t379
- var _v78 int32 // %t38
- var _v421 int32 // %t381
- var _v422 int64 // %t382
- var _v423 int32 // %t383
- var _v424 int32 // %t384
- var _v426 int32 // %t386
- var _v428 int32 // %t388
- var _v429 int32 // %t389
- var _v79 int32 // %t39
- var _v430 int32 // %t390
- var _v432 int32 // %t392
- var _v433 int64 // %t393
- var _v434 int64 // %t394
- var _v435 int64 // %t395
- var _v436 int64 // %t396
- var _v439 int32 // %t399
- var _v440 int32 // %t400
- var _v441 int64 // %t401
- var _v444 int32 // %t404
- var _v446 int32 // %t406
- var _v449 int32 // %t409
- var _v451 int32 // %t411
- var _v452 int32 // %t412
- var _v454 int32 // %t414
- var _v455 int64 // %t415
- var _v456 int64 // %t416
- var _v461 int64 // %t421
- var _v462 int32 // %t422
- var _v463 int32 // %t423
- var _v465 int32 // %t425
- var _v468 int32 // %t428
- var _v469 int32 // %t429
- var _v83 int32 // %t43
- var _v470 int32 // %t430
- var _v471 int64 // %t431
- var _v472 int32 // %t432
- var _v473 int32 // %t433
- var _v475 int32 // %t435
- var _v476 int32 // %t436
- var _v477 int32 // %t437
- var _v478 int64 // %t438
- var _v479 int64 // %t439
- var _v84 int32 // %t44
- var _v480 int64 // %t440
- var _v481 int64 // %t441
- var _v482 int32 // %t442
- var _v483 int32 // %t443
- var _v484 int64 // %t444
- var _v485 int64 // %t445
- var _v486 int64 // %t446
- var _v487 int64 // %t447
- var _v488 int64 // %t448
- var _v489 int32 // %t449
- var _v490 int32 // %t450
- var _v494 int32 // %t454
- var _v495 int32 // %t455
- var _v496 int64 // %t456
- var _v497 int32 // %t457
- var _v498 int32 // %t458
- var _v499 int32 // %t459
- var _v86 int32 // %t46
- var _v500 int64 // %t460
- var _v501 int64 // %t461
- var _v502 int64 // %t462
- var _v503 int64 // %t463
- var _v505 int32 // %t465
- var _v506 int32 // %t466
- var _v507 int32 // %t467
- var _v509 int32 // %t469
- var _v87 int32 // %t47
- var _v510 int64 // %t470
- var _v511 int64 // %t471
- var _v512 int64 // %t472
- var _v513 int64 // %t473
- var _v514 int64 // %t474
- var _v515 int64 // %t475
- var _v516 int64 // %t476
- var _v517 int32 // %t477
- var _v519 int32 // %t479
- var _v520 int32 // %t480
- var _v521 int32 // %t481
- var _v523 int32 // %t483
- var _v525 int64 // %t485
- var _v526 int64 // %t486
- var _v527 int64 // %t487
- var _v528 int64 // %t488
- var _v529 int64 // %t489
- var _v89 int32 // %t49
- var _v532 int32 // %t492
- var _v533 int32 // %t493
- var _v534 int64 // %t494
- var _v537 int32 // %t497
- var _v539 int32 // %t499
- var _v45 int64 // %t5
- var _v90 int64 // %t50
- var _v541 int64 // %t501
- var _v542 int64 // %t502
- var _v543 int64 // %t503
- var _v546 int32 // %t506
- var _v548 int32 // %t508
- var _v91 int64 // %t51
- var _v555 int64 // %t515
- var _v556 int64 // %t516
- var _v560 int64 // %t520
- var _v561 int64 // %t521
- var _v562 int32 // %t522
- var _v563 int32 // %t523
- var _v565 int32 // %t525
- var _v566 int32 // %t526
- var _v568 int64 // %t528
- var _v569 int32 // %t529
- var _v93 int64 // %t53
- var _v571 int32 // %t531
- var _v572 int64 // %t532
- var _v573 int32 // %t533
- var _v575 int32 // %t535
- var _v576 int32 // %t536
- var _v577 int64 // %t537
- var _v578 int64 // %t538
- var _v94 int32 // %t54
- var _v580 int64 // %t540
- var _v581 int32 // %t541
- var _v582 int32 // %t542
- var _v584 int32 // %t544
- var _v585 int32 // %t545
- var _v586 int32 // %t546
- var _v587 int64 // %t547
- var _v588 int32 // %t548
- var _v589 int32 // %t549
- var _v95 int32 // %t55
- var _v590 int32 // %t550
- var _v592 int32 // %t552
- var _v594 int32 // %t554
- var _v596 int64 // %t556
- var _v597 int64 // %t557
- var _v598 int64 // %t558
- var _v599 int64 // %t559
- var _v600 int64 // %t560
- var _v601 int64 // %t561
- var _v602 int64 // %t562
- var _v603 int64 // %t563
- var _v606 int32 // %t566
- var _v608 int64 // %t568
- var _v97 int32 // %t57
- var _v611 int64 // %t571
- var _v612 int64 // %t572
- var _v613 int64 // %t573
- var _v616 int32 // %t576
- var _v618 int64 // %t578
- var _v619 int64 // %t579
- var _v98 int32 // %t58
- var _v622 int32 // %t582
- var _v624 int32 // %t584
- var _v626 int64 // %t586
- var _v627 int32 // %t587
- var _v628 int32 // %t588
- var _v629 int32 // %t589
- var _v99 int32 // %t59
- var _v630 int32 // %t590
- var _v631 int32 // %t591
- var _v632 int32 // %t592
- var _v633 int64 // %t593
- var _v634 int64 // %t594
- var _v636 int64 // %t596
- var _v637 int32 // %t597
- var _v638 int32 // %t598
- var _v639 int64 // %t599
- var _v100 int32 // %t60
- var _v640 int64 // %t600
- var _v641 int64 // %t601
- var _v642 int64 // %t602
- var _v643 int64 // %t603
- var _v644 int32 // %t604
- var _v645 int32 // %t605
- var _v649 int32 // %t609
- var _v101 int64 // %t61
- var _v650 int32 // %t610
- var _v651 int64 // %t611
- var _v652 int32 // %t612
- var _v653 int32 // %t613
- var _v655 int32 // %t615
- var _v656 int32 // %t616
- var _v657 int32 // %t617
- var _v659 int32 // %t619
- var _v102 int32 // %t62
- var _v660 int64 // %t620
- var _v661 int64 // %t621
- var _v662 int32 // %t622
- var _v663 int64 // %t623
- var _v664 int64 // %t624
- var _v667 int32 // %t627
- var _v669 int32 // %t629
- var _v103 int32 // %t63
- var _v671 int64 // %t631
- var _v672 int32 // %t632
- var _v673 int32 // %t633
- var _v674 int32 // %t634
- var _v675 int32 // %t635
- var _v676 int32 // %t636
- var _v677 int32 // %t637
- var _v678 int64 // %t638
- var _v679 int64 // %t639
- var _v104 int32 // %t64
- var _v681 int64 // %t641
- var _v682 int32 // %t642
- var _v683 int32 // %t643
- var _v684 int64 // %t644
- var _v685 int64 // %t645
- var _v686 int64 // %t646
- var _v687 int64 // %t647
- var _v688 int64 // %t648
- var _v689 int32 // %t649
- var _v690 int32 // %t650
- var _v694 int32 // %t654
- var _v695 int32 // %t655
- var _v696 int64 // %t656
- var _v697 int32 // %t657
- var _v698 int32 // %t658
- var _v106 int32 // %t66
- var _v700 int32 // %t660
- var _v701 int32 // %t661
- var _v702 int32 // %t662
- var _v704 int32 // %t664
- var _v705 int64 // %t665
- var _v706 int64 // %t666
- var _v707 int32 // %t667
- var _v708 int64 // %t668
- var _v709 int64 // %t669
- var _v107 int32 // %t67
- var _v710 int64 // %t670
- var _v711 int64 // %t671
- var _v712 int64 // %t672
- var _v713 int32 // %t673
- var _v714 int64 // %t674
- var _v715 int32 // %t675
- var _v717 int32 // %t677
- var _v718 int64 // %t678
- var _v720 int32 // %t680
- var _v722 int32 // %t682
- var _v723 int32 // %t683
- var _v725 int32 // %t685
- var _v726 int64 // %t686
- var _v727 int64 // %t687
- var _v728 int32 // %t688
- var _v729 int64 // %t689
- var _v109 int32 // %t69
- var _v730 int64 // %t690
- var _v732 int64 // %t692
- var _v733 int32 // %t693
- var _v734 int64 // %t694
- var _v735 int32 // %t695
- var _v736 int32 // %t696
- var _v737 int64 // %t697
- var _v110 int64 // %t70
- var _v741 int32 // %t701
- var _v743 int32 // %t703
- var _v745 int32 // %t705
- var _v746 int64 // %t706
- var _v747 int64 // %t707
- var _v748 int32 // %t708
- var _v749 int64 // %t709
- var _v111 int64 // %t71
- var _v750 int64 // %t710
- var _v752 int64 // %t712
- var _v753 int32 // %t713
- var _v754 int64 // %t714
- var _v755 int32 // %t715
- var _v756 int32 // %t716
- var _v759 int32 // %t719
- var _v761 int32 // %t721
- var _v764 int32 // %t724
- var _v766 int32 // %t726
- var _v769 int32 // %t729
- var _v113 int64 // %t73
- var _v770 int32 // %t730
- var _v775 int64 // %t735
- var _v776 int32 // %t736
- var _v777 int32 // %t737
- var _v779 int32 // %t739
- var _v114 int32 // %t74
- var _v780 int32 // %t740
- var _v783 int32 // %t743
- var _v785 int32 // %t745
- var _v788 int32 // %t748
- var _v789 int32 // %t749
- var _v115 int32 // %t75
- var _v790 int32 // %t750
- var _v792 int32 // %t752
- var _v797 int64 // %t757
- var _v798 int32 // %t758
- var _v800 int32 // %t760
- var _v805 int32 // %t765
- var _v117 int32 // %t77
- var _v812 int64 // %t772
- var _v813 int32 // %t773
- var _v814 int32 // %t774
- var _v818 int32 // %t778
- var _v118 int32 // %t78
- var _v820 int32 // %t780
- var _v823 int32 // %t783
- var _v824 int32 // %t784
- var _v829 int64 // %t789
- var _v119 int32 // %t79
- var _v830 int32 // %t790
- var _v832 int32 // %t792
- var _v833 int64 // %t793
- var _v834 int64 // %t794
- var _v835 int32 // %t795
- var _v836 int64 // %t796
- var _v837 int64 // %t797
- var _v838 int64 // %t798
- var _v839 int32 // %t799
- var _v840 int64 // %t800
- var _v841 int32 // %t801
- var _v843 int32 // %t803
- var _v845 int32 // %t805
- var _v847 int32 // %t807
- var _v849 int32 // %t809
- var _v121 int32 // %t81
- var _v851 int32 // %t811
- var _v852 int64 // %t812
- var _v853 int64 // %t813
- var _v854 int32 // %t814
- var _v855 int64 // %t815
- var _v856 int64 // %t816
- var _v857 int64 // %t817
- var _v858 int64 // %t818
- var _v859 int32 // %t819
- var _v122 int64 // %t82
- var _v861 int32 // %t821
- var _v867 int64 // %t827
- var _v868 int64 // %t828
- var _v869 int64 // %t829
- var _v123 int64 // %t83
- var _v872 int64 // %t832
- var _v873 int32 // %t833
- var _v874 int64 // %t834
- var _v875 int64 // %t835
- var _v876 int32 // %t836
- var _v878 int32 // %t838
- var _v879 int64 // %t839
- var _v880 int64 // %t840
- var _v881 int64 // %t841
- var _v882 int64 // %t842
- var _v884 int32 // %t844
- var _v885 int64 // %t845
- var _v886 int64 // %t846
- var _v887 int32 // %t847
- var _v888 int64 // %t848
- var _v889 int64 // %t849
- var _v125 int64 // %t85
- var _v890 int32 // %t850
- var _v891 int64 // %t851
- var _v892 int64 // %t852
- var _v893 int64 // %t853
- var _v894 int32 // %t854
- var _v895 int64 // %t855
- var _v896 int32 // %t856
- var _v897 int32 // %t857
- var _v898 int32 // %t858
- var _v899 int64 // %t859
- var _v126 int32 // %t86
- var _v900 int32 // %t860
- var _v901 int32 // %t861
- var _v902 int32 // %t862
- var _v903 int32 // %t863
- var _v904 int32 // %t864
- var _v905 int64 // %t865
- var _v908 int32 // %t868
- var _v127 int32 // %t87
- var _v910 int32 // %t870
- var _v913 int32 // %t873
- var _v915 int32 // %t875
- var _v916 int32 // %t876
- var _v918 int32 // %t878
- var _v128 int64 // %t88
- var _v923 int64 // %t883
- var _v924 int32 // %t884
- var _v925 int32 // %t885
- var _v927 int32 // %t887
- var _v129 int64 // %t89
- var _v931 int32 // %t891
- var _v934 int32 // %t894
- var _v935 int64 // %t895
- var _v936 int32 // %t896
- var _v937 int32 // %t897
- var _v938 int32 // %t898
- var _v939 int32 // %t899
- var _v49 int64 // %t9
- var _v130 int64 // %t90
- var _v940 int32 // %t900
- var _v942 int32 // %t902
- var _v943 int32 // %t903
- var _v944 int32 // %t904
- var _v946 int32 // %t906
- var _v947 int64 // %t907
- var _v948 int64 // %t908
- var _v949 int64 // %t909
- var _v131 int64 // %t91
- var _v950 int64 // %t910
- var _v951 int64 // %t911
- var _v952 int64 // %t912
- var _v132 int64 // %t92
- var _v133 int32 // %t93
- var _v134 int32 // %t94
- var _v138 int32 // %t98
- var _v139 int32 // %t99
- var _v10 = int64(bp + 380) // %v10
- var _v11 = int64(bp + 384) // %v11
- var _v12 = int64(bp + 388) // %v12
- var _v13 = int64(bp + 392) // %v13
- var _v14 = int64(bp + 400) // %v14
- var _v15 = int64(bp + 416) // %v15
- var _v16 = int64(bp + 448) // %v16
- var _v17 = int64(bp + 1448) // %v17
- var _v18 = int64(bp + 1648) // %v18
- var _v19 = int64(bp + 1656) // %v19
- var _v20 = int64(bp + 1660) // %v20
- var _v21 = int64(bp + 1664) // %v21
- var _v22 = int64(bp + 1672) // %v22
- var _v23 = int64(bp + 1680) // %v23
- var _v24 = int64(bp + 1688) // %v24
- var _v25 = int64(bp + 1696) // %v25
- var _v26 = int64(bp + 1704) // %v26
- var _v27 = int64(bp + 1712) // %v27
- var _v28 = int64(bp + 1720) // %v28
- var _v29 = int64(bp + 1728) // %v29
- var _v30 = int64(bp + 1732) // %v30
- var _v31 = int64(bp + 1736) // %v31
- var _v32 = int64(bp + 1740) // %v32
- var _v33 = int64(bp + 1744) // %v33
- var _v34 = int64(bp + 1752) // %v34
- var _v35 = int64(bp + 1756) // %v35
- var _v36 = int64(bp + 1760) // %v36
- var _v37 = int64(bp + 1764) // %v37
- var _v38 = int64(bp + 1768) // %v38
- var _v39 = int64(bp + 1776) // %v39
- var _v40 = int64(bp + 1784) // %v40
- var _v5 = int64(bp + 360) // %v5
- var _v6 = int64(bp + 364) // %v6
- var _v7 = int64(bp + 368) // %v7
- var _v8 = int64(bp + 372) // %v8
- var _v9 = int64(bp + 376) // %v9
- *(*int32)(unsafe.Pointer(uintptr(_v5))) = 1
- *(*int32)(unsafe.Pointer(uintptr(_v6))) = 1
- *(*int32)(unsafe.Pointer(uintptr(_v7))) = 0
- *(*int32)(unsafe.Pointer(uintptr(_v8))) = 0
- _v45 = int64(_v14 + int64(0))
- _ = crt.Xmemset(t, _v45, 0, int64(16))
- _v49 = int64(_v14 + int64(0))
- s_stringReset(t, _v49)
- goto l2
-l2:
- _v50 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v51 = int64(int32(_v50))
- _v52 = int64(_v51 * int64(1))
- _v54 = int64(_v3 + _v52)
- _v55 = int32(*(*int8)(unsafe.Pointer(uintptr(_v54))))
- _v56 = int32(int8(_v55))
- _v57 = int64(_v10 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v57))) = _v56
- _v58 = *(*int32)(unsafe.Pointer(uintptr(_v57)))
- _v60 = crt.Bool32(int32(_v58) != int32(0))
- if _v60 != 0 {
- goto l3
- }
- goto l242
-l3:
- _v61 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v62 = int64(_v6 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v62))) = _v61
- _v64 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v65 = int64(int32(_v64))
- _v66 = int64(_v3 + _v65)
- _v67 = int64(_v5 + int64(0))
- _v68 = s_tokenLength(t, _v66, _v67)
- _v69 = int64(_v12 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v69))) = _v68
- _v70 = *(*int32)(unsafe.Pointer(uintptr(_v10)))
- _v71 = int32(int32(_v70) & int32(255))
- _v72 = int32(int32(uint8(_v71)))
- _v73 = int64(int32(_v72))
- _v74 = int64(_v73 * int64(2))
- _v75 = crt.X__ctype_b_loc(t)
- _v76 = *(*int64)(unsafe.Pointer(uintptr(_v75)))
- _v77 = int64(_v76 + _v74)
- _v78 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v77))))
- _v79 = int32(uint16(_v78))
- _v83 = int32(int32(_v79) & int32(8192))
- goto l4
-l4:
- if _v83 != 0 {
- goto l246
- }
- goto l5
-l246:
- _v99 = 1
- goto l13
-l5:
- _v84 = *(*int32)(unsafe.Pointer(uintptr(_v10)))
- _v86 = crt.Bool32(int32(_v84) == int32(47))
- goto l6
-l6:
- if _v86 != 0 {
- goto l7
- }
- goto l247
-l247:
- _v98 = 0
- goto l10
-l7:
- _v87 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v89 = int32(int32(_v87) + int32(1))
- _v90 = int64(int32(_v89))
- _v91 = int64(_v90 * int64(1))
- _v93 = int64(_v3 + _v91)
- _v94 = int32(*(*int8)(unsafe.Pointer(uintptr(_v93))))
- _v95 = int32(int8(_v94))
- _v97 = crt.Bool32(int32(_v95) == int32(42))
- goto l8
-l8:
- if _v97 != 0 {
- goto l9
- }
- goto l248
-l248:
- _v98 = 0
- goto l10
-l9:
- _v98 = 1
- goto l10
-l10:
- goto l11
-l11:
- if _v98 != 0 {
- goto l249
- }
- goto l12
-l249:
- _v99 = 1
- goto l13
-l12:
- _v99 = 0
- goto l13
-l13:
- if _v99 != 0 {
- goto l14
- }
- goto l16
-l14:
- _v100 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v101 = int64(_v7 + int64(0))
- _v102 = *(*int32)(unsafe.Pointer(uintptr(_v101)))
- _v103 = int32(int32(_v102) + int32(_v100))
- *(*int32)(unsafe.Pointer(uintptr(_v101))) = _v103
- goto l2
-l16:
- _v104 = *(*int32)(unsafe.Pointer(uintptr(_v10)))
- _v106 = crt.Bool32(int32(_v104) != int32(45))
- goto l17
-l17:
- if _v106 != 0 {
- goto l250
- }
- goto l18
-l250:
- _v118 = 1
- goto l21
-l18:
- _v107 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v109 = int32(int32(_v107) + int32(1))
- _v110 = int64(int32(_v109))
- _v111 = int64(_v110 * int64(1))
- _v113 = int64(_v3 + _v111)
- _v114 = int32(*(*int8)(unsafe.Pointer(uintptr(_v113))))
- _v115 = int32(int8(_v114))
- _v117 = crt.Bool32(int32(_v115) != int32(45))
- goto l19
-l19:
- if _v117 != 0 {
- goto l251
- }
- goto l20
-l251:
- _v118 = 1
- goto l21
-l20:
- _v118 = 0
- goto l21
-l21:
- goto l22
-l22:
- if _v118 != 0 {
- goto l252
- }
- goto l23
-l252:
- _v140 = 1
- goto l29
-l23:
- _v119 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v121 = int32(int32(_v119) + int32(2))
- _v122 = int64(int32(_v121))
- _v123 = int64(_v122 * int64(1))
- _v125 = int64(_v3 + _v123)
- _v126 = int32(*(*int8)(unsafe.Pointer(uintptr(_v125))))
- _v127 = int32(int8(_v126))
- _v128 = int64(int32(_v127))
- _v129 = int64(_v128 * int64(2))
- _v130 = crt.X__ctype_b_loc(t)
- _v131 = *(*int64)(unsafe.Pointer(uintptr(_v130)))
- _v132 = int64(_v131 + _v129)
- _v133 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v132))))
- _v134 = int32(uint16(_v133))
- _v138 = int32(int32(_v134) & int32(1024))
- goto l24
-l24:
- if _v138 != 0 {
- goto l25
- }
- goto l253
-l253:
- _v139 = 1
- goto l26
-l25:
- _v139 = 0
- goto l26
-l26:
- goto l27
-l27:
- if _v139 != 0 {
- goto l254
- }
- goto l28
-l254:
- _v140 = 1
- goto l29
-l28:
- _v140 = 0
- goto l29
-l29:
- if _v140 != 0 {
- goto l30
- }
- goto l32
-l30:
- _v141 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v142 = int64(_v7 + int64(0))
- _v143 = *(*int32)(unsafe.Pointer(uintptr(_v142)))
- _v144 = int32(int32(_v143) + int32(_v141))
- *(*int32)(unsafe.Pointer(uintptr(_v142))) = _v144
- goto l2
-l32:
- _v145 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v146 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v147 = crt.Bool32(int32(_v145) > int32(_v146))
- if _v147 != 0 {
- goto l33
- }
- goto l34
-l33:
- _v149 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v150 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v151 = int32(int32(_v149) - int32(_v150))
- _v153 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v154 = int64(int32(_v153))
- _v155 = int64(_v3 + _v154)
- *(*int32)(unsafe.Pointer(bp + 0)) = _v151
-
- *(*int64)(unsafe.Pointer(bp + 8)) = _v155
-
- _v156 = Xsqlite3_mprintf(t, int64(uintptr(unsafe.Pointer(&s__98))), bp+0)
- *(*int64)(unsafe.Pointer(uintptr(_v18))) = _v156
- _v157 = int64(_v14 + int64(0))
- _v158 = *(*int64)(unsafe.Pointer(uintptr(_v18)))
-
- _ = s_evalSql(t, _v157, _v158, 0)
- _v160 = *(*int64)(unsafe.Pointer(uintptr(_v18)))
- Xsqlite3_free(t, _v160)
- _v161 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v162 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v163 = int32(int32(_v161) + int32(_v162))
- _v164 = int64(_v8 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v164))) = _v163
- goto l34
-l34:
- _v167 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 100))
- _v169 = crt.Bool32(int32(_v167) >= int32(2))
- if _v169 != 0 {
- goto l35
- }
- goto l36
-l35:
- _v171 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v173 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v174 = int64(int32(_v173))
- _v175 = int64(_v3 + _v174)
- *(*int32)(unsafe.Pointer(bp + 16)) = _v171
-
- *(*int64)(unsafe.Pointer(bp + 24)) = _v175
- s_logMessage(t, int64(uintptr(unsafe.Pointer(&s__98))), bp+16)
- goto l36
-l36:
- _v177 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v178 = int64(int32(_v177))
- _v179 = int64(_v3 + _v178)
- _v182 = int64(_v179 + int64(2))
- _v183 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v185 = int32(int32(_v183) - int32(2))
- _v189 = s_extractToken(t, _v182, _v185, _v15, 30)
- _v190 = int64(_v9 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v190))) = _v189
- _v192 = int64(_v13 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v192))) = 0
- goto l37
-l37:
- _v193 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v194 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v196 = int32(int32(_v194) - int32(2))
- _v197 = crt.Bool32(int32(_v193) < int32(_v196))
- goto l38
-l38:
- if _v197 != 0 {
- goto l39
- }
- goto l255
-l255:
- _v201 = 0
- goto l42
-l39:
- _v198 = *(*int32)(unsafe.Pointer(uintptr(_v13)))
- _v200 = crt.Bool32(int32(_v198) < int32(2))
- goto l40
-l40:
- if _v200 != 0 {
- goto l41
- }
- goto l256
-l256:
- _v201 = 0
- goto l42
-l41:
- _v201 = 1
- goto l42
-l42:
- if _v201 != 0 {
- goto l43
- }
- goto l257
-l257:
- goto l56
-l43:
- goto l44
-l44:
- _v202 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v203 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v205 = int32(int32(_v203) - int32(2))
- _v206 = crt.Bool32(int32(_v202) < int32(_v205))
- goto l45
-l45:
- if _v206 != 0 {
- goto l46
- }
- goto l258
-l258:
- _v229 = 0
- goto l49
-l46:
- _v207 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v209 = int32(int32(_v207) + int32(2))
- _v210 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v211 = int32(int32(_v209) + int32(_v210))
- _v212 = int64(int32(_v211))
- _v213 = int64(_v212 * int64(1))
- _v215 = int64(_v3 + _v213)
- _v216 = int32(*(*int8)(unsafe.Pointer(uintptr(_v215))))
- _v217 = int32(int32(uint8(_v216)))
- _v218 = int64(int32(_v217))
- _v219 = int64(_v218 * int64(2))
- _v220 = crt.X__ctype_b_loc(t)
- _v221 = *(*int64)(unsafe.Pointer(uintptr(_v220)))
- _v222 = int64(_v221 + _v219)
- _v223 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v222))))
- _v224 = int32(uint16(_v223))
- _v228 = int32(int32(_v224) & int32(8192))
- goto l47
-l47:
- if _v228 != 0 {
- goto l48
- }
- goto l259
-l259:
- _v229 = 0
- goto l49
-l48:
- _v229 = 1
- goto l49
-l49:
- if _v229 != 0 {
- goto l50
- }
- goto l51
-l50:
- _v230 = int64(_v9 + int64(0))
- _v231 = *(*int32)(unsafe.Pointer(uintptr(_v230)))
- _v232 = int32(int32(_v231) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v230))) = _v232
- goto l44
-l51:
- _v233 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v234 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v236 = int32(int32(_v234) - int32(2))
- _v237 = crt.Bool32(int32(_v233) >= int32(_v236))
- if _v237 != 0 {
- goto l52
- }
- goto l54
-l52:
- goto l56
-l54:
- _v239 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v240 = int64(int32(_v239))
- _v241 = int64(_v3 + _v240)
- _v244 = int64(_v241 + int64(2))
- _v245 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v246 = int64(int32(_v245))
- _v247 = int64(_v244 + _v246)
- _v248 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v250 = int32(int32(_v248) - int32(2))
- _v251 = *(*int32)(unsafe.Pointer(uintptr(_v9)))
- _v252 = int32(int32(_v250) - int32(_v251))
- _v253 = *(*int32)(unsafe.Pointer(uintptr(_v13)))
- _v254 = int64(int32(_v253))
- _v255 = int64(_v254 * int64(100))
- _v257 = int64(_v17 + _v255)
- _v260 = s_extractToken(t, _v247, _v252, _v257, 100)
- _v261 = int64(_v9 + int64(0))
- _v262 = *(*int32)(unsafe.Pointer(uintptr(_v261)))
- _v263 = int32(int32(_v262) + int32(_v260))
- *(*int32)(unsafe.Pointer(uintptr(_v261))) = _v263
- goto l55
-l55:
- _v264 = int64(_v13 + int64(0))
- _v265 = *(*int32)(unsafe.Pointer(uintptr(_v264)))
- _v266 = int32(int32(_v265) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v264))) = _v266
- goto l37
-l56:
- _v267 = *(*int32)(unsafe.Pointer(uintptr(_v13)))
- _v268 = int64(_v11 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v268))) = _v267
- goto l57
-l57:
- _v269 = *(*int32)(unsafe.Pointer(uintptr(_v11)))
- _v271 = crt.Bool32(int32(_v269) < int32(2))
- if _v271 != 0 {
- goto l58
- }
- goto l60
-l58:
- _v277 = int64(_v11 + int64(0))
- _v278 = *(*int32)(unsafe.Pointer(uintptr(_v277)))
- _v279 = int32(int32(_v278) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v277))) = _v279
- _v280 = int64(int32(_v278))
- _v281 = int64(_v280 * int64(100))
- _v282 = int64(_v17)
- _v283 = int64(_v282 + _v281)
- _v284 = int64(_v283 + int64(0))
- *(*int8)(unsafe.Pointer(uintptr(_v284))) = 0
- goto l59
-l59:
- _v285 = int64(_v11 + int64(0))
- _v286 = *(*int32)(unsafe.Pointer(uintptr(_v285)))
- _v287 = int32(int32(_v286) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v285))) = _v287
- goto l57
-l60:
- _v288 = int64(_v15)
- _v290 = crt.Xstrcmp(t, _v288, int64(uintptr(unsafe.Pointer(&s__99))))
- _v292 = crt.Bool32(int32(_v290) == int32(0))
- if _v292 != 0 {
- goto l61
- }
- goto l62
-l61:
- _v296 = int64(_v17)
- _v297 = int64(_v296 + int64(0))
- _v298 = crt.Xatoi(t, _v297)
- _ = Xsqlite3_sleep(t, _v298)
- goto l241
-l62:
- _v300 = int64(_v15)
- _v302 = crt.Xstrcmp(t, _v300, int64(uintptr(unsafe.Pointer(&s__100))))
- _v304 = crt.Bool32(int32(_v302) == int32(0))
- if _v304 != 0 {
- goto l63
- }
- goto l66
-l63:
- _v308 = int64(_v17)
- _v309 = int64(_v308 + int64(0))
- _v310 = crt.Xatoi(t, _v309)
- *(*int32)(unsafe.Pointer(uintptr(_v19))) = _v310
- _ = s_finishScript(t, _v1, _v2, 1)
- _v315 = *(*int32)(unsafe.Pointer(uintptr(_v19)))
- _v317 = crt.Bool32(int32(_v315) == int32(0))
- if _v317 != 0 {
- goto l64
- }
- goto l65
-l64:
- _v320 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _ = Xsqlite3_close(t, _v320)
- goto l65
-l65:
- _v322 = *(*int32)(unsafe.Pointer(uintptr(_v19)))
- crt.Xexit(t, _v322)
- goto l240
-l66:
- _v323 = int64(_v15)
- _v325 = crt.Xstrcmp(t, _v323, int64(uintptr(unsafe.Pointer(&s__101))))
- _v327 = crt.Bool32(int32(_v325) == int32(0))
- if _v327 != 0 {
- goto l67
- }
- goto l70
-l67:
- _v330 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 100))
- _v332 = crt.Bool32(int32(_v330) == int32(1))
- if _v332 != 0 {
- goto l68
- }
- goto l69
-l68:
- _v334 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v336 = int32(int32(_v334) - int32(1))
- _v338 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v339 = int64(int32(_v338))
- _v340 = int64(_v3 + _v339)
- *(*int32)(unsafe.Pointer(bp + 32)) = _v336
-
- *(*int64)(unsafe.Pointer(bp + 40)) = _v340
- s_logMessage(t, int64(uintptr(unsafe.Pointer(&s__98))), bp+32)
- goto l69
-l69:
- _v341 = int64(_v14 + int64(0))
- s_stringReset(t, _v341)
- goto l239
-l70:
- _v342 = int64(_v15)
- _v344 = crt.Xstrcmp(t, _v342, int64(uintptr(unsafe.Pointer(&s__102))))
- _v346 = crt.Bool32(int32(_v344) == int32(0))
- goto l71
-l71:
- if _v346 != 0 {
- goto l72
- }
- goto l260
-l260:
- _v350 = 0
- goto l75
-l72:
- _v349 = crt.Bool32(int32(_v1) > int32(0))
- goto l73
-l73:
- if _v349 != 0 {
- goto l74
- }
- goto l261
-l261:
- _v350 = 0
- goto l75
-l74:
- _v350 = 1
- goto l75
-l75:
- if _v350 != 0 {
- goto l76
- }
- goto l77
-l76:
- _ = s_finishScript(t, _v1, _v2, 1)
- goto l238
-l77:
- _v357 = crt.Xstrcmp(t, _v15, int64(uintptr(unsafe.Pointer(&s__103))))
- _v359 = crt.Bool32(int32(_v357) == int32(0))
- if _v359 != 0 {
- goto l78
- }
- goto l79
-l78:
- _v360 = int64(_v14 + int64(0))
- s_stringReset(t, _v360)
- goto l237
-l79:
- _v363 = crt.Xstrcmp(t, _v15, int64(uintptr(unsafe.Pointer(&s__104))))
- _v365 = crt.Bool32(int32(_v363) == int32(0))
- if _v365 != 0 {
- goto l80
- }
- goto l97
-l80:
- _v367 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v368 = int64(int32(_v367))
- _v369 = int64(_v3 + _v368)
- *(*int64)(unsafe.Pointer(uintptr(_v21))) = _v369
- _v371 = int64(_v20 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v371))) = 7
- goto l81
-l81:
- _v372 = *(*int32)(unsafe.Pointer(uintptr(_v20)))
- _v373 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v375 = int32(int32(_v373) - int32(1))
- _v376 = crt.Bool32(int32(_v372) < int32(_v375))
- goto l82
-l82:
- if _v376 != 0 {
- goto l83
- }
- goto l262
-l262:
- _v395 = 0
- goto l86
-l83:
- _v377 = *(*int32)(unsafe.Pointer(uintptr(_v20)))
- _v378 = int64(int32(_v377))
- _v379 = int64(_v378 * int64(1))
- _v380 = *(*int64)(unsafe.Pointer(uintptr(_v21)))
- _v381 = int64(_v380 + _v379)
- _v382 = int32(*(*int8)(unsafe.Pointer(uintptr(_v381))))
- _v383 = int32(int32(uint8(_v382)))
- _v384 = int64(int32(_v383))
- _v385 = int64(_v384 * int64(2))
- _v386 = crt.X__ctype_b_loc(t)
- _v387 = *(*int64)(unsafe.Pointer(uintptr(_v386)))
- _v388 = int64(_v387 + _v385)
- _v389 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v388))))
- _v390 = int32(uint16(_v389))
- _v394 = int32(int32(_v390) & int32(8192))
- goto l84
-l84:
- if _v394 != 0 {
- goto l85
- }
- goto l263
-l263:
- _v395 = 0
- goto l86
-l85:
- _v395 = 1
- goto l86
-l86:
- if _v395 != 0 {
- goto l87
- }
- goto l89
-l87:
- goto l88
-l88:
- _v396 = int64(_v20 + int64(0))
- _v397 = *(*int32)(unsafe.Pointer(uintptr(_v396)))
- _v398 = int32(int32(_v397) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v396))) = _v398
- goto l81
-l89:
- _v399 = *(*int32)(unsafe.Pointer(uintptr(_v20)))
- _v400 = int64(int32(_v399))
- _v401 = int64(_v21 + int64(0))
- _v402 = *(*int64)(unsafe.Pointer(uintptr(_v401)))
- _v403 = int64(_v402 + _v400)
- *(*int64)(unsafe.Pointer(uintptr(_v401))) = _v403
- _v404 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v405 = *(*int32)(unsafe.Pointer(uintptr(_v20)))
- _v406 = int32(int32(_v404) - int32(_v405))
- _v408 = int32(int32(_v406) - int32(1))
- _v409 = int64(_v14 + int64(0))
- _v410 = int64(_v409 + int64(8))
- _v411 = *(*int32)(unsafe.Pointer(uintptr(_v410)))
- _v412 = crt.Bool32(int32(_v408) != int32(_v411))
- goto l90
-l90:
- if _v412 != 0 {
- goto l264
- }
- goto l91
-l264:
- _v424 = 1
- goto l94
-l91:
- _v413 = int64(_v14 + int64(0))
- _v414 = int64(_v413 + int64(0))
- _v415 = *(*int64)(unsafe.Pointer(uintptr(_v414)))
- _v416 = *(*int64)(unsafe.Pointer(uintptr(_v21)))
- _v417 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v418 = *(*int32)(unsafe.Pointer(uintptr(_v20)))
- _v419 = int32(int32(_v417) - int32(_v418))
- _v421 = int32(int32(_v419) - int32(1))
- _v422 = int64(int32(_v421))
- _v423 = crt.Xstrncmp(t, _v415, _v416, _v422)
- goto l92
-l92:
- if _v423 != 0 {
- goto l265
- }
- goto l93
-l265:
- _v424 = 1
- goto l94
-l93:
- _v424 = 0
- goto l94
-l94:
- if _v424 != 0 {
- goto l95
- }
- goto l96
-l95:
- _v426 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v428 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v429 = *(*int32)(unsafe.Pointer(uintptr(_v20)))
- _v430 = int32(int32(_v428) - int32(_v429))
- _v432 = int32(int32(_v430) - int32(1))
- _v433 = *(*int64)(unsafe.Pointer(uintptr(_v21)))
- _v434 = int64(_v14 + int64(0))
- _v435 = int64(_v434 + int64(0))
- _v436 = *(*int64)(unsafe.Pointer(uintptr(_v435)))
- *(*int32)(unsafe.Pointer(bp + 48)) = _v426
-
- *(*int64)(unsafe.Pointer(bp + 56)) = _v4
-
- *(*int32)(unsafe.Pointer(bp + 64)) = _v432
-
- *(*int64)(unsafe.Pointer(bp + 72)) = _v433
-
- *(*int64)(unsafe.Pointer(bp + 80)) = _v436
- s_errorMessage(t, int64(uintptr(unsafe.Pointer(&s__105))), bp+48)
- goto l96
-l96:
- _v439 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 116))
- _v440 = int32(int32(_v439) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 116)) = _v440
- _v441 = int64(_v14 + int64(0))
- s_stringReset(t, _v441)
- goto l236
-l97:
- _v444 = crt.Xstrcmp(t, _v15, int64(uintptr(unsafe.Pointer(&s__106))))
- _v446 = crt.Bool32(int32(_v444) == int32(0))
- goto l98
-l98:
- if _v446 != 0 {
- goto l266
- }
- goto l99
-l266:
- _v452 = 1
- goto l102
-l99:
- _v449 = crt.Xstrcmp(t, _v15, int64(uintptr(unsafe.Pointer(&s__107))))
- _v451 = crt.Bool32(int32(_v449) == int32(0))
- goto l100
-l100:
- if _v451 != 0 {
- goto l267
- }
- goto l101
-l267:
- _v452 = 1
- goto l102
-l101:
- _v452 = 0
- goto l102
-l102:
- if _v452 != 0 {
- goto l103
- }
- goto l115
-l103:
- _v454 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v455 = int64(int32(_v454))
- _v456 = int64(_v3 + _v455)
- *(*int64)(unsafe.Pointer(uintptr(_v23))) = _v456
- _v461 = int64(_v15 + int64(0))
- _v462 = int32(*(*int8)(unsafe.Pointer(uintptr(_v461))))
- _v463 = int32(int8(_v462))
- _v465 = crt.Bool32(int32(_v463) == int32(103))
- *(*int32)(unsafe.Pointer(uintptr(_v25))) = _v465
- _v468 = *(*int32)(unsafe.Pointer(uintptr(_v25)))
- _v469 = int32(3 * _v468)
- _v470 = int32(int32(9) - int32(_v469))
- _v471 = int64(_v22 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v471))) = _v470
- goto l104
-l104:
- _v472 = *(*int32)(unsafe.Pointer(uintptr(_v22)))
- _v473 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v475 = int32(int32(_v473) - int32(1))
- _v476 = crt.Bool32(int32(_v472) < int32(_v475))
- goto l105
-l105:
- if _v476 != 0 {
- goto l106
- }
- goto l268
-l268:
- _v495 = 0
- goto l109
-l106:
- _v477 = *(*int32)(unsafe.Pointer(uintptr(_v22)))
- _v478 = int64(int32(_v477))
- _v479 = int64(_v478 * int64(1))
- _v480 = *(*int64)(unsafe.Pointer(uintptr(_v23)))
- _v481 = int64(_v480 + _v479)
- _v482 = int32(*(*int8)(unsafe.Pointer(uintptr(_v481))))
- _v483 = int32(int32(uint8(_v482)))
- _v484 = int64(int32(_v483))
- _v485 = int64(_v484 * int64(2))
- _v486 = crt.X__ctype_b_loc(t)
- _v487 = *(*int64)(unsafe.Pointer(uintptr(_v486)))
- _v488 = int64(_v487 + _v485)
- _v489 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v488))))
- _v490 = int32(uint16(_v489))
- _v494 = int32(int32(_v490) & int32(8192))
- goto l107
-l107:
- if _v494 != 0 {
- goto l108
- }
- goto l269
-l269:
- _v495 = 0
- goto l109
-l108:
- _v495 = 1
- goto l109
-l109:
- if _v495 != 0 {
- goto l110
- }
- goto l112
-l110:
- goto l111
-l111:
- _v496 = int64(_v22 + int64(0))
- _v497 = *(*int32)(unsafe.Pointer(uintptr(_v496)))
- _v498 = int32(int32(_v497) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v496))) = _v498
- goto l104
-l112:
- _v499 = *(*int32)(unsafe.Pointer(uintptr(_v22)))
- _v500 = int64(int32(_v499))
- _v501 = int64(_v23 + int64(0))
- _v502 = *(*int64)(unsafe.Pointer(uintptr(_v501)))
- _v503 = int64(_v502 + _v500)
- *(*int64)(unsafe.Pointer(uintptr(_v501))) = _v503
- _v505 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v506 = *(*int32)(unsafe.Pointer(uintptr(_v22)))
- _v507 = int32(int32(_v505) - int32(_v506))
- _v509 = int32(int32(_v507) - int32(1))
- _v510 = *(*int64)(unsafe.Pointer(uintptr(_v23)))
- *(*int32)(unsafe.Pointer(bp + 88)) = _v509
-
- *(*int64)(unsafe.Pointer(bp + 96)) = _v510
-
- _v511 = Xsqlite3_mprintf(t, int64(uintptr(unsafe.Pointer(&s__98))), bp+88)
- _v512 = int64(_v24 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v512))) = _v511
- _v513 = *(*int64)(unsafe.Pointer(uintptr(_v24)))
- _v514 = int64(_v14 + int64(0))
- _v515 = int64(_v514 + int64(0))
- _v516 = *(*int64)(unsafe.Pointer(uintptr(_v515)))
- _v517 = Xsqlite3_strglob(t, _v513, _v516)
- _v519 = crt.Bool32(int32(_v517) == int32(0))
- _v520 = *(*int32)(unsafe.Pointer(uintptr(_v25)))
- _v521 = int32(_v519 ^ _v520)
- if _v521 != 0 {
- goto l113
- }
- goto l114
-l113:
- _v523 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v525 = *(*int64)(unsafe.Pointer(uintptr(_v24)))
- _v526 = int64(_v14 + int64(0))
- _v527 = int64(_v526 + int64(0))
- _v528 = *(*int64)(unsafe.Pointer(uintptr(_v527)))
- *(*int32)(unsafe.Pointer(bp + 104)) = _v523
-
- *(*int64)(unsafe.Pointer(bp + 112)) = _v4
-
- *(*int64)(unsafe.Pointer(bp + 120)) = _v525
-
- *(*int64)(unsafe.Pointer(bp + 128)) = _v528
- s_errorMessage(t, int64(uintptr(unsafe.Pointer(&s__108))), bp+104)
- goto l114
-l114:
- _v529 = *(*int64)(unsafe.Pointer(uintptr(_v24)))
- Xsqlite3_free(t, _v529)
- _v532 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 116))
- _v533 = int32(int32(_v532) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 116)) = _v533
- _v534 = int64(_v14 + int64(0))
- s_stringReset(t, _v534)
- goto l235
-l115:
- _v537 = crt.Xstrcmp(t, _v15, int64(uintptr(unsafe.Pointer(&s__109))))
- _v539 = crt.Bool32(int32(_v537) == int32(0))
- if _v539 != 0 {
- goto l116
- }
- goto l117
-l116:
- _v541 = int64(_v14 + int64(0))
- _v542 = int64(_v541 + int64(0))
- _v543 = *(*int64)(unsafe.Pointer(uintptr(_v542)))
- *(*int64)(unsafe.Pointer(bp + 136)) = _v543
- s_logMessage(t, int64(uintptr(unsafe.Pointer(&s__55))), bp+136)
- goto l234
-l117:
- _v546 = crt.Xstrcmp(t, _v15, int64(uintptr(unsafe.Pointer(&s__110))))
- _v548 = crt.Bool32(int32(_v546) == int32(0))
- if _v548 != 0 {
- goto l118
- }
- goto l142
-l118:
- *(*int64)(unsafe.Pointer(uintptr(_v28))) = int64(0)
- _v555 = int64(_v17 + int64(0))
- _v556 = int64(_v26 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v556))) = _v555
- _v560 = *(*int64)(unsafe.Pointer(uintptr(_v26)))
- _v561 = int64(_v560 + int64(0))
- _v562 = int32(*(*int8)(unsafe.Pointer(uintptr(_v561))))
- _v563 = int32(int8(_v562))
- _v565 = crt.Bool32(int32(_v563) == int32(47))
- goto l119
-l119:
- if _v565 != 0 {
- goto l120
- }
- goto l270
-l270:
- _v566 = 1
- goto l121
-l120:
- _v566 = 0
- goto l121
-l121:
- if _v566 != 0 {
- goto l122
- }
- goto l271
-l271:
- goto l137
-l122:
- _v568 = crt.Xstrlen(t, _v4)
- _v569 = int32(int32(int32(_v568)) & int32(-1))
- _v571 = int32(int32(_v569) - int32(1))
- _v572 = int64(_v29 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v572))) = _v571
- goto l123
-l123:
- _v573 = *(*int32)(unsafe.Pointer(uintptr(_v29)))
- _v575 = crt.Bool32(int32(_v573) >= int32(0))
- goto l124
-l124:
- if _v575 != 0 {
- goto l125
- }
- goto l272
-l272:
- _v586 = 0
- goto l131
-l125:
- _v576 = *(*int32)(unsafe.Pointer(uintptr(_v29)))
- _v577 = int64(int32(_v576))
- _v578 = int64(_v577 * int64(1))
- _v580 = int64(_v4 + _v578)
- _v581 = int32(*(*int8)(unsafe.Pointer(uintptr(_v580))))
- _v582 = int32(int8(_v581))
- _v584 = crt.Bool32(int32(_v582) == int32(47))
- goto l126
-l126:
- if _v584 != 0 {
- goto l127
- }
- goto l273
-l273:
- _v585 = 1
- goto l128
-l127:
- _v585 = 0
- goto l128
-l128:
- goto l129
-l129:
- if _v585 != 0 {
- goto l130
- }
- goto l274
-l274:
- _v586 = 0
- goto l131
-l130:
- _v586 = 1
- goto l131
-l131:
- if _v586 != 0 {
- goto l132
- }
- goto l134
-l132:
- goto l133
-l133:
- _v587 = int64(_v29 + int64(0))
- _v588 = *(*int32)(unsafe.Pointer(uintptr(_v587)))
- _v589 = int32(int32(_v588) - int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v587))) = _v589
- goto l123
-l134:
- _v590 = *(*int32)(unsafe.Pointer(uintptr(_v29)))
- _v592 = crt.Bool32(int32(_v590) > int32(0))
- if _v592 != 0 {
- goto l135
- }
- goto l136
-l135:
- _v594 = *(*int32)(unsafe.Pointer(uintptr(_v29)))
- _v596 = *(*int64)(unsafe.Pointer(uintptr(_v26)))
- *(*int32)(unsafe.Pointer(bp + 144)) = _v594
-
- *(*int64)(unsafe.Pointer(bp + 152)) = _v4
-
- *(*int64)(unsafe.Pointer(bp + 160)) = _v596
-
- _v597 = Xsqlite3_mprintf(t, int64(uintptr(unsafe.Pointer(&s__111))), bp+144)
- _v598 = int64(_v28 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v598))) = _v597
- _v599 = *(*int64)(unsafe.Pointer(uintptr(_v598)))
- _v600 = int64(_v26 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v600))) = _v599
- goto l136
-l136:
- goto l137
-l137:
- _v601 = *(*int64)(unsafe.Pointer(uintptr(_v26)))
- _v602 = s_readFile(t, _v601)
- _v603 = int64(_v27 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v603))) = _v602
- _v606 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 100))
- if _v606 != 0 {
- goto l138
- }
- goto l139
-l138:
- _v608 = *(*int64)(unsafe.Pointer(uintptr(_v26)))
- *(*int64)(unsafe.Pointer(bp + 168)) = _v608
- s_logMessage(t, int64(uintptr(unsafe.Pointer(&s__112))), bp+168)
- goto l139
-l139:
- _v611 = *(*int64)(unsafe.Pointer(uintptr(_v27)))
- _v612 = *(*int64)(unsafe.Pointer(uintptr(_v26)))
- s_runScript(t, 0, 0, _v611, _v612)
- _v613 = *(*int64)(unsafe.Pointer(uintptr(_v27)))
- Xsqlite3_free(t, _v613)
- _v616 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 100))
- if _v616 != 0 {
- goto l140
- }
- goto l141
-l140:
- _v618 = *(*int64)(unsafe.Pointer(uintptr(_v26)))
- *(*int64)(unsafe.Pointer(bp + 176)) = _v618
- s_logMessage(t, int64(uintptr(unsafe.Pointer(&s__113))), bp+176)
- goto l141
-l141:
- _v619 = *(*int64)(unsafe.Pointer(uintptr(_v28)))
- Xsqlite3_free(t, _v619)
- goto l233
-l142:
- _v622 = crt.Xstrcmp(t, _v15, int64(uintptr(unsafe.Pointer(&s__114))))
- _v624 = crt.Bool32(int32(_v622) == int32(0))
- if _v624 != 0 {
- goto l143
- }
- goto l153
-l143:
- _v626 = int64(_v30 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v626))) = 7
- goto l144
-l144:
- _v627 = *(*int32)(unsafe.Pointer(uintptr(_v30)))
- _v628 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v629 = crt.Bool32(int32(_v627) < int32(_v628))
- goto l145
-l145:
- if _v629 != 0 {
- goto l146
- }
- goto l275
-l275:
- _v650 = 0
- goto l149
-l146:
- _v630 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v631 = *(*int32)(unsafe.Pointer(uintptr(_v30)))
- _v632 = int32(int32(_v630) + int32(_v631))
- _v633 = int64(int32(_v632))
- _v634 = int64(_v633 * int64(1))
- _v636 = int64(_v3 + _v634)
- _v637 = int32(*(*int8)(unsafe.Pointer(uintptr(_v636))))
- _v638 = int32(int32(uint8(_v637)))
- _v639 = int64(int32(_v638))
- _v640 = int64(_v639 * int64(2))
- _v641 = crt.X__ctype_b_loc(t)
- _v642 = *(*int64)(unsafe.Pointer(uintptr(_v641)))
- _v643 = int64(_v642 + _v640)
- _v644 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v643))))
- _v645 = int32(uint16(_v644))
- _v649 = int32(int32(_v645) & int32(8192))
- goto l147
-l147:
- if _v649 != 0 {
- goto l148
- }
- goto l276
-l276:
- _v650 = 0
- goto l149
-l148:
- _v650 = 1
- goto l149
-l149:
- if _v650 != 0 {
- goto l150
- }
- goto l152
-l150:
- goto l151
-l151:
- _v651 = int64(_v30 + int64(0))
- _v652 = *(*int32)(unsafe.Pointer(uintptr(_v651)))
- _v653 = int32(int32(_v652) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v651))) = _v653
- goto l144
-l152:
- _v655 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v656 = *(*int32)(unsafe.Pointer(uintptr(_v30)))
- _v657 = int32(int32(_v655) - int32(_v656))
- _v659 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v660 = int64(int32(_v659))
- _v661 = int64(_v3 + _v660)
- _v662 = *(*int32)(unsafe.Pointer(uintptr(_v30)))
- _v663 = int64(int32(_v662))
- _v664 = int64(_v661 + _v663)
- *(*int32)(unsafe.Pointer(bp + 184)) = _v657
-
- *(*int64)(unsafe.Pointer(bp + 192)) = _v664
- s_logMessage(t, int64(uintptr(unsafe.Pointer(&s__98))), bp+184)
- goto l232
-l153:
- _v667 = crt.Xstrcmp(t, _v15, int64(uintptr(unsafe.Pointer(&s__115))))
- _v669 = crt.Bool32(int32(_v667) == int32(0))
- if _v669 != 0 {
- goto l154
- }
- goto l171
-l154:
- _v671 = int64(_v31 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v671))) = 4
- goto l155
-l155:
- _v672 = *(*int32)(unsafe.Pointer(uintptr(_v31)))
- _v673 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v674 = crt.Bool32(int32(_v672) < int32(_v673))
- goto l156
-l156:
- if _v674 != 0 {
- goto l157
- }
- goto l277
-l277:
- _v695 = 0
- goto l160
-l157:
- _v675 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v676 = *(*int32)(unsafe.Pointer(uintptr(_v31)))
- _v677 = int32(int32(_v675) + int32(_v676))
- _v678 = int64(int32(_v677))
- _v679 = int64(_v678 * int64(1))
- _v681 = int64(_v3 + _v679)
- _v682 = int32(*(*int8)(unsafe.Pointer(uintptr(_v681))))
- _v683 = int32(int32(uint8(_v682)))
- _v684 = int64(int32(_v683))
- _v685 = int64(_v684 * int64(2))
- _v686 = crt.X__ctype_b_loc(t)
- _v687 = *(*int64)(unsafe.Pointer(uintptr(_v686)))
- _v688 = int64(_v687 + _v685)
- _v689 = int32(*(*uint16)(unsafe.Pointer(uintptr(_v688))))
- _v690 = int32(uint16(_v689))
- _v694 = int32(int32(_v690) & int32(8192))
- goto l158
-l158:
- if _v694 != 0 {
- goto l159
- }
- goto l278
-l278:
- _v695 = 0
- goto l160
-l159:
- _v695 = 1
- goto l160
-l160:
- if _v695 != 0 {
- goto l161
- }
- goto l163
-l161:
- goto l162
-l162:
- _v696 = int64(_v31 + int64(0))
- _v697 = *(*int32)(unsafe.Pointer(uintptr(_v696)))
- _v698 = int32(int32(_v697) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v696))) = _v698
- goto l155
-l163:
- _v700 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v701 = *(*int32)(unsafe.Pointer(uintptr(_v31)))
- _v702 = int32(int32(_v700) - int32(_v701))
- _v704 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v705 = int64(int32(_v704))
- _v706 = int64(_v3 + _v705)
- _v707 = *(*int32)(unsafe.Pointer(uintptr(_v31)))
- _v708 = int64(int32(_v707))
- _v709 = int64(_v706 + _v708)
- *(*int32)(unsafe.Pointer(bp + 200)) = _v702
-
- *(*int64)(unsafe.Pointer(bp + 208)) = _v709
-
- _v710 = s_prepareSql(t, int64(uintptr(unsafe.Pointer(&s__116))), bp+200)
- _v711 = int64(_v33 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v711))) = _v710
- _v712 = *(*int64)(unsafe.Pointer(uintptr(_v33)))
- _v713 = Xsqlite3_step(t, _v712)
- _v714 = int64(_v32 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v714))) = _v713
- _v715 = *(*int32)(unsafe.Pointer(uintptr(_v32)))
- _v717 = crt.Bool32(int32(_v715) != int32(100))
- goto l164
-l164:
- if _v717 != 0 {
- goto l279
- }
- goto l165
-l279:
- _v723 = 1
- goto l168
-l165:
- _v718 = *(*int64)(unsafe.Pointer(uintptr(_v33)))
- _v720 = Xsqlite3_column_int(t, _v718, 0)
- _v722 = crt.Bool32(int32(_v720) == int32(0))
- goto l166
-l166:
- if _v722 != 0 {
- goto l280
- }
- goto l167
-l280:
- _v723 = 1
- goto l168
-l167:
- _v723 = 0
- goto l168
-l168:
- if _v723 != 0 {
- goto l169
- }
- goto l170
-l169:
- _v725 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v726 = int64(int32(_v725))
- _v727 = int64(_v3 + _v726)
- _v728 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v729 = int64(int32(_v728))
- _v730 = int64(_v727 + _v729)
- _v732 = int64(_v5 + int64(0))
- _v733 = s_findEndif(t, _v730, 1, _v732)
- _v734 = int64(_v7 + int64(0))
- _v735 = *(*int32)(unsafe.Pointer(uintptr(_v734)))
- _v736 = int32(int32(_v735) + int32(_v733))
- *(*int32)(unsafe.Pointer(uintptr(_v734))) = _v736
- goto l170
-l170:
- _v737 = *(*int64)(unsafe.Pointer(uintptr(_v33)))
- _ = Xsqlite3_finalize(t, _v737)
- goto l231
-l171:
- _v741 = crt.Xstrcmp(t, _v15, int64(uintptr(unsafe.Pointer(&s__117))))
- _v743 = crt.Bool32(int32(_v741) == int32(0))
- if _v743 != 0 {
- goto l172
- }
- goto l173
-l172:
- _v745 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v746 = int64(int32(_v745))
- _v747 = int64(_v3 + _v746)
- _v748 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v749 = int64(int32(_v748))
- _v750 = int64(_v747 + _v749)
- _v752 = int64(_v5 + int64(0))
- _v753 = s_findEndif(t, _v750, 0, _v752)
- _v754 = int64(_v7 + int64(0))
- _v755 = *(*int32)(unsafe.Pointer(uintptr(_v754)))
- _v756 = int32(int32(_v755) + int32(_v753))
- *(*int32)(unsafe.Pointer(uintptr(_v754))) = _v756
- goto l230
-l173:
- _v759 = crt.Xstrcmp(t, _v15, int64(uintptr(unsafe.Pointer(&s__118))))
- _v761 = crt.Bool32(int32(_v759) == int32(0))
- if _v761 != 0 {
- goto l174
- }
- goto l175
-l174:
- goto l229
-l175:
- _v764 = crt.Xstrcmp(t, _v15, int64(uintptr(unsafe.Pointer(&s__119))))
- _v766 = crt.Bool32(int32(_v764) == int32(0))
- goto l176
-l176:
- if _v766 != 0 {
- goto l177
- }
- goto l281
-l281:
- _v770 = 0
- goto l180
-l177:
- _v769 = crt.Bool32(int32(_v1) == int32(0))
- goto l178
-l178:
- if _v769 != 0 {
- goto l179
- }
- goto l282
-l282:
- _v770 = 0
- goto l180
-l179:
- _v770 = 1
- goto l180
-l180:
- if _v770 != 0 {
- goto l181
- }
- goto l184
-l181:
- _v775 = int64(_v17 + int64(0))
- _v776 = crt.Xatoi(t, _v775)
- *(*int32)(unsafe.Pointer(uintptr(_v34))) = _v776
- _v777 = *(*int32)(unsafe.Pointer(uintptr(_v34)))
- _v779 = crt.Bool32(int32(_v777) > int32(0))
- if _v779 != 0 {
- goto l182
- }
- goto l183
-l182:
- _v780 = *(*int32)(unsafe.Pointer(uintptr(_v34)))
- s_startClient(t, _v780)
- goto l183
-l183:
- goto l228
-l184:
- _v783 = crt.Xstrcmp(t, _v15, int64(uintptr(unsafe.Pointer(&s__120))))
- _v785 = crt.Bool32(int32(_v783) == int32(0))
- goto l185
-l185:
- if _v785 != 0 {
- goto l186
- }
- goto l283
-l283:
- _v789 = 0
- goto l189
-l186:
- _v788 = crt.Bool32(int32(_v1) == int32(0))
- goto l187
-l187:
- if _v788 != 0 {
- goto l188
- }
- goto l284
-l284:
- _v789 = 0
- goto l189
-l188:
- _v789 = 1
- goto l189
-l189:
- if _v789 != 0 {
- goto l190
- }
- goto l197
-l190:
- _v790 = *(*int32)(unsafe.Pointer(uintptr(_v13)))
- _v792 = crt.Bool32(int32(_v790) >= int32(2))
- goto l191
-l191:
- if _v792 != 0 {
- goto l192
- }
- goto l194
-l192:
- _v797 = int64(_v17 + int64(100))
- _v798 = crt.Xatoi(t, _v797)
- goto l193
-l193:
- _v800 = _v798
- goto l196
-l194:
- goto l195
-l195:
- _v800 = 10000
- goto l196
-l196:
- *(*int32)(unsafe.Pointer(uintptr(_v35))) = _v800
- _v805 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- *(*int32)(unsafe.Pointer(bp + 216)) = _v805
-
- *(*int64)(unsafe.Pointer(bp + 224)) = _v4
-
- _ = Xsqlite3_snprintf(t, 1000, _v16, int64(uintptr(unsafe.Pointer(&s__121))), bp+216)
- _v812 = int64(_v17 + int64(0))
- _v813 = crt.Xatoi(t, _v812)
- _v814 = *(*int32)(unsafe.Pointer(uintptr(_v35)))
- s_waitForClient(t, _v813, _v814, _v16)
- goto l227
-l197:
- _v818 = crt.Xstrcmp(t, _v15, int64(uintptr(unsafe.Pointer(&s__122))))
- _v820 = crt.Bool32(int32(_v818) == int32(0))
- goto l198
-l198:
- if _v820 != 0 {
- goto l199
- }
- goto l285
-l285:
- _v824 = 0
- goto l202
-l199:
- _v823 = crt.Bool32(int32(_v1) == int32(0))
- goto l200
-l200:
- if _v823 != 0 {
- goto l201
- }
- goto l286
-l286:
- _v824 = 0
- goto l202
-l201:
- _v824 = 1
- goto l202
-l202:
- if _v824 != 0 {
- goto l203
- }
- goto l210
-l203:
- _v829 = int64(_v17 + int64(0))
- _v830 = crt.Xatoi(t, _v829)
- *(*int32)(unsafe.Pointer(uintptr(_v36))) = _v830
- _v832 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v833 = int64(int32(_v832))
- _v834 = int64(_v3 + _v833)
- _v835 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v836 = int64(int32(_v835))
- _v837 = int64(_v834 + _v836)
- _v838 = int64(_v5 + int64(0))
- _v839 = s_findEnd(t, _v837, _v838)
- _v840 = int64(_v37 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v840))) = _v839
- _v841 = *(*int32)(unsafe.Pointer(uintptr(_v36)))
- _v843 = crt.Bool32(int32(_v841) < int32(0))
- if _v843 != 0 {
- goto l204
- }
- goto l205
-l204:
- _v845 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v847 = *(*int32)(unsafe.Pointer(uintptr(_v36)))
- *(*int32)(unsafe.Pointer(bp + 232)) = _v845
-
- *(*int64)(unsafe.Pointer(bp + 240)) = _v4
-
- *(*int32)(unsafe.Pointer(bp + 248)) = _v847
- s_errorMessage(t, int64(uintptr(unsafe.Pointer(&s__123))), bp+232)
- goto l209
-l205:
- _v849 = *(*int32)(unsafe.Pointer(uintptr(_v37)))
- _v851 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v852 = int64(int32(_v851))
- _v853 = int64(_v3 + _v852)
- _v854 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v855 = int64(int32(_v854))
- _v856 = int64(_v853 + _v855)
- *(*int32)(unsafe.Pointer(bp + 256)) = _v849
-
- *(*int64)(unsafe.Pointer(bp + 264)) = _v856
-
- _v857 = Xsqlite3_mprintf(t, int64(uintptr(unsafe.Pointer(&s__98))), bp+256)
- _v858 = int64(_v38 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v858))) = _v857
- _v859 = *(*int32)(unsafe.Pointer(uintptr(_v13)))
- _v861 = crt.Bool32(int32(_v859) > int32(1))
- if _v861 != 0 {
- goto l206
- }
- goto l207
-l206:
- _v867 = int64(_v17 + int64(100))
- *(*int64)(unsafe.Pointer(bp + 272)) = _v867
-
- _v868 = Xsqlite3_mprintf(t, int64(uintptr(unsafe.Pointer(&s__55))), bp+272)
- _v869 = int64(_v39 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v869))) = _v868
- goto l208
-l207:
- _v872 = s_filenameTail(t, _v4)
- _v873 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- *(*int64)(unsafe.Pointer(bp + 280)) = _v872
-
- *(*int32)(unsafe.Pointer(bp + 288)) = _v873
-
- _v874 = Xsqlite3_mprintf(t, int64(uintptr(unsafe.Pointer(&s__124))), bp+280)
- _v875 = int64(_v39 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v875))) = _v874
- goto l208
-l208:
- _v876 = *(*int32)(unsafe.Pointer(uintptr(_v36)))
- s_startClient(t, _v876)
- _v878 = *(*int32)(unsafe.Pointer(uintptr(_v36)))
- _v879 = *(*int64)(unsafe.Pointer(uintptr(_v38)))
- _v880 = *(*int64)(unsafe.Pointer(uintptr(_v39)))
- *(*int32)(unsafe.Pointer(bp + 296)) = _v878
-
- *(*int64)(unsafe.Pointer(bp + 304)) = _v879
-
- *(*int64)(unsafe.Pointer(bp + 312)) = _v880
- s_runSql(t, int64(uintptr(unsafe.Pointer(&s__125))), bp+296)
- _v881 = *(*int64)(unsafe.Pointer(uintptr(_v38)))
- Xsqlite3_free(t, _v881)
- _v882 = *(*int64)(unsafe.Pointer(uintptr(_v39)))
- Xsqlite3_free(t, _v882)
- goto l209
-l209:
- _v884 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v885 = int64(int32(_v884))
- _v886 = int64(_v3 + _v885)
- _v887 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v888 = int64(int32(_v887))
- _v889 = int64(_v886 + _v888)
- _v890 = *(*int32)(unsafe.Pointer(uintptr(_v37)))
- _v891 = int64(int32(_v890))
- _v892 = int64(_v889 + _v891)
- _v893 = int64(_v5 + int64(0))
- _v894 = s_tokenLength(t, _v892, _v893)
- _v895 = int64(_v37 + int64(0))
- _v896 = *(*int32)(unsafe.Pointer(uintptr(_v895)))
- _v897 = int32(int32(_v896) + int32(_v894))
- *(*int32)(unsafe.Pointer(uintptr(_v895))) = _v897
- _v898 = *(*int32)(unsafe.Pointer(uintptr(_v37)))
- _v899 = int64(_v12 + int64(0))
- _v900 = *(*int32)(unsafe.Pointer(uintptr(_v899)))
- _v901 = int32(int32(_v900) + int32(_v898))
- *(*int32)(unsafe.Pointer(uintptr(_v899))) = _v901
- _v902 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v903 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v904 = int32(int32(_v902) + int32(_v903))
- _v905 = int64(_v8 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v905))) = _v904
- goto l226
-l210:
- _v908 = crt.Xstrcmp(t, _v15, int64(uintptr(unsafe.Pointer(&s__126))))
- _v910 = crt.Bool32(int32(_v908) == int32(0))
- if _v910 != 0 {
- goto l211
- }
- goto l212
-l211:
- s_test_breakpoint(t)
- goto l225
-l212:
- _v913 = crt.Xstrcmp(t, _v15, int64(uintptr(unsafe.Pointer(&s__127))))
- _v915 = crt.Bool32(int32(_v913) == int32(0))
- if _v915 != 0 {
- goto l213
- }
- goto l223
-l213:
- _v916 = *(*int32)(unsafe.Pointer(uintptr(_v13)))
- _v918 = crt.Bool32(int32(_v916) >= int32(1))
- goto l214
-l214:
- if _v918 != 0 {
- goto l215
- }
- goto l220
-l215:
- _v923 = int64(_v17 + int64(0))
- _v924 = s_booleanValue(t, _v923)
- goto l216
-l216:
- if _v924 != 0 {
- goto l217
- }
- goto l287
-l287:
- _v925 = 1
- goto l218
-l217:
- _v925 = 0
- goto l218
-l218:
- goto l219
-l219:
- _v927 = int32(_v925)
- goto l222
-l220:
- goto l221
-l221:
- _v927 = 1
- goto l222
-l222:
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 108)) = _v927
- goto l224
-l223:
- _v931 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- *(*int32)(unsafe.Pointer(bp + 320)) = _v931
-
- *(*int64)(unsafe.Pointer(bp + 328)) = _v4
-
- *(*int64)(unsafe.Pointer(bp + 336)) = _v15
- s_errorMessage(t, int64(uintptr(unsafe.Pointer(&s__128))), bp+320)
- goto l224
-l224:
- goto l225
-l225:
- goto l226
-l226:
- goto l227
-l227:
- goto l228
-l228:
- goto l229
-l229:
- goto l230
-l230:
- goto l231
-l231:
- goto l232
-l232:
- goto l233
-l233:
- goto l234
-l234:
- goto l235
-l235:
- goto l236
-l236:
- goto l237
-l237:
- goto l238
-l238:
- goto l239
-l239:
- goto l240
-l240:
- goto l241
-l241:
- _v934 = *(*int32)(unsafe.Pointer(uintptr(_v12)))
- _v935 = int64(_v7 + int64(0))
- _v936 = *(*int32)(unsafe.Pointer(uintptr(_v935)))
- _v937 = int32(int32(_v936) + int32(_v934))
- *(*int32)(unsafe.Pointer(uintptr(_v935))) = _v937
- goto l2
-l242:
- _v938 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v939 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v940 = crt.Bool32(int32(_v938) < int32(_v939))
- if _v940 != 0 {
- goto l243
- }
- goto l244
-l243:
- _v942 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v943 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v944 = int32(int32(_v942) - int32(_v943))
- _v946 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v947 = int64(int32(_v946))
- _v948 = int64(_v3 + _v947)
- *(*int32)(unsafe.Pointer(bp + 344)) = _v944
-
- *(*int64)(unsafe.Pointer(bp + 352)) = _v948
-
- _v949 = Xsqlite3_mprintf(t, int64(uintptr(unsafe.Pointer(&s__98))), bp+344)
- *(*int64)(unsafe.Pointer(uintptr(_v40))) = _v949
- _v950 = *(*int64)(unsafe.Pointer(uintptr(_v40)))
- s_runSql(t, _v950, 0)
- _v951 = *(*int64)(unsafe.Pointer(uintptr(_v40)))
- Xsqlite3_free(t, _v951)
- goto l244
-l244:
- _v952 = int64(_v14 + int64(0))
- s_stringFree(t, _v952)
- goto l245
-l245:
-}
+// Neither process nor thread sporadic server interfaces is available.
-var s__97 = [10]byte{0x72, 0x75, 0x6e, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74}
+// trace.h is not available.
-var s__98 = [5]byte{0x25, 0x2e, 0x2a, 0x73}
+// Typed memory objects are not available.
-var s__99 = [6]byte{0x73, 0x6c, 0x65, 0x65, 0x70}
+// Get the environment definitions from Unix98.
+// Copyright (C) 1999-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
-var s__100 = [5]byte{0x65, 0x78, 0x69, 0x74}
+// Determine the wordsize from the preprocessor defines.
-var s__101 = [9]byte{0x74, 0x65, 0x73, 0x74, 0x63, 0x61, 0x73, 0x65}
+// Both x86-64 and x32 use the 64-bit system call interface.
-var s__102 = [7]byte{0x66, 0x69, 0x6e, 0x69, 0x73, 0x68}
+// This header should define the following symbols under the described
+// situations. A value `1' means that the model is always supported,
+// `-1' means it is never supported. Undefined means it cannot be
+// statically decided.
+//
+// _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
+// _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
+//
+// _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
+// _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
+//
+// The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
+// _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
+// _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
+// used in previous versions of the Unix standard and are available
+// only for compatibility.
-var s__103 = [6]byte{0x72, 0x65, 0x73, 0x65, 0x74}
+// Environments with 32-bit wide pointers are optionally provided.
+// Therefore following macros aren't defined:
+// # undef _POSIX_V7_ILP32_OFF32
+// # undef _POSIX_V7_ILP32_OFFBIG
+// # undef _POSIX_V6_ILP32_OFF32
+// # undef _POSIX_V6_ILP32_OFFBIG
+// # undef _XBS5_ILP32_OFF32
+// # undef _XBS5_ILP32_OFFBIG
+// and users need to check at runtime.
+
+// We also have no use (for now) for an environment with bigger pointers
+// and offsets.
-var s__104 = [6]byte{0x6d, 0x61, 0x74, 0x63, 0x68}
+// By default we have 64-bit wide `long int', pointers and `off_t'.
-var s__105 = [45]byte{
- 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x25, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x25, 0x73, 0x3a, 0x0a, 0x45,
- 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x5b, 0x25, 0x2e, 0x2a, 0x73, 0x5d, 0x0a, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x47, 0x6f, 0x74, 0x20, 0x5b, 0x25, 0x73, 0x5d,
+// Standard file descriptors.
+
+// All functions that are not declared anywhere else.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+//
+//This file is part of GCC.
+//
+//GCC is free software; you can redistribute it and/or modify
+//it under the terms of the GNU General Public License as published by
+//the Free Software Foundation; either version 3, or (at your option)
+//any later version.
+//
+//GCC is distributed in the hope that it will be useful,
+//but WITHOUT ANY WARRANTY; without even the implied warranty of
+//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//GNU General Public License for more details.
+//
+//Under Section 7 of GPL version 3, you are granted additional
+//permissions described in the GCC Runtime Library Exception, version
+//3.1, as published by the Free Software Foundation.
+//
+//You should have received a copy of the GNU General Public License and
+//a copy of the GCC Runtime Library Exception along with this program;
+//see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+//<http://www.gnu.org/licenses/>.
+
+// ISO C Standard: 7.17 Common definitions <stddef.h>
+
+// Any one of these symbols __need_* means that GNU libc
+// wants us just to define one data type. So don't define
+// the symbols that indicate this file's entire job has been done.
+
+// This avoids lossage on SunOS but only if stdtypes.h comes first.
+// There's no way to win with the other order! Sun lossage.
+
+// On 4.3bsd-net2, make sure ansi.h is included, so we have
+// one less case to deal with in the following.
+// On FreeBSD 5, machine/ansi.h does not exist anymore...
+
+// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
+// defined if the corresponding type is *not* defined.
+// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
+// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
+
+// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
+// Just ignore it.
+
+// On VxWorks, <type/vxTypesBase.h> may have defined macros like
+// _TYPE_size_t which will typedef size_t. fixincludes patched the
+// vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
+// not defined, and so that defining this macro defines _GCC_SIZE_T.
+// If we find that the macros are still defined at this point, we must
+// invoke them so that the type is defined as expected.
+
+// In case nobody has defined these types, but we aren't running under
+// GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
+// __WCHAR_TYPE__ have reasonable values. This can happen if the
+// parts of GCC is compiled by an older compiler, that actually
+// include gstddef.h, such as collect2.
+
+// Signed type of difference of two pointers.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// Unsigned type of `sizeof' something.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// Wide character type.
+// Locale-writers should change this as necessary to
+// be big enough to hold unique values not between 0 and 127,
+// and not (wchar_t) -1, for each defined multibyte character.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
+// are already defined.
+// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
+// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
+
+// A null pointer constant.
+
+// The Single Unix specification says that some more types are
+// available here.
+type gid_t = uint32 /* unistd.h:232:17 */
+
+type uid_t = uint32 /* unistd.h:237:17 */
+
+type useconds_t = uint32 /* unistd.h:255:22 */
+
+type pid_t = int32 /* unistd.h:260:17 */
+
+type intptr_t = int64 /* unistd.h:267:20 */
+
+type socklen_t = uint32 /* unistd.h:274:21 */
+
+// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
+// are already defined.
+// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
+// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
+
+// A null pointer constant.
+
+// XPG requires a few symbols from <sys/wait.h> being defined.
+// Definitions of flag bits for `waitpid' et al.
+// Copyright (C) 1992-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Bits in the third argument to `waitpid'.
+
+// Bits in the fourth argument to `waitid'.
+
+// The following values are used by the `waitid' function.
+
+// The Linux kernel defines these bare, rather than an enum,
+// which causes a conflict if the include order is reversed.
+
+type idtype_t = uint32 /* waitflags.h:57:3 */
+
+// Returned by `div'.
+type div_t = struct {
+ quot int32
+ rem int32
+} /* stdlib.h:62:5 */
+
+// Returned by `ldiv'.
+type ldiv_t = struct {
+ quot int64
+ rem int64
+} /* stdlib.h:70:5 */
+
+// Returned by `lldiv'.
+type lldiv_t = struct {
+ quot int64
+ rem int64
+} /* stdlib.h:80:5 */
+
+// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// POSIX Standard: 2.6 Primitive System Data Types <sys/types.h>
+
+// Copyright (C) 1991-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+type u_char = uint8 /* types.h:33:18 */
+type u_short = uint16 /* types.h:34:19 */
+type u_int = uint32 /* types.h:35:17 */
+type u_long = uint64 /* types.h:36:18 */
+type quad_t = int64 /* types.h:37:18 */
+type u_quad_t = uint64 /* types.h:38:20 */
+type fsid_t = struct{ __val [2]int32 } /* types.h:39:18 */
+type loff_t = int64 /* types.h:42:18 */
+
+type ino_t = uint64 /* types.h:47:17 */
+
+type dev_t = uint64 /* types.h:59:17 */
+
+type mode_t = uint32 /* types.h:69:18 */
+
+type nlink_t = uint64 /* types.h:74:19 */
+
+type id_t = uint32 /* types.h:103:16 */
+
+type daddr_t = int32 /* types.h:114:19 */
+type caddr_t = uintptr /* types.h:115:19 */
+
+type key_t = int32 /* types.h:121:17 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Returned by `clock'.
+type clock_t = int64 /* clock_t.h:7:19 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Clock ID used in clock and timer functions.
+type clockid_t = int32 /* clockid_t.h:7:21 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Returned by `time'.
+type time_t = int64 /* time_t.h:7:18 */
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+// Timer ID returned by `timer_create'.
+type timer_t = uintptr /* timer_t.h:7:19 */
+
+// Copyright (C) 1989-2018 Free Software Foundation, Inc.
+//
+//This file is part of GCC.
+//
+//GCC is free software; you can redistribute it and/or modify
+//it under the terms of the GNU General Public License as published by
+//the Free Software Foundation; either version 3, or (at your option)
+//any later version.
+//
+//GCC is distributed in the hope that it will be useful,
+//but WITHOUT ANY WARRANTY; without even the implied warranty of
+//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+//GNU General Public License for more details.
+//
+//Under Section 7 of GPL version 3, you are granted additional
+//permissions described in the GCC Runtime Library Exception, version
+//3.1, as published by the Free Software Foundation.
+//
+//You should have received a copy of the GNU General Public License and
+//a copy of the GCC Runtime Library Exception along with this program;
+//see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+//<http://www.gnu.org/licenses/>.
+
+// ISO C Standard: 7.17 Common definitions <stddef.h>
+
+// Any one of these symbols __need_* means that GNU libc
+// wants us just to define one data type. So don't define
+// the symbols that indicate this file's entire job has been done.
+
+// This avoids lossage on SunOS but only if stdtypes.h comes first.
+// There's no way to win with the other order! Sun lossage.
+
+// On 4.3bsd-net2, make sure ansi.h is included, so we have
+// one less case to deal with in the following.
+// On FreeBSD 5, machine/ansi.h does not exist anymore...
+
+// In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
+// defined if the corresponding type is *not* defined.
+// FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
+// NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_
+
+// Sequent's header files use _PTRDIFF_T_ in some conflicting way.
+// Just ignore it.
+
+// On VxWorks, <type/vxTypesBase.h> may have defined macros like
+// _TYPE_size_t which will typedef size_t. fixincludes patched the
+// vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
+// not defined, and so that defining this macro defines _GCC_SIZE_T.
+// If we find that the macros are still defined at this point, we must
+// invoke them so that the type is defined as expected.
+
+// In case nobody has defined these types, but we aren't running under
+// GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
+// __WCHAR_TYPE__ have reasonable values. This can happen if the
+// parts of GCC is compiled by an older compiler, that actually
+// include gstddef.h, such as collect2.
+
+// Signed type of difference of two pointers.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// Unsigned type of `sizeof' something.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// Wide character type.
+// Locale-writers should change this as necessary to
+// be big enough to hold unique values not between 0 and 127,
+// and not (wchar_t) -1, for each defined multibyte character.
+
+// Define this type if we are doing the whole job,
+// or if we want this type in particular.
+
+// In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
+// are already defined.
+// BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.
+// NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.
+
+// A null pointer constant.
+
+// Old compatibility names for C types.
+type ulong = uint64 /* types.h:148:27 */
+type ushort = uint16 /* types.h:149:28 */
+type uint = uint32 /* types.h:150:22 */
+
+// These size-specific names are used by some of the inet code.
+
+// Define intN_t types.
+// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// bits/types.h -- definitions of __*_t types underlying *_t types.
+// Copyright (C) 2002-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Never include this file directly; use <sys/types.h> instead.
+
+type int8_t = int8 /* stdint-intn.h:24:18 */
+type int16_t = int16 /* stdint-intn.h:25:19 */
+type int32_t = int32 /* stdint-intn.h:26:19 */
+type int64_t = int64 /* stdint-intn.h:27:19 */
+
+// These were defined by ISO C without the first `_'.
+type u_int8_t = uint8 /* types.h:160:23 */
+type u_int16_t = uint16 /* types.h:161:28 */
+type u_int32_t = uint32 /* types.h:162:22 */
+type u_int64_t = uint64 /* types.h:164:27 */
+
+type register_t = int32 /* types.h:169:13 */
+
+// A set of signals to be blocked, unblocked, or waited for.
+type sigset_t = struct{ __val [16]uint64 } /* sigset_t.h:7:20 */
+
+type suseconds_t = int64 /* select.h:43:23 */
+
+// Some versions of <linux/posix_types.h> define this macros.
+// It's easier to assume 8-bit bytes than to get CHAR_BIT.
+
+// fd_set for select and pselect.
+type fd_set = struct{ __fds_bits [16]int64 } /* select.h:70:5 */
+
+// Maximum number of file descriptors in `fd_set'.
+
+// Sometimes the fd_set member is assumed to have this type.
+type fd_mask = int64 /* select.h:77:19 */
+
+// Define some inlines helping to catch common problems.
+
+type blksize_t = int64 /* types.h:202:21 */
+
+// Types from the Large File Support interface.
+type blkcnt_t = int64 /* types.h:209:20 */ // Type to count number of disk blocks.
+type fsblkcnt_t = uint64 /* types.h:213:22 */ // Type to count file system blocks.
+type fsfilcnt_t = uint64 /* types.h:217:22 */
+
+// Thread identifiers. The structure of the attribute type is not
+// exposed on purpose.
+type pthread_t = uint64 /* 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
+ __size [4]int8
+} /* 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
+ __size [4]int8
+} /* pthreadtypes.h:45:3 */
+
+// Keys for thread-specific data
+type pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
+
+// Once-only execution
+type pthread_once_t = int32 /* pthreadtypes.h:53:30 */
+
+type pthread_attr_t1 = struct {
+ _ [0]uint64
+ __size [56]int8
}
-var s__106 = [5]byte{0x67, 0x6c, 0x6f, 0x62}
-
-var s__107 = [8]byte{0x6e, 0x6f, 0x74, 0x67, 0x6c, 0x6f, 0x62}
-
-var s__108 = [43]byte{
- 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x25, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x25, 0x73, 0x3a, 0x0a, 0x45,
- 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x5b, 0x25, 0x73, 0x5d, 0x0a, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x47, 0x6f, 0x74, 0x20, 0x5b, 0x25, 0x73, 0x5d,
+type pthread_attr_t = pthread_attr_t1 /* pthreadtypes.h:62:30 */
+
+type pthread_mutex_t = struct {
+ __data struct {
+ __lock int32
+ __count uint32
+ __owner int32
+ __nusers uint32
+ __kind int32
+ __spins int16
+ __elision int16
+ __list struct {
+ __prev uintptr
+ __next uintptr
+ }
+ }
+} /* pthreadtypes.h:72:3 */
+
+type pthread_cond_t = struct {
+ __data struct {
+ __0 struct{ __wseq uint64 }
+ __8 struct{ __g1_start uint64 }
+ __g_refs [2]uint32
+ __g_size [2]uint32
+ __g1_orig_size uint32
+ __wrefs uint32
+ __g_signals [2]uint32
+ }
+} /* pthreadtypes.h:80:3 */
+
+// Data structure for reader-writer lock variable handling. The
+// structure of the attribute type is deliberately not exposed.
+type pthread_rwlock_t = struct {
+ __data struct {
+ __readers uint32
+ __writers uint32
+ __wrphase_futex uint32
+ __writers_futex uint32
+ __pad3 uint32
+ __pad4 uint32
+ __cur_writer int32
+ __shared int32
+ __rwelision int8
+ __pad1 [7]uint8
+ __pad2 uint64
+ __flags uint32
+ _ [4]byte
+ }
+} /* pthreadtypes.h:91:3 */
+
+type pthread_rwlockattr_t = struct {
+ _ [0]uint64
+ __size [8]int8
+} /* pthreadtypes.h:97:3 */
+
+// POSIX spinlock data type.
+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]uint64
+ __size [32]int8
+} /* pthreadtypes.h:112:3 */
+
+type pthread_barrierattr_t = struct {
+ _ [0]uint32
+ __size [4]int8
+} /* pthreadtypes.h:118:3 */
+
+// POSIX.1-2008 extended locale interface (see locale.h).
+// Definition of locale_t.
+// Copyright (C) 2017-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// Definition of struct __locale_struct and __locale_t.
+// Copyright (C) 1997-2018 Free Software Foundation, Inc.
+// This file is part of the GNU C Library.
+// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+//
+// The GNU C Library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// The GNU C Library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with the GNU C Library; if not, see
+// <http://www.gnu.org/licenses/>.
+
+// POSIX.1-2008: the locale_t type, representing a locale context
+// (implementation-namespace version). This type should be treated
+// as opaque by applications; some details are exposed for the sake of
+// efficiency in e.g. ctype functions.
+
+type __locale_struct = struct {
+ __locales [13]uintptr
+ __ctype_b uintptr
+ __ctype_tolower uintptr
+ __ctype_toupper uintptr
+ __names [13]uintptr
}
-var s__109 = [7]byte{0x6f, 0x75, 0x74, 0x70, 0x75, 0x74}
-
-var s__110 = [7]byte{0x73, 0x6f, 0x75, 0x72, 0x63, 0x65}
-
-var s__111 = [8]byte{0x25, 0x2e, 0x2a, 0x73, 0x2f, 0x25, 0x73}
-
-var s__112 = [19]byte{
- 0x62, 0x65, 0x67, 0x69, 0x6e, 0x20, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x5b, 0x25, 0x73,
- 0x5d, 0x0a,
+type locale_t = uintptr /* locale_t.h:24:20 */
+
+// The suffix to append to the child command lines, if any
+
+// The directory separator character(s)
+
+// Mark a parameter as unused to suppress compiler warnings
+
+// Global data
+type Global = struct {
+ argv0 uintptr
+ zVfs uintptr
+ zDbFile uintptr
+ db uintptr
+ zErrLog uintptr
+ pErrLog uintptr
+ zLog uintptr
+ pLog uintptr
+ zName [32]int8
+ taskId int32
+ iTrace int32
+ bSqlTrace int32
+ bIgnoreSqlErrors int32
+ nError int32
+ nTest int32
+ iTimeout int32
+ bSync int32
}
-var s__113 = [17]byte{0x65, 0x6e, 0x64, 0x20, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x5b, 0x25, 0x73, 0x5d, 0x0a}
-
-var s__114 = [6]byte{0x70, 0x72, 0x69, 0x6e, 0x74}
-
-var s__115 = [3]byte{0x69, 0x66}
-
-var s__116 = [12]byte{0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x20, 0x25, 0x2e, 0x2a, 0x73}
+// The suffix to append to the child command lines, if any
-var s__117 = [5]byte{0x65, 0x6c, 0x73, 0x65}
+// The directory separator character(s)
-var s__118 = [6]byte{0x65, 0x6e, 0x64, 0x69, 0x66}
+// Mark a parameter as unused to suppress compiler warnings
-var s__119 = [6]byte{0x73, 0x74, 0x61, 0x72, 0x74}
+// Global data
+var g Global /* mptest.c:90:3: */
-var s__120 = [5]byte{0x77, 0x61, 0x69, 0x74}
+// Default timeout
-var s__121 = [15]byte{0x6c, 0x69, 0x6e, 0x65, 0x20, 0x25, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x25, 0x73, 0x0a}
+// Print a message adding zPrefix[] to the beginning of every line.
+func printWithPrefix(tls *crt.TLS, pOut uintptr, zPrefix uintptr, zMsg uintptr) { /* mptest.c:98:13: */
+ bp := tls.Alloc(24)
+ defer tls.Free(24)
-var s__122 = [5]byte{0x74, 0x61, 0x73, 0x6b}
-
-var s__123 = [37]byte{
- 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x25, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x25, 0x73, 0x3a, 0x20, 0x62,
- 0x61, 0x64, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72,
- 0x3a, 0x20, 0x25, 0x64,
+ for (zMsg != 0) && (*(*int8)(unsafe.Pointer(zMsg + uintptr(0))) != 0) {
+ var i int32
+ for i = 0; ((*(*int8)(unsafe.Pointer(zMsg + uintptr(i))) != 0) && (int32(*(*int8)(unsafe.Pointer(zMsg + uintptr(i)))) != '\n')) && (int32(*(*int8)(unsafe.Pointer(zMsg + uintptr(i)))) != '\r'); i++ {
+ }
+ crt.Xfprintf(tls, pOut, ts /* "%s%.*s\n" */, crt.VaList(bp, zPrefix, i, zMsg))
+ zMsg += uintptr(i)
+ for (int32(*(*int8)(unsafe.Pointer(zMsg + uintptr(0)))) == '\n') || (int32(*(*int8)(unsafe.Pointer(zMsg + uintptr(0)))) == '\r') {
+ zMsg++
+ }
+ }
}
-var s__124 = [6]byte{0x25, 0x73, 0x3a, 0x25, 0x64}
-
-var s__125 = [56]byte{
- 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x20, 0x49, 0x4e, 0x54, 0x4f, 0x20, 0x74, 0x61, 0x73, 0x6b,
- 0x28, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2c, 0x6e,
- 0x61, 0x6d, 0x65, 0x29, 0x20, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x53, 0x28, 0x25, 0x64, 0x2c, 0x27,
- 0x25, 0x71, 0x27, 0x2c, 0x25, 0x51, 0x29,
+// Compare two pointers to strings, where the pointers might be NULL.
+func safe_strcmp(tls *crt.TLS, a uintptr, b uintptr) int32 { /* mptest.c:111:12: */
+ if a == b {
+ return 0
+ }
+ if a == uintptr(0) {
+ return -1
+ }
+ if b == uintptr(0) {
+ return 1
+ }
+ return crt.Xstrcmp(tls, a, b)
}
-var s__126 = [11]byte{0x62, 0x72, 0x65, 0x61, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74}
-
-var s__127 = [16]byte{0x73, 0x68, 0x6f, 0x77, 0x2d, 0x73, 0x71, 0x6c, 0x2d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73}
-
-var s__128 = [36]byte{
- 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x25, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x25, 0x73, 0x3a, 0x20, 0x75,
- 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x20, 0x2d,
- 0x2d, 0x25, 0x73,
+// Return TRUE if string z[] matches glob pattern zGlob[].
+// Return FALSE if the pattern does not match.
+//
+// Globbing rules:
+//
+// '*' Matches any sequence of zero or more characters.
+//
+// '?' Matches exactly one character.
+//
+// [...] Matches one character from the enclosed list of
+// characters.
+//
+// [^...] Matches one character not in the enclosed list.
+//
+// '#' Matches any sequence of one or more digits with an
+// optional + or - sign in front
+func strglob(tls *crt.TLS, zGlob uintptr, z uintptr) int32 { /* mptest.c:136:5: */
+ var c int32
+ var c2 int32
+ var invert int32
+ var seen int32
+
+ for (crt.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(crt.PostIncUintptr(&zGlob, 1)))))) != 0 {
+ if c == '*' {
+ for ((crt.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(crt.PostIncUintptr(&zGlob, 1)))))) == '*') || (c == '?') {
+ if (c == '?') && ((int32(*(*int8)(unsafe.Pointer(crt.PostIncUintptr(&z, 1))))) == 0) {
+ return 0
+ }
+ }
+ if c == 0 {
+ return 1
+ } else if c == '[' {
+ for (*(*int8)(unsafe.Pointer(z)) != 0) && (strglob(tls, (zGlob-uintptr(1)), z) != 0) {
+ z++
+ }
+ return (crt.Bool32((int32(*(*int8)(unsafe.Pointer(z)))) != 0))
+ }
+ for (crt.AssignInt32(&c2, int32(*(*int8)(unsafe.Pointer(crt.PostIncUintptr(&z, 1)))))) != 0 {
+ for c2 != c {
+ c2 = int32(*(*int8)(unsafe.Pointer(crt.PostIncUintptr(&z, 1))))
+ if c2 == 0 {
+ return 0
+ }
+ }
+ if strglob(tls, zGlob, z) != 0 {
+ return 1
+ }
+ }
+ return 0
+ } else if c == '?' {
+ if (int32(*(*int8)(unsafe.Pointer(crt.PostIncUintptr(&z, 1))))) == 0 {
+ return 0
+ }
+ } else if c == '[' {
+ var prior_c int32 = 0
+ seen = 0
+ invert = 0
+ c = int32(*(*int8)(unsafe.Pointer(crt.PostIncUintptr(&z, 1))))
+ if c == 0 {
+ return 0
+ }
+ c2 = int32(*(*int8)(unsafe.Pointer(crt.PostIncUintptr(&zGlob, 1))))
+ if c2 == '^' {
+ invert = 1
+ c2 = int32(*(*int8)(unsafe.Pointer(crt.PostIncUintptr(&zGlob, 1))))
+ }
+ if c2 == ']' {
+ if c == ']' {
+ seen = 1
+ }
+ c2 = int32(*(*int8)(unsafe.Pointer(crt.PostIncUintptr(&zGlob, 1))))
+ }
+ for (c2 != 0) && (c2 != ']') {
+ if (((c2 == '-') && (int32(*(*int8)(unsafe.Pointer(zGlob + uintptr(0)))) != ']')) && (int32(*(*int8)(unsafe.Pointer(zGlob + uintptr(0)))) != 0)) && (prior_c > 0) {
+ c2 = int32(*(*int8)(unsafe.Pointer(crt.PostIncUintptr(&zGlob, 1))))
+ if (c >= prior_c) && (c <= c2) {
+ seen = 1
+ }
+ prior_c = 0
+ } else {
+ if c == c2 {
+ seen = 1
+ }
+ prior_c = c2
+ }
+ c2 = int32(*(*int8)(unsafe.Pointer(crt.PostIncUintptr(&zGlob, 1))))
+ }
+ if (c2 == 0) || ((seen ^ invert) == 0) {
+ return 0
+ }
+ } else if c == '#' {
+ if ((int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '-') || (int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '+')) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(1))))))*2))) & int32(uint16(2048))) != 0) {
+ z++
+ }
+ if !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(0))))))*2))) & int32(uint16(2048))) != 0) {
+ return 0
+ }
+ z++
+ for (int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(0))))))*2))) & int32(uint16(2048))) != 0 {
+ z++
+ }
+ } else {
+ if c != (int32(*(*int8)(unsafe.Pointer(crt.PostIncUintptr(&z, 1))))) {
+ return 0
+ }
+ }
+ }
+ return (crt.Bool32(int32(*(*int8)(unsafe.Pointer(z))) == 0))
}
-func s_findOption(t *crt.TLS, _v1 int64, _v2 int64, _v3 int64, _v4 int32) int64 {
- bp := t.Alloc(48)
- defer t.Free(48)
- var _v19 int32 // %t10
- var _v111 int32 // %t102
- var _v112 int32 // %t103
- var _v113 int64 // %t104
- var _v114 int32 // %t105
- var _v115 int32 // %t106
- var _v116 int32 // %t107
- var _v117 int64 // %t108
- var _v118 int32 // %t109
- var _v20 int32 // %t11
- var _v119 int32 // %t110
- var _v120 int64 // %t111
- var _v121 int64 // %t112
- var _v123 int64 // %t114
- var _v124 int64 // %t115
- var _v125 int64 // %t116
- var _v126 int32 // %t117
- var _v127 int32 // %t118
- var _v128 int64 // %t119
- var _v129 int64 // %t120
- var _v131 int64 // %t122
- var _v132 int32 // %t123
- var _v134 int64 // %t125
- var _v135 int64 // %t126
- var _v136 int32 // %t127
- var _v137 int32 // %t128
- var _v138 int64 // %t129
- var _v26 int64 // %t17
- var _v27 int32 // %t18
- var _v28 int32 // %t19
- var _v29 int32 // %t20
- var _v30 int32 // %t21
- var _v32 int32 // %t23
- var _v33 int32 // %t24
- var _v34 int32 // %t25
- var _v35 int32 // %t26
- var _v36 int64 // %t27
- var _v37 int64 // %t28
- var _v39 int64 // %t30
- var _v40 int64 // %t31
- var _v41 int64 // %t32
- var _v45 int64 // %t36
- var _v46 int64 // %t37
- var _v47 int32 // %t38
- var _v48 int32 // %t39
- var _v13 int32 // %t4
- var _v50 int32 // %t41
- var _v51 int64 // %t42
- var _v52 int64 // %t43
- var _v53 int64 // %t44
- var _v57 int64 // %t48
- var _v58 int64 // %t49
- var _v59 int32 // %t50
- var _v60 int32 // %t51
- var _v62 int32 // %t53
- var _v66 int64 // %t57
- var _v67 int64 // %t58
- var _v68 int32 // %t59
- var _v69 int32 // %t60
- var _v71 int32 // %t62
- var _v72 int64 // %t63
- var _v73 int64 // %t64
- var _v74 int64 // %t65
- var _v75 int64 // %t66
- var _v77 int32 // %t68
- var _v16 int32 // %t7
- var _v79 int32 // %t70
- var _v81 int32 // %t72
- var _v82 int32 // %t73
- var _v84 int32 // %t75
- var _v85 int32 // %t76
- var _v86 int32 // %t77
- var _v88 int64 // %t79
- var _v90 int32 // %t81
- var _v92 int32 // %t83
- var _v93 int64 // %t84
- var _v94 int64 // %t85
- var _v96 int64 // %t87
- var _v97 int64 // %t88
- var _v98 int64 // %t89
- var _v99 int32 // %t90
- var _v100 int64 // %t91
- var _v101 int64 // %t92
- var _v103 int64 // %t94
- var _v104 int64 // %t95
- var _v105 int64 // %t96
- var _v106 int32 // %t97
- var _v108 int32 // %t99
- var _v5 = int64(bp + 8) // %v5
- var _v6 = int64(bp + 12) // %v6
- var _v7 = int64(bp + 16) // %v7
- var _v8 = int64(bp + 24) // %v8
- var _v9 = int64(bp + 32) // %v9
- *(*int64)(unsafe.Pointer(uintptr(_v7))) = int64(0)
- _v13 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- *(*int32)(unsafe.Pointer(uintptr(_v8))) = _v13
- _v16 = crt.Bool32(int32(_v4) == int32(0))
- goto l2
-l2:
- if _v16 != 0 {
- goto l46
+// Close output stream pOut if it is not stdout or stderr
+func maybeClose(tls *crt.TLS, pOut uintptr) { /* mptest.c:208:13: */
+ if (pOut != crt.Xstdout) && (pOut != crt.Xstderr) {
+ crt.Xfclose(tls, pOut)
}
- goto l3
-l46:
- _v20 = 1
- goto l6
-l3:
- _v19 = crt.Bool32(int32(_v4) == int32(1))
- goto l4
-l4:
- if _v19 != 0 {
- goto l47
- }
- goto l5
-l47:
- _v20 = 1
- goto l6
-l5:
- _v20 = 0
- goto l6
-l6:
- goto l7
-l7:
- if _v20 != 0 {
- goto l8
- }
- goto l10
-l8:
- goto l9
-l9:
- goto l12
-l10:
- crt.X__assert_fail(t, int64(uintptr(unsafe.Pointer(&s__130))), int64(uintptr(unsafe.Pointer(&s__44))), 1211, int64(uintptr(unsafe.Pointer(&s__129))))
- goto l11
-l11:
- goto l12
-l12:
- _v26 = int64(_v5 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v26))) = 0
- goto l13
-l13:
- _v27 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v28 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v29 = crt.Bool32(int32(_v27) < int32(_v28))
- if _v29 != 0 {
- goto l14
- }
- goto l43
-l14:
- _v30 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v32 = int32(int32(_v30) + int32(_v4))
- _v33 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v34 = crt.Bool32(int32(_v32) >= int32(_v33))
- if _v34 != 0 {
- goto l15
- }
- goto l17
-l15:
- goto l43
-l17:
- _v35 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v36 = int64(int32(_v35))
- _v37 = int64(_v36 * int64(8))
- _v39 = int64(_v1 + _v37)
- _v40 = *(*int64)(unsafe.Pointer(uintptr(_v39)))
- _v41 = int64(_v9 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v41))) = _v40
- _v45 = *(*int64)(unsafe.Pointer(uintptr(_v9)))
- _v46 = int64(_v45 + int64(0))
- _v47 = int32(*(*int8)(unsafe.Pointer(uintptr(_v46))))
- _v48 = int32(int8(_v47))
- _v50 = crt.Bool32(int32(_v48) != int32(45))
- if _v50 != 0 {
- goto l18
- }
- goto l20
-l18:
- goto l42
-l20:
- _v51 = int64(_v9 + int64(0))
- _v52 = *(*int64)(unsafe.Pointer(uintptr(_v51)))
- _v53 = int64(_v52 + int64(1))
- *(*int64)(unsafe.Pointer(uintptr(_v51))) = _v53
- _v57 = *(*int64)(unsafe.Pointer(uintptr(_v9)))
- _v58 = int64(_v57 + int64(0))
- _v59 = int32(*(*int8)(unsafe.Pointer(uintptr(_v58))))
- _v60 = int32(int8(_v59))
- _v62 = crt.Bool32(int32(_v60) == int32(45))
- if _v62 != 0 {
- goto l21
- }
- goto l25
-l21:
- _v66 = *(*int64)(unsafe.Pointer(uintptr(_v9)))
- _v67 = int64(_v66 + int64(1))
- _v68 = int32(*(*int8)(unsafe.Pointer(uintptr(_v67))))
- _v69 = int32(int8(_v68))
- _v71 = crt.Bool32(int32(_v69) == int32(0))
- if _v71 != 0 {
- goto l22
- }
- goto l24
-l22:
- goto l43
-l24:
- _v72 = int64(_v9 + int64(0))
- _v73 = *(*int64)(unsafe.Pointer(uintptr(_v72)))
- _v74 = int64(_v73 + int64(1))
- *(*int64)(unsafe.Pointer(uintptr(_v72))) = _v74
- goto l25
-l25:
- _v75 = *(*int64)(unsafe.Pointer(uintptr(_v9)))
- _v77 = crt.Xstrcmp(t, _v75, _v3)
- _v79 = crt.Bool32(int32(_v77) == int32(0))
- if _v79 != 0 {
- goto l26
- }
- goto l41
-l26:
- goto l27
-l27:
- if _v4 != 0 {
- goto l28
- }
- goto l48
-l48:
- _v86 = 0
- goto l31
-l28:
- _v81 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v82 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v84 = int32(int32(_v82) - int32(1))
- _v85 = crt.Bool32(int32(_v81) == int32(_v84))
- goto l29
-l29:
- if _v85 != 0 {
- goto l30
- }
- goto l49
-l49:
- _v86 = 0
- goto l31
-l30:
- _v86 = 1
- goto l31
-l31:
- if _v86 != 0 {
- goto l32
- }
- goto l33
-l32:
- _v88 = *(*int64)(unsafe.Pointer(uintptr(_v9)))
- *(*int64)(unsafe.Pointer(bp + 0)) = _v88
- s_fatalError(t, int64(uintptr(unsafe.Pointer(&s__131))), bp+0)
- goto l33
-l33:
- if _v4 != 0 {
- goto l34
- }
- goto l35
-l34:
- _v90 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v92 = int32(int32(_v90) + int32(1))
- _v93 = int64(int32(_v92))
- _v94 = int64(_v93 * int64(8))
- _v96 = int64(_v1 + _v94)
- _v97 = *(*int64)(unsafe.Pointer(uintptr(_v96)))
- _v98 = int64(_v7 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v98))) = _v97
- goto l36
-l35:
- _v99 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v100 = int64(int32(_v99))
- _v101 = int64(_v100 * int64(8))
- _v103 = int64(_v1 + _v101)
- _v104 = *(*int64)(unsafe.Pointer(uintptr(_v103)))
- _v105 = int64(_v7 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v105))) = _v104
- goto l36
-l36:
- _v106 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v108 = int32(int32(_v106) + int32(1))
- _v111 = crt.Bool32(int32(_v4) != int32(0))
- _v112 = int32(int32(_v108) + int32(_v111))
- _v113 = int64(_v6 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v113))) = _v112
- goto l37
-l37:
- _v114 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v115 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v116 = crt.Bool32(int32(_v114) < int32(_v115))
- if _v116 != 0 {
- goto l38
- }
- goto l39
-l38:
- _v117 = int64(_v6 + int64(0))
- _v118 = *(*int32)(unsafe.Pointer(uintptr(_v117)))
- _v119 = int32(int32(_v118) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v117))) = _v119
- _v120 = int64(int32(_v118))
- _v121 = int64(_v120 * int64(8))
- _v123 = int64(_v1 + _v121)
- _v124 = *(*int64)(unsafe.Pointer(uintptr(_v123)))
- _v125 = int64(_v5 + int64(0))
- _v126 = *(*int32)(unsafe.Pointer(uintptr(_v125)))
- _v127 = int32(int32(_v126) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v125))) = _v127
- _v128 = int64(int32(_v126))
- _v129 = int64(_v128 * int64(8))
- _v131 = int64(_v1 + _v129)
- *(*int64)(unsafe.Pointer(uintptr(_v131))) = _v124
- goto l37
-l39:
- _v132 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- *(*int32)(unsafe.Pointer(uintptr(_v2))) = _v132
- _v134 = *(*int64)(unsafe.Pointer(uintptr(_v7)))
- return _v134
-l41:
- goto l42
-l42:
- _v135 = int64(_v5 + int64(0))
- _v136 = *(*int32)(unsafe.Pointer(uintptr(_v135)))
- _v137 = int32(int32(_v136) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v135))) = _v137
- goto l13
-l43:
- _v138 = *(*int64)(unsafe.Pointer(uintptr(_v7)))
- return _v138
}
-var s__129 = [11]byte{0x66, 0x69, 0x6e, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e}
+// Print an error message
+func errorMessage(tls *crt.TLS, zFormat uintptr, va uintptr) { /* mptest.c:215:13: */
+ bp := tls.Alloc(38)
+ defer tls.Free(38)
+
+ var ap va_list
+ _ = ap
+ var zMsg uintptr
+ // var zPrefix [30]int8 at bp+8, 30
+
+ ap = va
+ zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
+ _ = ap
+ sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zPrefix[0] */, ts+8 /* "%s:ERROR: " */, crt.VaList(bp, uintptr(unsafe.Pointer(&g))+64 /* &.zName */))
+ if g.pLog != 0 {
+ printWithPrefix(tls, g.pLog, bp+8 /* &zPrefix[0] */, zMsg)
+ crt.Xfflush(tls, g.pLog)
+ }
+ if (g.pErrLog != 0) && (safe_strcmp(tls, g.zErrLog, g.zLog) != 0) {
+ printWithPrefix(tls, g.pErrLog, bp+8 /* &zPrefix[0] */, zMsg)
+ crt.Xfflush(tls, g.pErrLog)
+ }
+ sqlite3.Xsqlite3_free(tls, zMsg)
+ g.nError++
+}
-var s__130 = [23]byte{
- 0x68, 0x61, 0x73, 0x41, 0x72, 0x67, 0x3d, 0x3d, 0x30, 0x20, 0x7c, 0x7c, 0x20, 0x68, 0x61, 0x73,
- 0x41, 0x72, 0x67, 0x3d, 0x3d, 0x31,
+// Print an error message and then quit.
+func fatalError(tls *crt.TLS, zFormat uintptr, va uintptr) { /* mptest.c:241:13: */
+ bp := tls.Alloc(38)
+ defer tls.Free(38)
+
+ var ap va_list
+ _ = ap
+ var zMsg uintptr
+ // var zPrefix [30]int8 at bp+8, 30
+
+ ap = va
+ zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
+ _ = ap
+ sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zPrefix[0] */, ts+19 /* "%s:FATAL: " */, crt.VaList(bp, uintptr(unsafe.Pointer(&g))+64 /* &.zName */))
+ if g.pLog != 0 {
+ printWithPrefix(tls, g.pLog, bp+8 /* &zPrefix[0] */, zMsg)
+ crt.Xfflush(tls, g.pLog)
+ maybeClose(tls, g.pLog)
+ }
+ if (g.pErrLog != 0) && (safe_strcmp(tls, g.zErrLog, g.zLog) != 0) {
+ printWithPrefix(tls, g.pErrLog, bp+8 /* &zPrefix[0] */, zMsg)
+ crt.Xfflush(tls, g.pErrLog)
+ maybeClose(tls, g.pErrLog)
+ }
+ sqlite3.Xsqlite3_free(tls, zMsg)
+ if g.db != 0 {
+ var nTry int32 = 0
+ g.iTimeout = 0
+ for (trySql(tls, ts+30 /* "UPDATE client SE..." */, 0) == 5) &&
+ ((crt.PostIncInt32(&nTry, 1)) < 100) {
+ sqlite3.Xsqlite3_sleep(tls, 10)
+ }
+ }
+ sqlite3.Xsqlite3_close(tls, g.db)
+ crt.Xexit(tls, 1)
}
-var s__131 = [48]byte{
- 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2d, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x6f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x20, 0x22, 0x2d, 0x2d, 0x25, 0x73, 0x22, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69,
- 0x72, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74,
+// Print a log message
+func logMessage(tls *crt.TLS, zFormat uintptr, va uintptr) { /* mptest.c:276:13: */
+ bp := tls.Alloc(38)
+ defer tls.Free(38)
+
+ var ap va_list
+ _ = ap
+ var zMsg uintptr
+ // var zPrefix [30]int8 at bp+8, 30
+
+ ap = va
+ zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
+ _ = ap
+ sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zPrefix[0] */, ts+60 /* "%s: " */, crt.VaList(bp, uintptr(unsafe.Pointer(&g))+64 /* &.zName */))
+ if g.pLog != 0 {
+ printWithPrefix(tls, g.pLog, bp+8 /* &zPrefix[0] */, zMsg)
+ crt.Xfflush(tls, g.pLog)
+ }
+ sqlite3.Xsqlite3_free(tls, zMsg)
}
-func s_usage(t *crt.TLS, _v1 int64) {
- bp := t.Alloc(32)
- defer t.Free(32)
- var _v13 int32 // %t10
- var _v14 int64 // %t11
- var _v15 int64 // %t12
- var _v17 int64 // %t14
- var _v18 int32 // %t15
- var _v19 int32 // %t16
- var _v21 int32 // %t18
- var _v23 int32 // %t20
- var _v24 int64 // %t21
- var _v25 int64 // %t22
- var _v28 int64 // %t25
- var _v29 int64 // %t26
- var _v30 int64 // %t27
- var _v31 int32 // %t28
- var _v32 int32 // %t29
- var _v6 int64 // %t3
- var _v33 int64 // %t30
- var _v35 int64 // %t32
- var _v37 int64 // %t34
- var _v7 int32 // %t4
- var _v8 int64 // %t5
- var _v9 int64 // %t6
- var _v11 int64 // %t8
- var _v12 int32 // %t9
- var _v2 = int64(bp + 8) // %v2
- var _v3 = int64(bp + 16) // %v3
- *(*int64)(unsafe.Pointer(uintptr(_v3))) = _v1
- _v6 = int64(_v2 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v6))) = 0
- goto l2
-l2:
- _v7 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v8 = int64(int32(_v7))
- _v9 = int64(_v8 * int64(1))
- _v11 = int64(_v1 + _v9)
- _v12 = int32(*(*int8)(unsafe.Pointer(uintptr(_v11))))
- if _v12 != 0 {
- goto l3
- }
- goto l7
-l3:
- _v13 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v14 = int64(int32(_v13))
- _v15 = int64(_v14 * int64(1))
- _v17 = int64(_v1 + _v15)
- _v18 = int32(*(*int8)(unsafe.Pointer(uintptr(_v17))))
- _v19 = int32(int8(_v18))
- _v21 = crt.Bool32(int32(_v19) == int32(47))
- if _v21 != 0 {
- goto l4
+// Return the length of a string omitting trailing whitespace
+func clipLength(tls *crt.TLS, z uintptr) int32 { /* mptest.c:294:12: */
+ var n int32 = int32(crt.Xstrlen(tls, z))
+ for (n > 0) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr((n - 1)))))))*2))) & int32(uint16(8192))) != 0) {
+ n--
}
- goto l5
-l4:
- _v23 = *(*int32)(unsafe.Pointer(uintptr(_v2)))
- _v24 = int64(int32(_v23))
- _v25 = int64(_v1 + _v24)
- _v28 = int64(_v25 + int64(1))
- _v29 = int64(_v3 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v29))) = _v28
- goto l5
-l5:
- goto l6
-l6:
- _v30 = int64(_v2 + int64(0))
- _v31 = *(*int32)(unsafe.Pointer(uintptr(_v30)))
- _v32 = int32(int32(_v31) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v30))) = _v32
- goto l2
-l7:
- _v33 = *(*int64)(unsafe.Pointer(&crt.Xstderr))
- _v35 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- *(*int64)(unsafe.Pointer(bp + 0)) = _v35
-
- _ = crt.Xfprintf(t, _v33, int64(uintptr(unsafe.Pointer(&s__133))), bp+0)
- _v37 = *(*int64)(unsafe.Pointer(&crt.Xstderr))
-
- _ = crt.Xfprintf(t, _v37, int64(uintptr(unsafe.Pointer(&s__134))), 0)
- crt.Xexit(t, 1)
- goto l8
-l8:
+ return n
}
-var s__132 = [6]byte{0x75, 0x73, 0x61, 0x67, 0x65}
+// Auxiliary SQL function to return the name of the VFS
+func vfsNameFunc(tls *crt.TLS, context uintptr, argc int32, argv uintptr) { /* mptest.c:303:13: */
+ bp := tls.Alloc(8)
+ defer tls.Free(8)
-var s__133 = [39]byte{
- 0x55, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x25, 0x73, 0x20, 0x44, 0x41, 0x54, 0x41, 0x42, 0x41,
- 0x53, 0x45, 0x20, 0x3f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x3f, 0x20, 0x3f, 0x53, 0x43,
- 0x52, 0x49, 0x50, 0x54, 0x3f, 0x0a,
+ var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context)
+ *(*uintptr)(unsafe.Pointer(bp /* zVfs */)) = uintptr(0)
+ _ = argc
+ _ = argv
+ sqlite3.Xsqlite3_file_control(tls, db, ts+65 /* "main" */, 12, bp /* &zVfs */)
+ if *(*uintptr)(unsafe.Pointer(bp /* zVfs */)) != 0 {
+ sqlite3.Xsqlite3_result_text(tls, context, *(*uintptr)(unsafe.Pointer(bp /* zVfs */)), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*crt.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
+ }
}
-var s__134 = [572]byte{
- 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x65, 0x72,
- 0x72, 0x6c, 0x6f, 0x67, 0x20, 0x46, 0x49, 0x4c, 0x45, 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x57, 0x72, 0x69, 0x74, 0x65, 0x20, 0x65, 0x72,
- 0x72, 0x6f, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x46, 0x49, 0x4c, 0x45, 0x4e, 0x41, 0x4d, 0x45,
- 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x6d, 0x6f, 0x64,
- 0x65, 0x20, 0x4d, 0x4f, 0x44, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x55, 0x73, 0x65, 0x20, 0x4d, 0x4f, 0x44, 0x45, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20,
- 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x0a, 0x20, 0x20, 0x20,
- 0x2d, 0x2d, 0x6c, 0x6f, 0x67, 0x20, 0x46, 0x49, 0x4c, 0x45, 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x6f, 0x67, 0x20,
- 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x46, 0x49, 0x4c, 0x45,
- 0x4e, 0x41, 0x4d, 0x45, 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x71, 0x75, 0x69, 0x65, 0x74, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x53, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x20, 0x75, 0x6e, 0x6e,
- 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x0a,
- 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x76, 0x66, 0x73, 0x20, 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x55,
- 0x73, 0x65, 0x20, 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x56,
- 0x46, 0x53, 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x20, 0x4e,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x73,
- 0x74, 0x20, 0x4e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x73,
- 0x71, 0x6c, 0x74, 0x72, 0x61, 0x63, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x20,
- 0x53, 0x51, 0x4c, 0x20, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x2d,
- 0x2d, 0x73, 0x79, 0x6e, 0x63, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x61, 0x62, 0x6c,
- 0x65, 0x20, 0x73, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x6f, 0x75, 0x73, 0x20, 0x64, 0x69,
- 0x73, 0x6b, 0x20, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x74,
- 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x20, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x42, 0x75, 0x73, 0x79, 0x20, 0x74, 0x69,
- 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x20, 0x69, 0x73, 0x20, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45,
- 0x43, 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x74, 0x72, 0x61, 0x63, 0x65, 0x20, 0x42, 0x4f, 0x4f,
- 0x4c, 0x45, 0x41, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x64, 0x69, 0x73, 0x61, 0x62,
- 0x6c, 0x65, 0x20, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x0a,
-}
+// Busy handler with a g.iTimeout-millisecond timeout
+func busyHandler(tls *crt.TLS, pCD uintptr, count int32) int32 { /* mptest.c:321:12: */
+ bp := tls.Alloc(8)
+ defer tls.Free(8)
-func s_unrecognizedArguments(t *crt.TLS, _v1 int64, _v2 int32, _v3 int64) {
- bp := t.Alloc(32)
- defer t.Free(32)
- var _v5 int64 // %t1
- var _v14 int64 // %t10
- var _v16 int32 // %t12
- var _v17 int64 // %t13
- var _v18 int64 // %t14
- var _v20 int64 // %t16
- var _v21 int64 // %t17
- var _v23 int64 // %t19
- var _v24 int32 // %t20
- var _v25 int32 // %t21
- var _v26 int64 // %t22
- var _v10 int64 // %t6
- var _v11 int32 // %t7
- var _v13 int32 // %t9
- var _v4 = int64(bp + 16) // %v4
- _v5 = *(*int64)(unsafe.Pointer(&crt.Xstderr))
- *(*int64)(unsafe.Pointer(bp + 0)) = _v1
-
- _ = crt.Xfprintf(t, _v5, int64(uintptr(unsafe.Pointer(&s__136))), bp+0)
- _v10 = int64(_v4 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v10))) = 0
- goto l2
-l2:
- _v11 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v13 = crt.Bool32(int32(_v11) < int32(_v2))
- if _v13 != 0 {
- goto l3
+ _ = pCD
+ if (count * 10) > g.iTimeout {
+ if g.iTimeout > 0 {
+ errorMessage(tls, ts+70 /* "timeout after %d..." */, crt.VaList(bp, g.iTimeout))
+ }
+ return 0
}
- goto l5
-l3:
- _v14 = *(*int64)(unsafe.Pointer(&crt.Xstderr))
- _v16 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v17 = int64(int32(_v16))
- _v18 = int64(_v17 * int64(8))
- _v20 = int64(_v3 + _v18)
- _v21 = *(*int64)(unsafe.Pointer(uintptr(_v20)))
- *(*int64)(unsafe.Pointer(bp + 8)) = _v21
-
- _ = crt.Xfprintf(t, _v14, int64(uintptr(unsafe.Pointer(&s__137))), bp+8)
- goto l4
-l4:
- _v23 = int64(_v4 + int64(0))
- _v24 = *(*int32)(unsafe.Pointer(uintptr(_v23)))
- _v25 = int32(int32(_v24) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v23))) = _v25
- goto l2
-l5:
- _v26 = *(*int64)(unsafe.Pointer(&crt.Xstderr))
-
- _ = crt.Xfprintf(t, _v26, int64(uintptr(unsafe.Pointer(&s__138))), 0)
- crt.Xexit(t, 1)
- goto l6
-l6:
+ sqlite3.Xsqlite3_sleep(tls, 10)
+ return 1
}
-var s__135 = [22]byte{
- 0x75, 0x6e, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x72, 0x67, 0x75,
- 0x6d, 0x65, 0x6e, 0x74, 0x73,
-}
+// SQL Trace callback
+func sqlTraceCallback(tls *crt.TLS, NotUsed1 uintptr, zSql uintptr) { /* mptest.c:334:13: */
+ bp := tls.Alloc(16)
+ defer tls.Free(16)
-var s__136 = [28]byte{
- 0x25, 0x73, 0x3a, 0x20, 0x75, 0x6e, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x64,
- 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a,
+ _ = NotUsed1
+ logMessage(tls, ts+89 /* "[%.*s]" */, crt.VaList(bp, clipLength(tls, zSql), zSql))
}
-var s__137 = [4]byte{0x20, 0x25, 0x73}
-
-var s__138 = [2]byte{0x0a}
-
-func Xmain(t *crt.TLS, _v1 int32, _v2 int64) int32 {
- bp := t.Alloc(368)
- defer t.Free(368)
- var _v122 int64 // %t100
- var _v125 int64 // %t103
- var _v132 int64 // %t110
- var _v133 int64 // %t111
- var _v136 int64 // %t114
- var _v137 int64 // %t115
- var _v142 int64 // %t120
- var _v143 int64 // %t121
- var _v146 int64 // %t124
- var _v153 int64 // %t131
- var _v154 int64 // %t132
- var _v157 int64 // %t135
- var _v164 int64 // %t142
- var _v165 int64 // %t143
- var _v168 int64 // %t146
- var _v169 int64 // %t147
- var _v170 int64 // %t148
- var _v171 int32 // %t149
- var _v172 int64 // %t150
- var _v173 int32 // %t151
- var _v180 int64 // %t158
- var _v181 int64 // %t159
- var _v184 int64 // %t162
- var _v187 int32 // %t165
- var _v39 int32 // %t17
- var _v195 int64 // %t173
- var _v196 int64 // %t174
- var _v199 int64 // %t177
- var _v200 int64 // %t178
- var _v201 int64 // %t179
- var _v202 int32 // %t180
- var _v203 int64 // %t181
- var _v204 int32 // %t182
- var _v205 int64 // %t183
- var _v210 int64 // %t188
- var _v211 int64 // %t189
- var _v214 int64 // %t192
- var _v217 int32 // %t195
- var _v224 int64 // %t202
- var _v225 int64 // %t203
- var _v228 int64 // %t206
- var _v231 int32 // %t209
- var _v236 int64 // %t214
- var _v237 int32 // %t215
- var _v240 int64 // %t218
- var _v44 int64 // %t22
- var _v242 int64 // %t220
- var _v245 int64 // %t223
- var _v250 int64 // %t228
- var _v251 int32 // %t229
- var _v45 int64 // %t23
- var _v254 int64 // %t232
- var _v256 int64 // %t234
- var _v259 int64 // %t237
- var _v266 int64 // %t244
- var _v267 int32 // %t245
- var _v268 int64 // %t246
- var _v269 int32 // %t247
- var _v270 int64 // %t248
- var _v271 int32 // %t249
- var _v273 int32 // %t251
- var _v275 int32 // %t253
- var _v281 int32 // %t259
- var _v282 int32 // %t260
- var _v287 int32 // %t265
- var _v289 int32 // %t267
- var _v295 int64 // %t273
- var _v296 int64 // %t274
- var _v299 int64 // %t277
- var _v300 int32 // %t278
- var _v50 int64 // %t28
- var _v302 int32 // %t280
- var _v304 int32 // %t282
- var _v305 int64 // %t283
- var _v306 int64 // %t284
- var _v308 int64 // %t286
- var _v309 int64 // %t287
- var _v311 int64 // %t289
- var _v51 int64 // %t29
- var _v312 int32 // %t290
- var _v313 int32 // %t291
- var _v319 int64 // %t297
- var _v320 int32 // %t298
- var _v321 int64 // %t299
- var _v322 int64 // %t300
- var _v323 int64 // %t301
- var _v326 int32 // %t304
- var _v328 int64 // %t306
- var _v330 int64 // %t308
- var _v331 int32 // %t309
- var _v332 int32 // %t310
- var _v333 int64 // %t311
- var _v336 int64 // %t314
- var _v337 int32 // %t315
- var _v339 int32 // %t317
- var _v341 int32 // %t319
- var _v343 int32 // %t321
- var _v345 int32 // %t323
- var _v348 int64 // %t326
- var _v351 int64 // %t329
- var _v355 int64 // %t333
- var _v356 int32 // %t334
- var _v357 int64 // %t335
- var _v358 int32 // %t336
- var _v359 int64 // %t337
- var _v360 int32 // %t338
- var _v362 int32 // %t340
- var _v363 int32 // %t341
- var _v365 int64 // %t343
- var _v366 int32 // %t344
- var _v368 int32 // %t346
- var _v369 int64 // %t347
- var _v370 int32 // %t348
- var _v371 int32 // %t349
- var _v57 int64 // %t35
- var _v372 int32 // %t350
- var _v374 int32 // %t352
- var _v375 int32 // %t353
- var _v377 int32 // %t355
- var _v379 int32 // %t357
- var _v380 int32 // %t358
- var _v381 int32 // %t359
- var _v58 int32 // %t36
- var _v383 int32 // %t361
- var _v387 int64 // %t365
- var _v388 int32 // %t366
- var _v390 int64 // %t368
- var _v391 int32 // %t369
- var _v392 int32 // %t370
- var _v395 int64 // %t373
- var _v398 int32 // %t376
- var _v401 int64 // %t379
- var _v402 int32 // %t380
- var _v403 int64 // %t381
- var _v404 int32 // %t382
- var _v408 int64 // %t386
- var _v409 int32 // %t387
- var _v411 int32 // %t389
- var _v414 int64 // %t392
- var _v415 int32 // %t393
- var _v417 int64 // %t395
- var _v418 int32 // %t396
- var _v420 int64 // %t398
- var _v423 int32 // %t401
- var _v424 int32 // %t402
- var _v429 int64 // %t407
- var _v63 int64 // %t41
- var _v434 int64 // %t412
- var _v441 int64 // %t419
- var _v64 int64 // %t42
- var _v65 int64 // %t43
- var _v455 int64 // %t433
- var _v67 int32 // %t45
- var _v472 int32 // %t450
- var _v475 int64 // %t453
- var _v480 int32 // %t458
- var _v482 int32 // %t460
- var _v483 int32 // %t461
- var _v485 int32 // %t463
- var _v490 int64 // %t468
- var _v491 int64 // %t469
- var _v69 int32 // %t47
- var _v492 int32 // %t470
- var _v497 int64 // %t475
- var _v500 int32 // %t478
- var _v70 int64 // %t48
- var _v505 int32 // %t483
- var _v506 int64 // %t484
- var _v507 int64 // %t485
- var _v508 int64 // %t486
- var _v509 int32 // %t487
- var _v510 int64 // %t488
- var _v511 int32 // %t489
- var _v513 int32 // %t491
- var _v516 int32 // %t494
- var _v518 int64 // %t496
- var _v519 int32 // %t497
- var _v520 int32 // %t498
- var _v521 int32 // %t499
- var _v72 int64 // %t50
- var _v522 int64 // %t500
- var _v523 int64 // %t501
- var _v526 int32 // %t504
- var _v528 int64 // %t506
- var _v529 int32 // %t507
- var _v530 int32 // %t508
- var _v531 int32 // %t509
- var _v534 int64 // %t512
- var _v539 int32 // %t517
- var _v541 int32 // %t519
- var _v543 int32 // %t521
- var _v545 int32 // %t523
- var _v547 int32 // %t525
- var _v552 int64 // %t530
- var _v553 int64 // %t531
- var _v554 int32 // %t532
- var _v559 int64 // %t537
- var _v565 int64 // %t543
- var _v566 int64 // %t544
- var _v567 int64 // %t545
- var _v568 int64 // %t546
- var _v570 int64 // %t548
- var _v571 int32 // %t549
- var _v572 int32 // %t550
- var _v573 int32 // %t551
- var _v576 int32 // %t554
- var _v78 int32 // %t56
- var _v582 int64 // %t560
- var _v583 int64 // %t561
- var _v584 int32 // %t562
- var _v587 int64 // %t565
- var _v79 int64 // %t57
- var _v592 int64 // %t570
- var _v593 int64 // %t571
- var _v596 int32 // %t574
- var _v602 int64 // %t580
- var _v603 int64 // %t581
- var _v604 int32 // %t582
- var _v605 int64 // %t583
- var _v606 int32 // %t584
- var _v607 int32 // %t585
- var _v608 int64 // %t586
- var _v620 int64 // %t598
- var _v622 int32 // %t600
- var _v623 int64 // %t601
- var _v624 int32 // %t602
- var _v626 int32 // %t604
- var _v627 int32 // %t605
- var _v629 int32 // %t607
- var _v630 int32 // %t608
- var _v631 int32 // %t609
- var _v633 int32 // %t611
- var _v634 int32 // %t612
- var _v638 int64 // %t616
- var _v639 int32 // %t617
- var _v640 int32 // %t618
- var _v644 int64 // %t622
- var _v645 int64 // %t623
- var _v647 int64 // %t625
- var _v648 int64 // %t626
- var _v649 int32 // %t627
- var _v650 int64 // %t628
- var _v651 int32 // %t629
- var _v85 int32 // %t63
- var _v653 int32 // %t631
- var _v654 int32 // %t632
- var _v656 int32 // %t634
- var _v657 int32 // %t635
- var _v661 int64 // %t639
- var _v662 int32 // %t640
- var _v663 int32 // %t641
- var _v664 int32 // %t642
- var _v666 int32 // %t644
- var _v667 int64 // %t645
- var _v669 int32 // %t647
- var _v672 int32 // %t650
- var _v673 int32 // %t651
- var _v674 int64 // %t652
- var _v676 int32 // %t654
- var _v679 int32 // %t657
- var _v680 int32 // %t658
- var _v681 int64 // %t659
- var _v685 int64 // %t663
- var _v689 int64 // %t667
- var _v692 int64 // %t670
- var _v693 int32 // %t671
- var _v695 int32 // %t673
- var _v699 int32 // %t677
- var _v702 int32 // %t680
- var _v709 int64 // %t687
- var _v710 int64 // %t688
- var _v91 int64 // %t69
- var _v713 int64 // %t691
- var _v714 int32 // %t692
- var _v716 int32 // %t694
- var _v718 int32 // %t696
- var _v719 int64 // %t697
- var _v720 int64 // %t698
- var _v92 int64 // %t70
- var _v722 int64 // %t700
- var _v723 int64 // %t701
- var _v725 int64 // %t703
- var _v726 int32 // %t704
- var _v727 int32 // %t705
- var _v732 int32 // %t710
- var _v734 int32 // %t712
- var _v95 int64 // %t73
- var _v96 int64 // %t74
- var _v101 int64 // %t79
- var _v30 int64 // %t8
- var _v102 int64 // %t80
- var _v105 int64 // %t83
- var _v106 int64 // %t84
- var _v107 int64 // %t85
- var _v108 int32 // %t86
- var _v109 int64 // %t87
- var _v110 int32 // %t88
- var _v111 int64 // %t89
- var _v31 int64 // %t9
- var _v112 int32 // %t90
- var _v114 int32 // %t92
- var _v116 int64 // %t94
- var _v121 int64 // %t99
- var _v10 = int64(bp + 272) // %v10
- var _v11 = int64(bp + 280) // %v11
- var _v12 = int64(bp + 288) // %v12
- var _v13 = int64(bp + 296) // %v13
- var _v14 = int64(bp + 304) // %v14
- var _v15 = int64(bp + 312) // %v15
- var _v16 = int64(bp + 316) // %v16
- var _v17 = int64(bp + 320) // %v17
- var _v18 = int64(bp + 328) // %v18
- var _v19 = int64(bp + 336) // %v19
- var _v20 = int64(bp + 344) // %v20
- var _v21 = int64(bp + 352) // %v21
- var _v22 = int64(bp + 360) // %v22
- var _v3 = int64(bp + 232) // %v3
- var _v4 = int64(bp + 240) // %v4
- var _v5 = int64(bp + 244) // %v5
- var _v6 = int64(bp + 248) // %v6
- var _v7 = int64(bp + 252) // %v7
- var _v8 = int64(bp + 256) // %v8
- var _v9 = int64(bp + 264) // %v9
- *(*int32)(unsafe.Pointer(uintptr(_v7))) = 2
- *(*int32)(unsafe.Pointer(uintptr(_v15))) = 1
- *(*int32)(unsafe.Pointer(uintptr(_v17))) = 0
- _v30 = int64(_v2 + int64(0))
- _v31 = *(*int64)(unsafe.Pointer(uintptr(_v30)))
- *(*int64)(unsafe.Pointer(&s_g)) = _v31
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 100)) = 1
- _v39 = crt.Bool32(int32(_v1) < int32(2))
- if _v39 != 0 {
- goto l2
- }
- goto l3
-l2:
- _v44 = int64(_v2 + int64(0))
- _v45 = *(*int64)(unsafe.Pointer(uintptr(_v44)))
- s_usage(t, _v45)
- goto l3
-l3:
- _v50 = int64(_v2 + int64(8))
- _v51 = *(*int64)(unsafe.Pointer(uintptr(_v50)))
- *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 16)) = _v51
- _v57 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 16))
- _v58 = Xstrglob(t, int64(uintptr(unsafe.Pointer(&s__140))), _v57)
- if _v58 != 0 {
- goto l4
- }
- goto l5
-l4:
- _v63 = int64(_v2 + int64(0))
- _v64 = *(*int64)(unsafe.Pointer(uintptr(_v63)))
- s_usage(t, _v64)
- goto l5
-l5:
- _v65 = Xsqlite3_sourceid(t)
- _v67 = crt.Xstrcmp(t, _v65, int64(uintptr(unsafe.Pointer(&s__141))))
- _v69 = crt.Bool32(int32(_v67) != int32(0))
- if _v69 != 0 {
- goto l6
- }
- goto l7
-l6:
- _v70 = *(*int64)(unsafe.Pointer(&crt.Xstderr))
- _v72 = Xsqlite3_sourceid(t)
- *(*int64)(unsafe.Pointer(bp + 0)) = _v72
-
- *(*int64)(unsafe.Pointer(bp + 8)) = int64(uintptr(unsafe.Pointer(&s__141)))
-
- _ = crt.Xfprintf(t, _v70, int64(uintptr(unsafe.Pointer(&s__142))), bp+0)
- crt.Xexit(t, 1)
- goto l7
-l7:
- _v78 = int32(int32(_v1) - int32(2))
- _v79 = int64(_v5 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v79))) = _v78
- _v85 = crt.Xgetpid(t)
- *(*int32)(unsafe.Pointer(bp + 16)) = _v85
-
- _ = Xsqlite3_snprintf(t, 32, int64(uintptr(unsafe.Pointer(&s_g))+64), int64(uintptr(unsafe.Pointer(&s__143))), bp+16)
- _v91 = int64(_v2 + int64(16))
- _v92 = int64(_v5 + int64(0))
- _v95 = s_findOption(t, _v91, _v92, int64(uintptr(unsafe.Pointer(&s__144))), 1)
- _v96 = int64(_v13 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v96))) = _v95
- _v101 = int64(_v2 + int64(16))
- _v102 = int64(_v5 + int64(0))
- _v105 = s_findOption(t, _v101, _v102, int64(uintptr(unsafe.Pointer(&s__145))), 1)
- _v106 = int64(_v14 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v106))) = _v105
- _v107 = *(*int64)(unsafe.Pointer(uintptr(_v14)))
- _v108 = crt.Bool32(int64(_v107) != int64(int64(0)))
- if _v108 != 0 {
- goto l8
- }
- goto l9
-l8:
- _v109 = *(*int64)(unsafe.Pointer(uintptr(_v14)))
- _v110 = crt.Xatoi(t, _v109)
- _v111 = int64(_v15 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v111))) = _v110
- goto l9
-l9:
- _v112 = *(*int32)(unsafe.Pointer(uintptr(_v15)))
- _v114 = crt.Bool32(int32(_v112) < int32(1))
- if _v114 != 0 {
- goto l10
- }
- goto l11
-l10:
- _v116 = int64(_v15 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v116))) = 1
- goto l11
-l11:
- _v121 = int64(_v2 + int64(16))
- _v122 = int64(_v5 + int64(0))
- _v125 = s_findOption(t, _v121, _v122, int64(uintptr(unsafe.Pointer(&s__146))), 1)
- *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 8)) = _v125
- _v132 = int64(_v2 + int64(16))
- _v133 = int64(_v5 + int64(0))
- _v136 = s_findOption(t, _v132, _v133, int64(uintptr(unsafe.Pointer(&s__147))), 1)
- _v137 = int64(_v3 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v137))) = _v136
- _v142 = int64(_v2 + int64(16))
- _v143 = int64(_v5 + int64(0))
- _v146 = s_findOption(t, _v142, _v143, int64(uintptr(unsafe.Pointer(&s__148))), 1)
- *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 32)) = _v146
- _v153 = int64(_v2 + int64(16))
- _v154 = int64(_v5 + int64(0))
- _v157 = s_findOption(t, _v153, _v154, int64(uintptr(unsafe.Pointer(&s__149))), 1)
- *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 48)) = _v157
- _v164 = int64(_v2 + int64(16))
- _v165 = int64(_v5 + int64(0))
- _v168 = s_findOption(t, _v164, _v165, int64(uintptr(unsafe.Pointer(&s__150))), 1)
- _v169 = int64(_v11 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v169))) = _v168
- _v170 = *(*int64)(unsafe.Pointer(uintptr(_v11)))
- _v171 = crt.Bool32(int64(_v170) != int64(int64(0)))
- if _v171 != 0 {
- goto l12
- }
- goto l13
-l12:
- _v172 = *(*int64)(unsafe.Pointer(uintptr(_v11)))
- _v173 = crt.Xatoi(t, _v172)
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 100)) = _v173
- goto l13
-l13:
- _v180 = int64(_v2 + int64(16))
- _v181 = int64(_v5 + int64(0))
- _v184 = s_findOption(t, _v180, _v181, int64(uintptr(unsafe.Pointer(&s__151))), 0)
- _v187 = crt.Bool32(int64(_v184) != int64(int64(0)))
- if _v187 != 0 {
- goto l14
- }
- goto l15
-l14:
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 100)) = 0
- goto l15
-l15:
- _v195 = int64(_v2 + int64(16))
- _v196 = int64(_v5 + int64(0))
- _v199 = s_findOption(t, _v195, _v196, int64(uintptr(unsafe.Pointer(&s__152))), 1)
- _v200 = int64(_v18 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v200))) = _v199
- _v201 = *(*int64)(unsafe.Pointer(uintptr(_v18)))
- _v202 = crt.Bool32(int64(_v201) != int64(int64(0)))
- if _v202 != 0 {
- goto l16
- }
- goto l17
-l16:
- _v203 = *(*int64)(unsafe.Pointer(uintptr(_v18)))
- _v204 = crt.Xatoi(t, _v203)
- _v205 = int64(_v17 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v205))) = _v204
- goto l17
-l17:
- _v210 = int64(_v2 + int64(16))
- _v211 = int64(_v5 + int64(0))
- _v214 = s_findOption(t, _v210, _v211, int64(uintptr(unsafe.Pointer(&s__153))), 0)
- _v217 = crt.Bool32(int64(_v214) != int64(int64(0)))
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 104)) = _v217
- _v224 = int64(_v2 + int64(16))
- _v225 = int64(_v5 + int64(0))
- _v228 = s_findOption(t, _v224, _v225, int64(uintptr(unsafe.Pointer(&s__154))), 0)
- _v231 = crt.Bool32(int64(_v228) != int64(int64(0)))
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 124)) = _v231
- _v236 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 32))
- _v237 = crt.Bool32(int64(_v236) != int64(int64(0)))
- if _v237 != 0 {
- goto l18
- }
- goto l19
-l18:
- _v240 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 32))
- _v242 = crt.Xfopen(t, _v240, int64(uintptr(unsafe.Pointer(&s__155))))
- *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 40)) = _v242
- goto l20
-l19:
- _v245 = *(*int64)(unsafe.Pointer(&crt.Xstderr))
- *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 40)) = _v245
- goto l20
-l20:
- _v250 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 48))
- _v251 = crt.Bool32(int64(_v250) != int64(int64(0)))
- if _v251 != 0 {
- goto l21
- }
- goto l22
-l21:
- _v254 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 48))
- _v256 = crt.Xfopen(t, _v254, int64(uintptr(unsafe.Pointer(&s__155))))
- *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 56)) = _v256
- goto l23
-l22:
- _v259 = *(*int64)(unsafe.Pointer(&crt.Xstdout))
- *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 56)) = _v259
- goto l23
-l23:
- *(*int64)(unsafe.Pointer(bp + 24)) = *(*int64)(unsafe.Pointer(&struct {
- f func(*crt.TLS, int64, int32, int64)
- }{s_sqlErrorCallback}))
-
- *(*int32)(unsafe.Pointer(bp + 32)) = 0
-
- _ = Xsqlite3_config(t, 16, bp+24)
- _v266 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v267 = crt.Bool32(int64(_v266) != int64(int64(0)))
- if _v267 != 0 {
- goto l24
- }
- goto l27
-l24:
- _v268 = *(*int64)(unsafe.Pointer(uintptr(_v3)))
- _v269 = crt.Xatoi(t, _v268)
- _v270 = int64(_v4 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v270))) = _v269
- _v271 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v273 = crt.Bool32(int32(_v271) < int32(1))
- if _v273 != 0 {
- goto l25
- }
- goto l26
-l25:
- _v275 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- *(*int32)(unsafe.Pointer(bp + 40)) = _v275
- s_fatalError(t, int64(uintptr(unsafe.Pointer(&s__156))), bp+40)
- goto l26
-l26:
- _v281 = crt.Xgetpid(t)
- _v282 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- *(*int32)(unsafe.Pointer(bp + 48)) = _v281
-
- *(*int32)(unsafe.Pointer(bp + 56)) = _v282
-
- _ = Xsqlite3_snprintf(t, 32, int64(uintptr(unsafe.Pointer(&s_g))+64), int64(uintptr(unsafe.Pointer(&s__157))), bp+48)
- goto l68
-l27:
- *(*int32)(unsafe.Pointer(uintptr(_v19))) = 0
- _v287 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 100))
- _v289 = crt.Bool32(int32(_v287) > int32(0))
- if _v289 != 0 {
- goto l28
- }
- goto l144
-l144:
- goto l37
-l28:
- _v295 = int64(_v2 + int64(0))
- _v296 = *(*int64)(unsafe.Pointer(uintptr(_v295)))
- *(*int64)(unsafe.Pointer(bp + 64)) = _v296
-
- _ = crt.Xprintf(t, int64(uintptr(unsafe.Pointer(&s__158))), bp+64)
- _v299 = int64(_v6 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v299))) = 1
- goto l29
-l29:
- _v300 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v302 = crt.Bool32(int32(_v300) < int32(_v1))
- if _v302 != 0 {
- goto l30
- }
- goto l32
-l30:
- _v304 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v305 = int64(int32(_v304))
- _v306 = int64(_v305 * int64(8))
- _v308 = int64(_v2 + _v306)
- _v309 = *(*int64)(unsafe.Pointer(uintptr(_v308)))
- *(*int64)(unsafe.Pointer(bp + 72)) = _v309
-
- _ = crt.Xprintf(t, int64(uintptr(unsafe.Pointer(&s__137))), bp+72)
- goto l31
-l31:
- _v311 = int64(_v6 + int64(0))
- _v312 = *(*int32)(unsafe.Pointer(uintptr(_v311)))
- _v313 = int32(int32(_v312) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v311))) = _v313
- goto l29
-l32:
-
- _ = crt.Xprintf(t, int64(uintptr(unsafe.Pointer(&s__138))), 0)
-
- _ = crt.Xprintf(t, int64(uintptr(unsafe.Pointer(&s__159))), 0)
- _v319 = int64(_v6 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v319))) = 0
- goto l33
-l33:
- _v320 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v321 = Xsqlite3_compileoption_get(t, _v320)
- _v322 = int64(_v12 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v322))) = _v321
- _v323 = *(*int64)(unsafe.Pointer(uintptr(_v322)))
- _v326 = crt.Bool32(int64(_v323) != int64(int64(0)))
- if _v326 != 0 {
- goto l34
- }
- goto l36
-l34:
- _v328 = *(*int64)(unsafe.Pointer(uintptr(_v12)))
- *(*int64)(unsafe.Pointer(bp + 80)) = _v328
-
- _ = crt.Xprintf(t, int64(uintptr(unsafe.Pointer(&s__160))), bp+80)
- goto l35
-l35:
- _v330 = int64(_v6 + int64(0))
- _v331 = *(*int32)(unsafe.Pointer(uintptr(_v330)))
- _v332 = int32(int32(_v331) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v330))) = _v332
- goto l33
-l36:
- _v333 = *(*int64)(unsafe.Pointer(&crt.Xstdout))
- _ = crt.Xfflush(t, _v333)
- goto l37
-l37:
- _v336 = int64(_v4 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v336))) = 0
- goto l38
-l38:
- _v337 = *(*int32)(unsafe.Pointer(uintptr(_v19)))
- _v339 = int32(int32(_v337) % int32(5))
- _v341 = crt.Bool32(int32(_v339) == int32(4))
- if _v341 != 0 {
- goto l39
- }
- goto l145
-l145:
- goto l46
-l39:
- _v343 = *(*int32)(unsafe.Pointer(uintptr(_v19)))
- _v345 = crt.Bool32(int32(_v343) > int32(5))
- goto l40
-l40:
- if _v345 != 0 {
- goto l41
- }
- goto l43
-l41:
- goto l42
-l42:
- _v348 = int64(uintptr(unsafe.Pointer(&s__162)))
- goto l45
-l43:
- goto l44
-l44:
- _v348 = int64(uintptr(unsafe.Pointer(&s__85)))
- goto l45
-l45:
- _v351 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 16))
- *(*int64)(unsafe.Pointer(bp + 88)) = _v348
-
- *(*int64)(unsafe.Pointer(bp + 96)) = _v351
-
- _ = crt.Xprintf(t, int64(uintptr(unsafe.Pointer(&s__161))), bp+88)
- goto l46
-l46:
- _v355 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 16))
- _v356 = crt.Xunlink(t, _v355)
- _v357 = int64(_v8 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v357))) = _v356
- _v358 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- goto l47
-l47:
- if _v358 != 0 {
- goto l48
- }
- goto l146
-l146:
- _v363 = 0
- goto l51
-l48:
- _v359 = crt.X__errno_location(t)
- _v360 = *(*int32)(unsafe.Pointer(uintptr(_v359)))
- _v362 = crt.Bool32(int32(_v360) == int32(2))
- goto l49
-l49:
- if _v362 != 0 {
- goto l50
- }
- goto l147
-l147:
- _v363 = 0
- goto l51
-l50:
- _v363 = 1
- goto l51
-l51:
- if _v363 != 0 {
- goto l52
- }
- goto l53
-l52:
- _v365 = int64(_v8 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v365))) = 0
- goto l53
-l53:
- goto l54
-l54:
- _v366 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v368 = crt.Bool32(int32(_v366) != int32(0))
- goto l55
-l55:
- if _v368 != 0 {
- goto l56
- }
- goto l148
-l148:
- _v375 = 0
- goto l59
-l56:
- _v369 = int64(_v19 + int64(0))
- _v370 = *(*int32)(unsafe.Pointer(uintptr(_v369)))
- _v371 = int32(int32(_v370) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v369))) = _v371
- _v372 = *(*int32)(unsafe.Pointer(uintptr(_v369)))
- _v374 = crt.Bool32(int32(_v372) < int32(60))
- goto l57
-l57:
- if _v374 != 0 {
- goto l58
- }
- goto l149
-l149:
- _v375 = 0
- goto l59
-l58:
- _v375 = 1
- goto l59
-l59:
- goto l60
-l60:
- if _v375 != 0 {
- goto l61
- }
- goto l150
-l150:
- _v380 = 0
- goto l64
-l61:
- _v377 = Xsqlite3_sleep(t, 1000)
- _v379 = crt.Bool32(int32(_v377) > int32(0))
- goto l62
-l62:
- if _v379 != 0 {
- goto l63
- }
- goto l151
-l151:
- _v380 = 0
- goto l64
-l63:
- _v380 = 1
- goto l64
-l64:
- if _v380 != 0 {
- goto l152
- }
- goto l65
-l152:
- goto l38
-l65:
- _v381 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v383 = crt.Bool32(int32(_v381) != int32(0))
- if _v383 != 0 {
- goto l66
- }
- goto l67
-l66:
- _v387 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 16))
- _v388 = *(*int32)(unsafe.Pointer(uintptr(_v19)))
- *(*int64)(unsafe.Pointer(bp + 104)) = _v387
-
- *(*int32)(unsafe.Pointer(bp + 112)) = _v388
- s_fatalError(t, int64(uintptr(unsafe.Pointer(&s__163))), bp+104)
- goto l67
-l67:
- _v390 = int64(_v7 + int64(0))
- _v391 = *(*int32)(unsafe.Pointer(uintptr(_v390)))
- _v392 = int32(_v391 | 4)
- *(*int32)(unsafe.Pointer(uintptr(_v390))) = _v392
- goto l68
-l68:
- _v395 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 16))
- _v398 = *(*int32)(unsafe.Pointer(uintptr(_v7)))
- _v401 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 8))
- _v402 = Xsqlite3_open_v2(t, _v395, int64(uintptr(unsafe.Pointer(&s_g))+24), _v398, _v401)
- _v403 = int64(_v8 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v403))) = _v402
- _v404 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- if _v404 != 0 {
- goto l69
- }
- goto l70
-l69:
- _v408 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 16))
- *(*int64)(unsafe.Pointer(bp + 120)) = _v408
- s_fatalError(t, int64(uintptr(unsafe.Pointer(&s__164))), bp+120)
- goto l70
-l70:
- _v409 = *(*int32)(unsafe.Pointer(uintptr(_v17)))
- _v411 = crt.Bool32(int32(_v409) > int32(0))
- if _v411 != 0 {
- goto l71
- }
- goto l72
-l71:
- _v414 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _v415 = *(*int32)(unsafe.Pointer(uintptr(_v17)))
- _ = Xsqlite3_busy_timeout(t, _v414, _v415)
- goto l72
-l72:
- _v417 = *(*int64)(unsafe.Pointer(uintptr(_v13)))
- _v418 = crt.Bool32(int64(_v417) != int64(int64(0)))
- if _v418 != 0 {
- goto l73
- }
- goto l74
-l73:
- _v420 = *(*int64)(unsafe.Pointer(uintptr(_v13)))
- *(*int64)(unsafe.Pointer(bp + 128)) = _v420
- s_runSql(t, int64(uintptr(unsafe.Pointer(&s__165))), bp+128)
- goto l74
-l74:
- _v423 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 124))
- goto l75
-l75:
- if _v423 != 0 {
- goto l76
- }
- goto l153
-l153:
- _v424 = 1
- goto l77
-l76:
- _v424 = 0
- goto l77
-l77:
- if _v424 != 0 {
- goto l78
- }
- goto l79
-l78:
-
- _ = s_trySql(t, int64(uintptr(unsafe.Pointer(&s__166))), 0)
- goto l79
-l79:
- _v429 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _ = Xsqlite3_enable_load_extension(t, _v429, 1)
- _v434 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _ = Xsqlite3_busy_handler(t, _v434, *(*int64)(unsafe.Pointer(&struct {
- f func(*crt.TLS, int64, int32) int32
- }{s_busyHandler})), int64(0))
- _v441 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _ = Xsqlite3_create_function(t, _v441, int64(uintptr(unsafe.Pointer(&s__167))), 0, 1, int64(0), *(*int64)(unsafe.Pointer(&struct {
- f func(*crt.TLS, int64, int32, int64)
- }{s_vfsNameFunc})), int64(0), int64(0))
- _v455 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _ = Xsqlite3_create_function(t, _v455, int64(uintptr(unsafe.Pointer(&s__168))), 1, 1, int64(0), *(*int64)(unsafe.Pointer(&struct {
- f func(*crt.TLS, int64, int32, int64)
- }{s_evalFunc})), int64(0), int64(0))
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 120)) = 10000
- _v472 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 104))
- if _v472 != 0 {
- goto l80
- }
- goto l81
-l80:
- _v475 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _ = Xsqlite3_trace(t, _v475, *(*int64)(unsafe.Pointer(&struct{ f func(*crt.TLS, int64, int64) }{s_sqlTraceCallback})), int64(0))
- goto l81
-l81:
- _v480 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v482 = crt.Bool32(int32(_v480) > int32(0))
- if _v482 != 0 {
- goto l82
- }
- goto l99
-l82:
- _v483 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v485 = crt.Bool32(int32(_v483) > int32(0))
- if _v485 != 0 {
- goto l83
- }
- goto l84
-l83:
- _v490 = int64(_v2 + int64(0))
- _v491 = *(*int64)(unsafe.Pointer(uintptr(_v490)))
- _v492 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v497 = int64(_v2 + int64(16))
- s_unrecognizedArguments(t, _v491, _v492, _v497)
- goto l84
-l84:
- _v500 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 100))
- if _v500 != 0 {
- goto l85
- }
- goto l86
-l85:
- s_logMessage(t, int64(uintptr(unsafe.Pointer(&s__169))), 0)
- goto l86
-l86:
- goto l87
-l87:
- if 1 != 0 {
- goto l88
- }
- goto l96
-l88:
- *(*int64)(unsafe.Pointer(uintptr(_v20))) = int64(0)
- _v505 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v506 = int64(_v9 + int64(0))
- _v507 = int64(_v10 + int64(0))
- _v508 = int64(_v20 + int64(0))
- _v509 = s_startScript(t, _v505, _v506, _v507, _v508)
- _v510 = int64(_v8 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v510))) = _v509
- _v511 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v513 = crt.Bool32(int32(_v511) == int32(101))
- if _v513 != 0 {
- goto l89
- }
- goto l91
-l89:
- goto l96
-l91:
- _v516 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 100))
- if _v516 != 0 {
- goto l92
- }
- goto l93
-l92:
- _v518 = *(*int64)(unsafe.Pointer(uintptr(_v20)))
- _v519 = *(*int32)(unsafe.Pointer(uintptr(_v10)))
- *(*int64)(unsafe.Pointer(bp + 136)) = _v518
-
- *(*int32)(unsafe.Pointer(bp + 144)) = _v519
- s_logMessage(t, int64(uintptr(unsafe.Pointer(&s__170))), bp+136)
- goto l93
-l93:
- _v520 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v521 = *(*int32)(unsafe.Pointer(uintptr(_v10)))
- _v522 = *(*int64)(unsafe.Pointer(uintptr(_v9)))
- _v523 = *(*int64)(unsafe.Pointer(uintptr(_v20)))
- s_runScript(t, _v520, _v521, _v522, _v523)
- _v526 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 100))
- if _v526 != 0 {
- goto l94
- }
- goto l95
-l94:
- _v528 = *(*int64)(unsafe.Pointer(uintptr(_v20)))
- _v529 = *(*int32)(unsafe.Pointer(uintptr(_v10)))
- *(*int64)(unsafe.Pointer(bp + 152)) = _v528
-
- *(*int32)(unsafe.Pointer(bp + 160)) = _v529
- s_logMessage(t, int64(uintptr(unsafe.Pointer(&s__171))), bp+152)
- goto l95
-l95:
- _v530 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v531 = *(*int32)(unsafe.Pointer(uintptr(_v10)))
- _ = s_finishScript(t, _v530, _v531, 0)
- _v534 = *(*int64)(unsafe.Pointer(uintptr(_v20)))
- Xsqlite3_free(t, _v534)
- _ = Xsqlite3_sleep(t, 10)
- goto l87
-l96:
- _v539 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 100))
- if _v539 != 0 {
- goto l97
- }
- goto l98
-l97:
- s_logMessage(t, int64(uintptr(unsafe.Pointer(&s__172))), 0)
- goto l98
-l98:
- goto l135
-l99:
- _v541 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v543 = crt.Bool32(int32(_v541) == int32(0))
- if _v543 != 0 {
- goto l100
- }
- goto l101
-l100:
- s_fatalError(t, int64(uintptr(unsafe.Pointer(&s__173))), 0)
- goto l101
-l101:
- _v545 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v547 = crt.Bool32(int32(_v545) > int32(1))
- if _v547 != 0 {
- goto l102
- }
- goto l103
-l102:
- _v552 = int64(_v2 + int64(0))
- _v553 = *(*int64)(unsafe.Pointer(uintptr(_v552)))
- _v554 = *(*int32)(unsafe.Pointer(uintptr(_v5)))
- _v559 = int64(_v2 + int64(16))
- s_unrecognizedArguments(t, _v553, _v554, _v559)
- goto l103
-l103:
- s_runSql(t, int64(uintptr(unsafe.Pointer(&s__174))), 0)
- _v565 = int64(_v2 + int64(16))
- _v566 = *(*int64)(unsafe.Pointer(uintptr(_v565)))
- _v567 = s_readFile(t, _v566)
- _v568 = int64(_v9 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v568))) = _v567
- _v570 = int64(_v16 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v570))) = 1
- goto l104
-l104:
- _v571 = *(*int32)(unsafe.Pointer(uintptr(_v16)))
- _v572 = *(*int32)(unsafe.Pointer(uintptr(_v15)))
- _v573 = crt.Bool32(int32(_v571) <= int32(_v572))
- if _v573 != 0 {
- goto l105
- }
- goto l111
-l105:
- _v576 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 100))
- if _v576 != 0 {
- goto l106
- }
- goto l107
-l106:
- _v582 = int64(_v2 + int64(16))
- _v583 = *(*int64)(unsafe.Pointer(uintptr(_v582)))
- _v584 = *(*int32)(unsafe.Pointer(uintptr(_v16)))
- *(*int64)(unsafe.Pointer(bp + 168)) = _v583
-
- *(*int32)(unsafe.Pointer(bp + 176)) = _v584
- s_logMessage(t, int64(uintptr(unsafe.Pointer(&s__175))), bp+168)
- goto l107
-l107:
- _v587 = *(*int64)(unsafe.Pointer(uintptr(_v9)))
- _v592 = int64(_v2 + int64(16))
- _v593 = *(*int64)(unsafe.Pointer(uintptr(_v592)))
- s_runScript(t, 0, 0, _v587, _v593)
- _v596 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 100))
- if _v596 != 0 {
- goto l108
- }
- goto l109
-l108:
- _v602 = int64(_v2 + int64(16))
- _v603 = *(*int64)(unsafe.Pointer(uintptr(_v602)))
- _v604 = *(*int32)(unsafe.Pointer(uintptr(_v16)))
- *(*int64)(unsafe.Pointer(bp + 184)) = _v603
-
- *(*int32)(unsafe.Pointer(bp + 192)) = _v604
- s_logMessage(t, int64(uintptr(unsafe.Pointer(&s__176))), bp+184)
- goto l109
-l109:
- goto l110
-l110:
- _v605 = int64(_v16 + int64(0))
- _v606 = *(*int32)(unsafe.Pointer(uintptr(_v605)))
- _v607 = int32(int32(_v606) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v605))) = _v607
- goto l104
-l111:
- _v608 = *(*int64)(unsafe.Pointer(uintptr(_v9)))
- Xsqlite3_free(t, _v608)
- s_waitForClient(t, 0, 2000, int64(uintptr(unsafe.Pointer(&s__177))))
-
- _ = s_trySql(t, int64(uintptr(unsafe.Pointer(&s__178))), 0)
- _ = Xsqlite3_sleep(t, 10)
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 120)) = 0
- _v620 = int64(_v22 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v620))) = 1000
- goto l112
-l112:
-
- _v622 = s_trySql(t, int64(uintptr(unsafe.Pointer(&s__179))), 0)
- _v623 = int64(_v8 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v623))) = _v622
- _v624 = *(*int32)(unsafe.Pointer(uintptr(_v623)))
- _v626 = crt.Bool32(int32(_v624) == int32(5))
- goto l113
-l113:
- if _v626 != 0 {
- goto l154
- }
- goto l114
-l154:
- _v630 = 1
- goto l117
-l114:
- _v627 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v629 = crt.Bool32(int32(_v627) == int32(100))
- goto l115
-l115:
- if _v629 != 0 {
- goto l155
- }
- goto l116
-l155:
- _v630 = 1
- goto l117
-l116:
- _v630 = 0
- goto l117
-l117:
- goto l118
-l118:
- if _v630 != 0 {
- goto l119
- }
- goto l156
-l156:
- _v634 = 0
- goto l122
-l119:
- _v631 = *(*int32)(unsafe.Pointer(uintptr(_v22)))
- _v633 = crt.Bool32(int32(_v631) > int32(0))
- goto l120
-l120:
- if _v633 != 0 {
- goto l121
- }
- goto l157
-l157:
- _v634 = 0
- goto l122
-l121:
- _v634 = 1
- goto l122
-l122:
- if _v634 != 0 {
- goto l123
- }
- goto l124
-l123:
- _ = Xsqlite3_sleep(t, 10)
- _v638 = int64(_v22 + int64(0))
- _v639 = *(*int32)(unsafe.Pointer(uintptr(_v638)))
- _v640 = int32(int32(_v639) - int32(10))
- *(*int32)(unsafe.Pointer(uintptr(_v638))) = _v640
- goto l112
-l124:
- _ = Xsqlite3_sleep(t, 100)
-
- _v644 = s_prepareSql(t, int64(uintptr(unsafe.Pointer(&s__180))), 0)
- _v645 = int64(_v21 + int64(0))
- *(*int64)(unsafe.Pointer(uintptr(_v645))) = _v644
- _v647 = int64(_v22 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v647))) = 1000
- goto l125
-l125:
- _v648 = *(*int64)(unsafe.Pointer(uintptr(_v21)))
- _v649 = Xsqlite3_step(t, _v648)
- _v650 = int64(_v8 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v650))) = _v649
- _v651 = *(*int32)(unsafe.Pointer(uintptr(_v650)))
- _v653 = crt.Bool32(int32(_v651) == int32(5))
- goto l126
-l126:
- if _v653 != 0 {
- goto l127
- }
- goto l158
-l158:
- _v657 = 0
- goto l130
-l127:
- _v654 = *(*int32)(unsafe.Pointer(uintptr(_v22)))
- _v656 = crt.Bool32(int32(_v654) > int32(0))
- goto l128
-l128:
- if _v656 != 0 {
- goto l129
- }
- goto l159
-l159:
- _v657 = 0
- goto l130
-l129:
- _v657 = 1
- goto l130
-l130:
- if _v657 != 0 {
- goto l131
+// SQL error log callback
+func sqlErrorCallback(tls *crt.TLS, pArg uintptr, iErrCode int32, zMsg uintptr) { /* mptest.c:342:13: */
+ bp := tls.Alloc(24)
+ defer tls.Free(24)
+
+ _ = pArg
+ if (iErrCode == 1) && (g.bIgnoreSqlErrors != 0) {
+ return
}
- goto l132
-l131:
- _ = Xsqlite3_sleep(t, 10)
- _v661 = int64(_v22 + int64(0))
- _v662 = *(*int32)(unsafe.Pointer(uintptr(_v661)))
- _v663 = int32(int32(_v662) - int32(10))
- *(*int32)(unsafe.Pointer(uintptr(_v661))) = _v663
- goto l125
-l132:
- _v664 = *(*int32)(unsafe.Pointer(uintptr(_v8)))
- _v666 = crt.Bool32(int32(_v664) == int32(100))
- if _v666 != 0 {
- goto l133
+ if ((iErrCode & 0xff) == 17) && (g.iTrace < 3) {
+ return
}
- goto l134
-l133:
- _v667 = *(*int64)(unsafe.Pointer(uintptr(_v21)))
- _v669 = Xsqlite3_column_int(t, _v667, 0)
- _v672 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 112))
- _v673 = int32(int32(_v672) + int32(_v669))
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 112)) = _v673
- _v674 = *(*int64)(unsafe.Pointer(uintptr(_v21)))
- _v676 = Xsqlite3_column_int(t, _v674, 1)
- _v679 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 116))
- _v680 = int32(int32(_v679) + int32(_v676))
- *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 116)) = _v680
- goto l134
-l134:
- _v681 = *(*int64)(unsafe.Pointer(uintptr(_v21)))
- _ = Xsqlite3_finalize(t, _v681)
- goto l135
-l135:
- _v685 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 24))
- _ = Xsqlite3_close(t, _v685)
- _v689 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 56))
- s_maybeClose(t, _v689)
- _v692 = *(*int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 40))
- s_maybeClose(t, _v692)
- _v693 = *(*int32)(unsafe.Pointer(uintptr(_v4)))
- _v695 = crt.Bool32(int32(_v693) == int32(0))
- if _v695 != 0 {
- goto l136
+ if ((g.iTimeout == 0) && ((iErrCode & 0xff) == 5)) && (g.iTrace < 3) {
+ return
}
- goto l141
-l136:
- _v699 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 112))
- _v702 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 116))
- *(*int32)(unsafe.Pointer(bp + 200)) = _v699
-
- *(*int32)(unsafe.Pointer(bp + 208)) = _v702
-
- _ = crt.Xprintf(t, int64(uintptr(unsafe.Pointer(&s__181))), bp+200)
- _v709 = int64(_v2 + int64(0))
- _v710 = *(*int64)(unsafe.Pointer(uintptr(_v709)))
- *(*int64)(unsafe.Pointer(bp + 216)) = _v710
-
- _ = crt.Xprintf(t, int64(uintptr(unsafe.Pointer(&s__182))), bp+216)
- _v713 = int64(_v6 + int64(0))
- *(*int32)(unsafe.Pointer(uintptr(_v713))) = 1
- goto l137
-l137:
- _v714 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v716 = crt.Bool32(int32(_v714) < int32(_v1))
- if _v716 != 0 {
- goto l138
+ if (iErrCode & 0xff) == 27 {
+ logMessage(tls, ts+96 /* "(info) %s" */, crt.VaList(bp, zMsg))
+ } else {
+ errorMessage(tls, ts+106 /* "(errcode=%d) %s" */, crt.VaList(bp+8, iErrCode, zMsg))
}
- goto l140
-l138:
- _v718 = *(*int32)(unsafe.Pointer(uintptr(_v6)))
- _v719 = int64(int32(_v718))
- _v720 = int64(_v719 * int64(8))
- _v722 = int64(_v2 + _v720)
- _v723 = *(*int64)(unsafe.Pointer(uintptr(_v722)))
- *(*int64)(unsafe.Pointer(bp + 224)) = _v723
-
- _ = crt.Xprintf(t, int64(uintptr(unsafe.Pointer(&s__137))), bp+224)
- goto l139
-l139:
- _v725 = int64(_v6 + int64(0))
- _v726 = *(*int32)(unsafe.Pointer(uintptr(_v725)))
- _v727 = int32(int32(_v726) + int32(1))
- *(*int32)(unsafe.Pointer(uintptr(_v725))) = _v727
- goto l137
-l140:
-
- _ = crt.Xprintf(t, int64(uintptr(unsafe.Pointer(&s__138))), 0)
- goto l141
-l141:
- _v732 = *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&s_g)) + 112))
- _v734 = crt.Bool32(int32(_v732) > int32(0))
- return _v734
}
-var s__139 = [5]byte{0x6d, 0x61, 0x69, 0x6e}
-
-var s__140 = [7]byte{0x2a, 0x2e, 0x74, 0x65, 0x73, 0x74}
-
-var s__141 = [85]byte{
- 0x32, 0x30, 0x31, 0x39, 0x2d, 0x31, 0x30, 0x2d, 0x31, 0x30, 0x20, 0x32, 0x30, 0x3a, 0x31, 0x39,
- 0x3a, 0x34, 0x35, 0x20, 0x31, 0x38, 0x64, 0x62, 0x30, 0x33, 0x32, 0x64, 0x30, 0x35, 0x38, 0x66,
- 0x31, 0x34, 0x33, 0x36, 0x63, 0x65, 0x33, 0x64, 0x65, 0x61, 0x38, 0x34, 0x30, 0x38, 0x31, 0x66,
- 0x34, 0x65, 0x65, 0x35, 0x61, 0x30, 0x66, 0x32, 0x32, 0x35, 0x39, 0x61, 0x64, 0x39, 0x37, 0x33,
- 0x30, 0x31, 0x64, 0x34, 0x33, 0x63, 0x34, 0x32, 0x36, 0x62, 0x63, 0x37, 0x66, 0x33, 0x64, 0x66,
- 0x31, 0x62, 0x30, 0x62,
+// Prepare an SQL statement. Issue a fatal error if unable.
+func prepareSql(tls *crt.TLS, zFormat uintptr, va uintptr) uintptr { /* mptest.c:357:21: */
+ bp := tls.Alloc(24)
+ defer tls.Free(24)
+
+ var ap va_list
+ _ = ap
+ var zSql uintptr
+ var rc int32
+ *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)) = uintptr(0)
+ ap = va
+ zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
+ _ = ap
+ rc = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+16 /* &pStmt */, uintptr(0))
+ if rc != 0 {
+ sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)))
+ fatalError(tls, ts+122 /* "%s\n%s\n" */, crt.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db), zSql))
+ }
+ sqlite3.Xsqlite3_free(tls, zSql)
+ return *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))
}
-var s__142 = [60]byte{
- 0x53, 0x51, 0x4c, 0x69, 0x74, 0x65, 0x20, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x20, 0x61,
- 0x6e, 0x64, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74,
- 0x63, 0x68, 0x0a, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x3a, 0x20, 0x25, 0x73, 0x0a, 0x48,
- 0x65, 0x61, 0x64, 0x65, 0x72, 0x3a, 0x20, 0x20, 0x25, 0x73, 0x0a,
+// Run arbitrary SQL. Issue a fatal error on failure.
+func runSql(tls *crt.TLS, zFormat uintptr, va uintptr) { /* mptest.c:377:13: */
+ bp := tls.Alloc(16)
+ defer tls.Free(16)
+
+ var ap va_list
+ _ = ap
+ var zSql uintptr
+ var rc int32
+ ap = va
+ zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
+ _ = ap
+ rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), uintptr(0))
+ if rc != 0 {
+ fatalError(tls, ts+122 /* "%s\n%s\n" */, crt.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db), zSql))
+ }
+ sqlite3.Xsqlite3_free(tls, zSql)
}
-var s__143 = [12]byte{0x25, 0x30, 0x35, 0x64, 0x2e, 0x6d, 0x70, 0x74, 0x65, 0x73, 0x74}
-
-var s__144 = [12]byte{0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x6d, 0x6f, 0x64, 0x65}
-
-var s__145 = [7]byte{0x72, 0x65, 0x70, 0x65, 0x61, 0x74}
-
-var s__146 = [4]byte{0x76, 0x66, 0x73}
+// Try to run arbitrary SQL. Return success code.
+func trySql(tls *crt.TLS, zFormat uintptr, va uintptr) int32 { /* mptest.c:394:12: */
+ var ap va_list
+ _ = ap
+ var zSql uintptr
+ var rc int32
+ ap = va
+ zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
+ _ = ap
+ rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), uintptr(0))
+ sqlite3.Xsqlite3_free(tls, zSql)
+ return rc
+}
-var s__147 = [7]byte{0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74}
+// Structure for holding an arbitrary length string
+type String1 = struct {
+ z uintptr
+ n int32
+ nAlloc int32
+}
-var s__148 = [7]byte{0x65, 0x72, 0x72, 0x6c, 0x6f, 0x67}
+// Structure for holding an arbitrary length string
+type String = String1 /* mptest.c:408:23 */
-var s__149 = [4]byte{0x6c, 0x6f, 0x67}
+// Free a string
+func stringFree(tls *crt.TLS, p uintptr) { /* mptest.c:416:13: */
+ if (*String)(unsafe.Pointer(p)).z != 0 {
+ sqlite3.Xsqlite3_free(tls, (*String)(unsafe.Pointer(p)).z)
+ }
+ crt.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(String{})))
+}
-var s__150 = [6]byte{0x74, 0x72, 0x61, 0x63, 0x65}
+// Append n bytes of text to a string. If n<0 append the entire string.
+func stringAppend(tls *crt.TLS, p uintptr, z uintptr, n int32) { /* mptest.c:422:13: */
+ if n < 0 {
+ n = int32(crt.Xstrlen(tls, z))
+ }
+ if ((*String)(unsafe.Pointer(p)).n + n) >= (*String)(unsafe.Pointer(p)).nAlloc {
+ var nAlloc int32 = ((((*String)(unsafe.Pointer(p)).nAlloc * 2) + n) + 100)
+ var zNew uintptr = sqlite3.Xsqlite3_realloc(tls, (*String)(unsafe.Pointer(p)).z, nAlloc)
+ if zNew == uintptr(0) {
+ fatalError(tls, ts+129 /* "out of memory" */, 0)
+ }
+ (*String)(unsafe.Pointer(p)).z = zNew
+ (*String)(unsafe.Pointer(p)).nAlloc = nAlloc
+ }
+ crt.Xmemcpy(tls, ((*String)(unsafe.Pointer(p)).z + uintptr((*String)(unsafe.Pointer(p)).n)), z, uint64(n))
+ *(*int32)(unsafe.Pointer(p + 8 /* &.n */)) += (n)
+ *(*int8)(unsafe.Pointer((*String)(unsafe.Pointer(p)).z + uintptr((*String)(unsafe.Pointer(p)).n))) = int8(0)
+}
-var s__151 = [6]byte{0x71, 0x75, 0x69, 0x65, 0x74}
+// Reset a string to an empty string
+func stringReset(tls *crt.TLS, p uintptr) { /* mptest.c:437:13: */
+ if (*String)(unsafe.Pointer(p)).z == uintptr(0) {
+ stringAppend(tls, p, ts+143 /* " " */, 1)
+ }
+ (*String)(unsafe.Pointer(p)).n = 0
+ *(*int8)(unsafe.Pointer((*String)(unsafe.Pointer(p)).z + uintptr(0))) = int8(0)
+}
-var s__152 = [8]byte{0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74}
+// Append a new token onto the end of the string
+func stringAppendTerm(tls *crt.TLS, p uintptr, z uintptr) { /* mptest.c:444:13: */
+ var i int32
+ if (*String)(unsafe.Pointer(p)).n != 0 {
+ stringAppend(tls, p, ts+143 /* " " */, 1)
+ }
+ if z == uintptr(0) {
+ stringAppend(tls, p, ts+145 /* "nil" */, 3)
+ return
+ }
+ for i = 0; (*(*int8)(unsafe.Pointer(z + uintptr(i))) != 0) && !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))))*2))) & int32(uint16(8192))) != 0); i++ {
+ }
+ if (i > 0) && (int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == 0) {
+ stringAppend(tls, p, z, i)
+ return
+ }
+ stringAppend(tls, p, ts+149 /* "'" */, 1)
+ for *(*int8)(unsafe.Pointer(z + uintptr(0))) != 0 {
+ for i = 0; (*(*int8)(unsafe.Pointer(z + uintptr(i))) != 0) && (int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) != '\''); i++ {
+ }
+ if *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0 {
+ stringAppend(tls, p, z, (i + 1))
+ stringAppend(tls, p, ts+149 /* "'" */, 1)
+ z += (uintptr(i + 1))
+ } else {
+ stringAppend(tls, p, z, i)
+ break
+ }
+ }
+ stringAppend(tls, p, ts+149 /* "'" */, 1)
+}
-var s__153 = [9]byte{0x73, 0x71, 0x6c, 0x74, 0x72, 0x61, 0x63, 0x65}
+// Callback function for evalSql()
+func evalCallback(tls *crt.TLS, pCData uintptr, argc int32, argv uintptr, azCol uintptr) int32 { /* mptest.c:474:12: */
+ var p uintptr = pCData
+ var i int32
+ _ = azCol
+ for i = 0; i < argc; i++ {
+ stringAppendTerm(tls, p, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
+ }
+ return 0
+}
-var s__154 = [5]byte{0x73, 0x79, 0x6e, 0x63}
+// Run arbitrary SQL and record the results in an output string
+// given by the first parameter.
+func evalSql(tls *crt.TLS, p uintptr, zFormat uintptr, va uintptr) int32 { /* mptest.c:486:12: */
+ bp := tls.Alloc(46)
+ defer tls.Free(46)
+
+ var ap va_list
+ _ = ap
+ var zSql uintptr
+ var rc int32
+ *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrMsg */)) = uintptr(0)
+ ap = va
+ zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
+ _ = ap
+ if !(g.iTimeout > 0) {
+ crt.X__assert_fail(tls, ts+151 /* "g.iTimeout>0" */, ts+164 /* "testdata/sqlite-..." */, uint32(494), uintptr(unsafe.Pointer(&__func__)))
+ }
+ rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, *(*uintptr)(unsafe.Pointer(&struct {
+ f func(*crt.TLS, uintptr, int32, uintptr, uintptr) int32
+ }{evalCallback})), p, bp+8 /* &zErrMsg */)
+ sqlite3.Xsqlite3_free(tls, zSql)
+ if rc != 0 {
+ // var zErr [30]int8 at bp+16, 30
+
+ sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+16 /* &zErr[0] */, ts+208 /* "error(%d)" */, crt.VaList(bp, rc))
+ stringAppendTerm(tls, p, bp+16 /* &zErr[0] */)
+ if *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrMsg */)) != 0 {
+ stringAppendTerm(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrMsg */)))
+ sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrMsg */)))
+ }
+ }
+ return rc
+}
-var s__155 = [2]byte{0x61}
+var __func__ = *(*[8]int8)(unsafe.Pointer(ts + 218 /* "evalSql" */)) /* mptest.c:486:56 */
+
+// Auxiliary SQL function to recursively evaluate SQL.
+func evalFunc(tls *crt.TLS, context uintptr, argc int32, argv uintptr) { /* mptest.c:512:13: */
+ bp := tls.Alloc(24)
+ defer tls.Free(24)
+
+ var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context)
+ var zSql uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(0)*8)))
+ // var res String at bp, 16
+
+ *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrMsg */)) = uintptr(0)
+ var rc int32
+ _ = argc
+ crt.Xmemset(tls, bp /* &res */, 0, uint64(unsafe.Sizeof(String{})))
+ rc = sqlite3.Xsqlite3_exec(tls, db, zSql, *(*uintptr)(unsafe.Pointer(&struct {
+ f func(*crt.TLS, uintptr, int32, uintptr, uintptr) int32
+ }{evalCallback})), bp /* &res */, bp+16 /* &zErrMsg */)
+ if *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrMsg */)) != 0 {
+ sqlite3.Xsqlite3_result_error(tls, context, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrMsg */)), -1)
+ sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrMsg */)))
+ } else if rc != 0 {
+ sqlite3.Xsqlite3_result_error_code(tls, context, rc)
+ } else {
+ sqlite3.Xsqlite3_result_text(tls, context, (*String)(unsafe.Pointer(bp /* &res */)).z, -1, crt.UintptrFromInt32(-1))
+ }
+ stringFree(tls, bp /* &res */)
+}
-var s__156 = [27]byte{
- 0x69, 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x6e,
- 0x75, 0x6d, 0x62, 0x65, 0x72, 0x3a, 0x20, 0x25, 0x64, 0x0a,
+// Look up the next task for client iClient in the database.
+// Return the task script and the task number and mark that
+// task as being under way.
+func startScript(tls *crt.TLS, iClient int32, pzScript uintptr, pTaskId uintptr, pzTaskName uintptr) int32 { /* mptest.c:541:12: */
+ bp := tls.Alloc(80)
+ defer tls.Free(80)
+
+ var pStmt uintptr = uintptr(0)
+ var taskId int32
+ var rc int32
+ var totalTime int32 = 0
+
+ *(*uintptr)(unsafe.Pointer(pzScript)) = uintptr(0)
+ g.iTimeout = 0
+ for 1 != 0 {
+ rc = trySql(tls, ts+226 /* "BEGIN IMMEDIATE" */, 0)
+ if rc == 5 {
+ sqlite3.Xsqlite3_sleep(tls, 10)
+ totalTime = totalTime + (10)
+ continue
+ }
+ if rc != 0 {
+ fatalError(tls, ts+242 /* "in startScript: ..." */, crt.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db)))
+ }
+ if (g.nError != 0) || (g.nTest != 0) {
+ runSql(tls, ts+261, /* "UPDATE counters ..." */
+ crt.VaList(bp+8, g.nError, g.nTest))
+ g.nError = 0
+ g.nTest = 0
+ }
+ pStmt = prepareSql(tls, ts+314 /* "SELECT 1 FROM cl..." */, crt.VaList(bp+24, iClient))
+ rc = sqlite3.Xsqlite3_step(tls, pStmt)
+ sqlite3.Xsqlite3_finalize(tls, pStmt)
+ if rc == 100 {
+ runSql(tls, ts+360 /* "DELETE FROM clie..." */, crt.VaList(bp+32, iClient))
+ g.iTimeout = 10000
+ runSql(tls, ts+391 /* "COMMIT TRANSACTI..." */, 0)
+ return 101
+ }
+ pStmt = prepareSql(tls,
+
+ ts+411 /* "SELECT script, i..." */, crt.VaList(bp+40, iClient))
+ rc = sqlite3.Xsqlite3_step(tls, pStmt)
+ if rc == 100 {
+ var n int32 = sqlite3.Xsqlite3_column_bytes(tls, pStmt, 0)
+ *(*uintptr)(unsafe.Pointer(pzScript)) = sqlite3.Xsqlite3_malloc(tls, (n + 1))
+ crt.Xstrcpy(tls, *(*uintptr)(unsafe.Pointer(pzScript)), sqlite3.Xsqlite3_column_text(tls, pStmt, 0))
+ *(*int32)(unsafe.Pointer(pTaskId)) = crt.AssignInt32(&taskId, sqlite3.Xsqlite3_column_int(tls, pStmt, 1))
+ *(*uintptr)(unsafe.Pointer(pzTaskName)) = sqlite3.Xsqlite3_mprintf(tls, ts+503 /* "%s" */, crt.VaList(bp+48, sqlite3.Xsqlite3_column_text(tls, pStmt, 2)))
+ sqlite3.Xsqlite3_finalize(tls, pStmt)
+ runSql(tls,
+
+ ts+506 /* "UPDATE task SE..." */, crt.VaList(bp+56, taskId))
+ g.iTimeout = 10000
+ runSql(tls, ts+391 /* "COMMIT TRANSACTI..." */, 0)
+ return 0
+ }
+ sqlite3.Xsqlite3_finalize(tls, pStmt)
+ if rc == 101 {
+ if totalTime > 30000 {
+ errorMessage(tls, ts+589 /* "Waited over 30 s..." */, 0)
+ runSql(tls, ts+638 /* "DELETE FROM clie..." */, crt.VaList(bp+64, iClient))
+ sqlite3.Xsqlite3_close(tls, g.db)
+ crt.Xexit(tls, 1)
+ }
+ for trySql(tls, ts+678 /* "COMMIT" */, 0) == 5 {
+ sqlite3.Xsqlite3_sleep(tls, 10)
+ totalTime = totalTime + (10)
+ }
+ sqlite3.Xsqlite3_sleep(tls, 100)
+ totalTime = totalTime + (100)
+ continue
+ }
+ fatalError(tls, ts+503 /* "%s" */, crt.VaList(bp+72, sqlite3.Xsqlite3_errmsg(tls, g.db)))
+ }
+ g.iTimeout = 10000
+ return int32(0)
}
-var s__157 = [16]byte{0x25, 0x30, 0x35, 0x64, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x25, 0x30, 0x32, 0x64}
+// Mark a script as having finished. Remove the CLIENT table entry
+// if bShutdown is true.
+func finishScript(tls *crt.TLS, iClient int32, taskId int32, bShutdown int32) int32 { /* mptest.c:623:12: */
+ bp := tls.Alloc(16)
+ defer tls.Free(16)
-var s__158 = [10]byte{0x42, 0x45, 0x47, 0x49, 0x4e, 0x3a, 0x20, 0x25, 0x73}
+ runSql(tls,
-var s__159 = [105]byte{
- 0x57, 0x69, 0x74, 0x68, 0x20, 0x53, 0x51, 0x4c, 0x69, 0x74, 0x65, 0x20, 0x33, 0x2e, 0x33, 0x30,
- 0x2e, 0x31, 0x20, 0x32, 0x30, 0x31, 0x39, 0x2d, 0x31, 0x30, 0x2d, 0x31, 0x30, 0x20, 0x32, 0x30,
- 0x3a, 0x31, 0x39, 0x3a, 0x34, 0x35, 0x20, 0x31, 0x38, 0x64, 0x62, 0x30, 0x33, 0x32, 0x64, 0x30,
- 0x35, 0x38, 0x66, 0x31, 0x34, 0x33, 0x36, 0x63, 0x65, 0x33, 0x64, 0x65, 0x61, 0x38, 0x34, 0x30,
- 0x38, 0x31, 0x66, 0x34, 0x65, 0x65, 0x35, 0x61, 0x30, 0x66, 0x32, 0x32, 0x35, 0x39, 0x61, 0x64,
- 0x39, 0x37, 0x33, 0x30, 0x31, 0x64, 0x34, 0x33, 0x63, 0x34, 0x32, 0x36, 0x62, 0x63, 0x37, 0x66,
- 0x33, 0x64, 0x66, 0x31, 0x62, 0x30, 0x62, 0x0a,
+ ts+685 /* "UPDATE task SE..." */, crt.VaList(bp, taskId))
+ if bShutdown != 0 {
+ runSql(tls, ts+360 /* "DELETE FROM clie..." */, crt.VaList(bp+8, iClient))
+ }
+ return 0
}
-var s__160 = [13]byte{0x2d, 0x44, 0x53, 0x51, 0x4c, 0x49, 0x54, 0x45, 0x5f, 0x25, 0x73, 0x0a}
-
-var s__161 = [29]byte{
- 0x2e, 0x2e, 0x2e, 0x20, 0x25, 0x73, 0x74, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20,
- 0x75, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x27, 0x25, 0x73, 0x27, 0x0a,
+// Start up a client process for iClient, if it is not already
+// running. If the client is already running, then this routine
+// is a no-op.
+func startClient(tls *crt.TLS, iClient int32) { /* mptest.c:638:13: */
+ bp := tls.Alloc(96)
+ defer tls.Free(96)
+
+ runSql(tls, ts+766 /* "INSERT OR IGNORE..." */, crt.VaList(bp, iClient))
+ if sqlite3.Xsqlite3_changes(tls, g.db) != 0 {
+ var zSys uintptr
+ var rc int32
+ zSys = sqlite3.Xsqlite3_mprintf(tls, ts+808, /* "%s \"%s\" --client..." */
+ crt.VaList(bp+8, g.argv0, g.zDbFile, iClient, g.iTrace))
+ if g.bSqlTrace != 0 {
+ zSys = sqlite3.Xsqlite3_mprintf(tls, ts+839 /* "%z --sqltrace" */, crt.VaList(bp+40, zSys))
+ }
+ if g.bSync != 0 {
+ zSys = sqlite3.Xsqlite3_mprintf(tls, ts+853 /* "%z --sync" */, crt.VaList(bp+48, zSys))
+ }
+ if g.zVfs != 0 {
+ zSys = sqlite3.Xsqlite3_mprintf(tls, ts+863 /* "%z --vfs \"%s\"" */, crt.VaList(bp+56, zSys, g.zVfs))
+ }
+ if g.iTrace >= 2 {
+ logMessage(tls, ts+877 /* "system('%q')" */, crt.VaList(bp+72, zSys))
+ }
+ zSys = sqlite3.Xsqlite3_mprintf(tls, ts+890 /* "%z &" */, crt.VaList(bp+80, zSys))
+ rc = crt.Xsystem(tls, zSys)
+ if rc != 0 {
+ errorMessage(tls, ts+895 /* "system() fails w..." */, crt.VaList(bp+88, rc))
+ }
+ sqlite3.Xsqlite3_free(tls, zSys)
+ }
}
-var s__162 = [7]byte{0x73, 0x74, 0x69, 0x6c, 0x6c, 0x20}
-
-var s__163 = [41]byte{
- 0x75, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x6e, 0x6c, 0x69, 0x6e, 0x6b,
- 0x20, 0x27, 0x25, 0x73, 0x27, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x25, 0x64, 0x20, 0x61,
- 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x0a,
+// Read the entire content of a file into memory
+func readFile(tls *crt.TLS, zFilename uintptr) uintptr { /* mptest.c:684:13: */
+ bp := tls.Alloc(8)
+ defer tls.Free(8)
+
+ var in uintptr = crt.Xfopen(tls, zFilename, ts+929 /* "rb" */)
+ var sz int64
+ var z uintptr
+ if in == uintptr(0) {
+ fatalError(tls, ts+932 /* "cannot open \"%s\"..." */, crt.VaList(bp, zFilename))
+ }
+ crt.Xfseek(tls, in, int64(0), 2)
+ sz = crt.Xftell(tls, in)
+ crt.Xrewind(tls, in)
+ z = sqlite3.Xsqlite3_malloc(tls, (int32(sz + int64(1))))
+ sz = int64(crt.Xfread(tls, z, uint64(1), uint64(sz), in))
+ *(*int8)(unsafe.Pointer(z + uintptr(sz))) = int8(0)
+ crt.Xfclose(tls, in)
+ return z
}
-var s__164 = [17]byte{0x63, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x5b, 0x25, 0x73, 0x5d}
-
-var s__165 = [24]byte{
- 0x50, 0x52, 0x41, 0x47, 0x4d, 0x41, 0x20, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6d,
- 0x6f, 0x64, 0x65, 0x3d, 0x25, 0x51, 0x3b,
+// Return the length of the next token.
+func tokenLength(tls *crt.TLS, z uintptr, pnLine uintptr) int32 { /* mptest.c:704:12: */
+ var n int32 = 0
+ if ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(0))))))*2))) & int32(uint16(8192))) != 0) || ((int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '/') && (int32(*(*int8)(unsafe.Pointer(z + uintptr(1)))) == '*')) {
+ var inC int32 = 0
+ var c int32
+ if int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '/' {
+ inC = 1
+ n = 2
+ }
+ for (crt.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(z + uintptr(crt.PostIncInt32(&n, 1))))))) != 0 {
+ if c == '\n' {
+ (*(*int32)(unsafe.Pointer(pnLine)))++
+ }
+ if (int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(c)))*2))) & int32(uint16(8192))) != 0 {
+ continue
+ }
+ if ((inC != 0) && (c == '*')) && (int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == '/') {
+ n++
+ inC = 0
+ } else if (!(inC != 0) && (c == '/')) && (int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == '*') {
+ n++
+ inC = 1
+ } else if !(inC != 0) {
+ break
+ }
+ }
+ n--
+ } else if (int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '-') && (int32(*(*int8)(unsafe.Pointer(z + uintptr(1)))) == '-') {
+ for n = 2; (*(*int8)(unsafe.Pointer(z + uintptr(n))) != 0) && (int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) != '\n'); n++ {
+ }
+ if *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 {
+ (*(*int32)(unsafe.Pointer(pnLine)))++
+ n++
+ }
+ } else if (int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '"') || (int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '\'') {
+ var delim int32 = int32(*(*int8)(unsafe.Pointer(z + uintptr(0))))
+ for n = 1; *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0; n++ {
+ if int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == '\n' {
+ (*(*int32)(unsafe.Pointer(pnLine)))++
+ }
+ if int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == delim {
+ n++
+ if int32(*(*int8)(unsafe.Pointer(z + uintptr((n + 1))))) != delim {
+ break
+ }
+ }
+ }
+ } else {
+ var c int32
+ for n = 1; (((((crt.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))))) != 0) && !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(c)))*2))) & int32(uint16(8192))) != 0)) && (c != '"')) && (c != '\'')) && (c != ';'); n++ {
+ }
+ }
+ return n
}
-var s__166 = [23]byte{
- 0x50, 0x52, 0x41, 0x47, 0x4d, 0x41, 0x20, 0x73, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x6f,
- 0x75, 0x73, 0x3d, 0x4f, 0x46, 0x46,
+// Copy a single token into a string buffer.
+func extractToken(tls *crt.TLS, zIn uintptr, nIn int32, zOut uintptr, nOut int32) int32 { /* mptest.c:749:12: */
+ var i int32
+ if nIn <= 0 {
+ *(*int8)(unsafe.Pointer(zOut + uintptr(0))) = int8(0)
+ return 0
+ }
+ for i = 0; ((i < nIn) && (i < (nOut - 1))) && !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zIn + uintptr(i))))))*2))) & int32(uint16(8192))) != 0); i++ {
+ *(*int8)(unsafe.Pointer(zOut + uintptr(i))) = *(*int8)(unsafe.Pointer(zIn + uintptr(i)))
+ }
+ *(*int8)(unsafe.Pointer(zOut + uintptr(i))) = int8(0)
+ return i
}
-var s__167 = [8]byte{0x76, 0x66, 0x73, 0x6e, 0x61, 0x6d, 0x65}
-
-var s__168 = [5]byte{0x65, 0x76, 0x61, 0x6c}
+// Find the number of characters up to the start of the next "--end" token.
+func findEnd(tls *crt.TLS, z uintptr, pnLine uintptr) int32 { /* mptest.c:763:12: */
+ var n int32 = 0
+ for (*(*int8)(unsafe.Pointer(z + uintptr(n))) != 0) && ((crt.Xstrncmp(tls, (z+uintptr(n)), ts+961 /* "--end" */, uint64(5)) != 0) || !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr((n + 5)))))))*2))) & int32(uint16(8192))) != 0)) {
+ n = n + (tokenLength(tls, (z + uintptr(n)), pnLine))
+ }
+ return n
+}
-var s__169 = [13]byte{0x73, 0x74, 0x61, 0x72, 0x74, 0x2d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74}
+// Find the number of characters up to the first character past the
+// of the next "--endif" or "--else" token. Nested --if commands are
+// also skipped.
+func findEndif(tls *crt.TLS, z uintptr, stopAtElse int32, pnLine uintptr) int32 { /* mptest.c:776:12: */
+ var n int32 = 0
+ for *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 {
+ var len int32 = tokenLength(tls, (z + uintptr(n)), pnLine)
+ if ((crt.Xstrncmp(tls, (z+uintptr(n)), ts+967 /* "--endif" */, uint64(7)) == 0) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr((n + 7)))))))*2))) & int32(uint16(8192))) != 0)) ||
+ (((stopAtElse != 0) && (crt.Xstrncmp(tls, (z+uintptr(n)), ts+975 /* "--else" */, uint64(6)) == 0)) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr((n + 6)))))))*2))) & int32(uint16(8192))) != 0)) {
+ return (n + len)
+ }
+ if (crt.Xstrncmp(tls, (z+uintptr(n)), ts+982 /* "--if" */, uint64(4)) == 0) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr((n + 4)))))))*2))) & int32(uint16(8192))) != 0) {
+ var skip int32 = findEndif(tls, ((z + uintptr(n)) + uintptr(len)), 0, pnLine)
+ n = n + (skip + len)
+ } else {
+ n = n + (len)
+ }
+ }
+ return n
+}
-var s__170 = [14]byte{0x62, 0x65, 0x67, 0x69, 0x6e, 0x20, 0x25, 0x73, 0x20, 0x28, 0x25, 0x64, 0x29}
+// Wait for a client process to complete all its tasks
+func waitForClient(tls *crt.TLS, iClient int32, iTimeout int32, zErrPrefix uintptr) { /* mptest.c:798:13: */
+ bp := tls.Alloc(32)
+ defer tls.Free(32)
+
+ var pStmt uintptr
+ var rc int32
+ if iClient > 0 {
+ pStmt = prepareSql(tls,
+
+ ts+987, /* "SELECT 1 FROM ta..." */
+ crt.VaList(bp, iClient))
+ } else {
+ pStmt = prepareSql(tls,
+
+ ts+1083 /* "SELECT 1 FROM ta..." */, 0)
+ }
+ g.iTimeout = 0
+ for (((crt.AssignInt32(&rc, sqlite3.Xsqlite3_step(tls, pStmt))) == 5) || (rc == 100)) &&
+ (iTimeout > 0) {
+ sqlite3.Xsqlite3_reset(tls, pStmt)
+ sqlite3.Xsqlite3_sleep(tls, 50)
+ iTimeout = iTimeout - (50)
+ }
+ sqlite3.Xsqlite3_finalize(tls, pStmt)
+ g.iTimeout = 10000
+ if rc != 101 {
+ if zErrPrefix == uintptr(0) {
+ zErrPrefix = ts + 1164 /* "" */
+ }
+ if iClient > 0 {
+ errorMessage(tls, ts+1165 /* "%stimeout waitin..." */, crt.VaList(bp+8, zErrPrefix, iClient))
+ } else {
+ errorMessage(tls, ts+1197 /* "%stimeout waitin..." */, crt.VaList(bp+24, zErrPrefix))
+ }
+ }
+}
-var s__171 = [12]byte{0x65, 0x6e, 0x64, 0x20, 0x25, 0x73, 0x20, 0x28, 0x25, 0x64, 0x29}
+// Return a pointer to the tail of a filename
+func filenameTail(tls *crt.TLS, z uintptr) uintptr { /* mptest.c:836:13: */
+ var i int32
+ var j int32
+ for i = crt.AssignInt32(&j, 0); *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0; i++ {
+ if (int32(*(*int8)(unsafe.Pointer(z + uintptr(i))))) == '/' {
+ j = (i + 1)
+ }
+ }
+ return (z + uintptr(j))
+}
-var s__172 = [11]byte{0x65, 0x6e, 0x64, 0x2d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74}
+// Interpret zArg as a boolean value. Return either 0 or 1.
+func booleanValue(tls *crt.TLS, zArg uintptr) int32 { /* mptest.c:845:12: */
+ bp := tls.Alloc(8)
+ defer tls.Free(8)
-var s__173 = [24]byte{
- 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x66,
- 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65,
+ var i int32
+ if zArg == uintptr(0) {
+ return 0
+ }
+ for i = 0; (int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i)))) >= '0') && (int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i)))) <= '9'); i++ {
+ }
+ if (i > 0) && (int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i)))) == 0) {
+ return crt.Xatoi(tls, zArg)
+ }
+ if (sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1231 /* "on" */) == 0) || (sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1234 /* "yes" */) == 0) {
+ return 1
+ }
+ if (sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1238 /* "off" */) == 0) || (sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1242 /* "no" */) == 0) {
+ return 0
+ }
+ errorMessage(tls, ts+1245 /* "unknown boolean:..." */, crt.VaList(bp, zArg))
+ return 0
}
-var s__174 = [436]byte{
- 0x44, 0x52, 0x4f, 0x50, 0x20, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x20, 0x49, 0x46, 0x20, 0x45, 0x58,
- 0x49, 0x53, 0x54, 0x53, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x3b, 0x0a, 0x44, 0x52, 0x4f, 0x50, 0x20,
- 0x54, 0x41, 0x42, 0x4c, 0x45, 0x20, 0x49, 0x46, 0x20, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x20,
- 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x3b, 0x0a, 0x44, 0x52, 0x4f, 0x50, 0x20, 0x54,
- 0x41, 0x42, 0x4c, 0x45, 0x20, 0x49, 0x46, 0x20, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x20, 0x63,
- 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x3b, 0x0a, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x20, 0x54, 0x41,
- 0x42, 0x4c, 0x45, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x28, 0x0a, 0x20, 0x20, 0x69, 0x64, 0x20, 0x49,
- 0x4e, 0x54, 0x45, 0x47, 0x45, 0x52, 0x20, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x20, 0x4b,
- 0x45, 0x59, 0x2c, 0x0a, 0x20, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x54, 0x45, 0x58, 0x54, 0x2c,
- 0x0a, 0x20, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x45,
- 0x52, 0x2c, 0x0a, 0x20, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x44,
- 0x41, 0x54, 0x45, 0x2c, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x44,
- 0x41, 0x54, 0x45, 0x2c, 0x0a, 0x20, 0x20, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x54, 0x45,
- 0x58, 0x54, 0x0a, 0x29, 0x3b, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x20, 0x49, 0x4e, 0x44, 0x45,
- 0x58, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x31, 0x20, 0x4f, 0x4e, 0x20, 0x74, 0x61, 0x73,
- 0x6b, 0x28, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74,
- 0x69, 0x6d, 0x65, 0x29, 0x3b, 0x0a, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x20, 0x49, 0x4e, 0x44,
- 0x45, 0x58, 0x20, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x32, 0x20, 0x4f, 0x4e, 0x20, 0x74, 0x61,
- 0x73, 0x6b, 0x28, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x65, 0x6e, 0x64, 0x74, 0x69,
- 0x6d, 0x65, 0x29, 0x3b, 0x0a, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x20, 0x54, 0x41, 0x42, 0x4c,
- 0x45, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x28, 0x6e, 0x45, 0x72, 0x72, 0x6f,
- 0x72, 0x2c, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x29, 0x3b, 0x0a, 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54,
- 0x20, 0x49, 0x4e, 0x54, 0x4f, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x20, 0x56,
- 0x41, 0x4c, 0x55, 0x45, 0x53, 0x28, 0x30, 0x2c, 0x30, 0x29, 0x3b, 0x0a, 0x43, 0x52, 0x45, 0x41,
- 0x54, 0x45, 0x20, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x28,
- 0x69, 0x64, 0x20, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x45, 0x52, 0x20, 0x50, 0x52, 0x49, 0x4d, 0x41,
- 0x52, 0x59, 0x20, 0x4b, 0x45, 0x59, 0x2c, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x48, 0x61, 0x6c, 0x74,
- 0x29, 0x3b, 0x0a,
+// This routine exists as a convenient place to set a debugger
+// breakpoint.
+func test_breakpoint(tls *crt.TLS) { /* mptest.c:864:13: */ cnt++ }
+
+var cnt int32 = 0 /* mptest.c:864:56 */
+
+// Maximum number of arguments to a --command
+
+// Run a script.
+func runScript(tls *crt.TLS, iClient int32, taskId int32, zScript uintptr, zFilename uintptr) { /* mptest.c:872:13: */
+ bp := tls.Alloc(1610)
+ defer tls.Free(1610)
+
+ *(*int32)(unsafe.Pointer(bp + 376 /* lineno */)) = 1
+ var prevLine int32 = 1
+ var ii int32 = 0
+ var iBegin int32 = 0
+ var n int32
+ var c int32
+ var j int32
+ var len int32
+ var nArg int32
+ // var sResult String at bp+360, 16
+
+ // var zCmd [30]int8 at bp+380, 30
+
+ // var zError [1000]int8 at bp+610, 1000
+
+ // var azArg [2][100]int8 at bp+410, 200
+
+ crt.Xmemset(tls, bp+360 /* &sResult */, 0, uint64(unsafe.Sizeof(String{})))
+ stringReset(tls, bp+360 /* &sResult */)
+ for (crt.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(zScript + uintptr(ii)))))) != 0 {
+ prevLine = *(*int32)(unsafe.Pointer(bp + 376 /* lineno */))
+ len = tokenLength(tls, (zScript + uintptr(ii)), bp+376 /* &lineno */)
+ if ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(c)))*2))) & int32(uint16(8192))) != 0) || ((c == '/') && (int32(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + 1))))) == '*')) {
+ ii = ii + (len)
+ continue
+ }
+ if ((c != '-') || (int32(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + 1))))) != '-')) || !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + 2))))))*2))) & int32(uint16(1024))) != 0) {
+ ii = ii + (len)
+ continue
+ }
+
+ // Run any prior SQL before processing the new --command
+ if ii > iBegin {
+ var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+1267 /* "%.*s" */, crt.VaList(bp, (ii-iBegin), (zScript+uintptr(iBegin))))
+ evalSql(tls, bp+360 /* &sResult */, zSql, 0)
+ sqlite3.Xsqlite3_free(tls, zSql)
+ iBegin = (ii + len)
+ }
+
+ // Parse the --command
+ if g.iTrace >= 2 {
+ logMessage(tls, ts+1267 /* "%.*s" */, crt.VaList(bp+16, len, (zScript+uintptr(ii))))
+ }
+ n = extractToken(tls, ((zScript + uintptr(ii)) + uintptr(2)), (len - 2), bp+380 /* &zCmd[0] */, int32(unsafe.Sizeof([30]int8{})))
+ for nArg = 0; (n < (len - 2)) && (nArg < 2); nArg++ {
+ for (n < (len - 2)) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr(((ii + 2) + n)))))))*2))) & int32(uint16(8192))) != 0) {
+ n++
+ }
+ if n >= (len - 2) {
+ break
+ }
+ n = n + (extractToken(tls, (((zScript + uintptr(ii)) + uintptr(2)) + uintptr(n)), ((len - 2) - n),
+ (bp + 410 /* &azArg[0] */ + uintptr(nArg)*100), int32(unsafe.Sizeof([100]int8{}))))
+ }
+ for j = nArg; j < 2; j++ {
+ *(*int8)(unsafe.Pointer((bp + 410 /* &azArg[0] */ + uintptr(crt.PostIncInt32(&j, 1))*100) + uintptr(0))) = int8(0)
+ }
+
+ // --sleep N
+ //
+ // Pause for N milliseconds
+ if crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1272 /* "sleep" */) == 0 {
+ sqlite3.Xsqlite3_sleep(tls, crt.Xatoi(tls, (bp+410 /* &azArg[0] */ +uintptr(0)*100)))
+ } else
+
+ // --exit N
+ //
+ // Exit this process. If N>0 then exit without shutting down
+ // SQLite. (In other words, simulate a crash.)
+ if crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1278 /* "exit" */) == 0 {
+ var rc int32 = crt.Xatoi(tls, (bp + 410 /* &azArg[0] */ + uintptr(0)*100))
+ finishScript(tls, iClient, taskId, 1)
+ if rc == 0 {
+ sqlite3.Xsqlite3_close(tls, g.db)
+ }
+ crt.Xexit(tls, rc)
+ } else
+
+ // --testcase NAME
+ //
+ // Begin a new test case. Announce in the log that the test case
+ // has begun.
+ if crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1283 /* "testcase" */) == 0 {
+ if g.iTrace == 1 {
+ logMessage(tls, ts+1267 /* "%.*s" */, crt.VaList(bp+32, (len-1), (zScript+uintptr(ii))))
+ }
+ stringReset(tls, bp+360 /* &sResult */)
+ } else
+
+ // --finish
+ //
+ // Mark the current task as having finished, even if it is not.
+ // This can be used in conjunction with --exit to simulate a crash.
+ if (crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1292 /* "finish" */) == 0) && (iClient > 0) {
+ finishScript(tls, iClient, taskId, 1)
+ } else
+
+ // --reset
+ //
+ // Reset accumulated results back to an empty string
+ if crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1299 /* "reset" */) == 0 {
+ stringReset(tls, bp+360 /* &sResult */)
+ } else
+
+ // --match ANSWER...
+ //
+ // Check to see if output matches ANSWER. Report an error if not.
+ if crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1305 /* "match" */) == 0 {
+ var jj int32
+ var zAns uintptr = (zScript + uintptr(ii))
+ for jj = 7; (jj < (len - 1)) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zAns + uintptr(jj))))))*2))) & int32(uint16(8192))) != 0); jj++ {
+ }
+ zAns += uintptr(jj)
+ if (((len - jj) - 1) != (*String)(unsafe.Pointer(bp+360 /* &sResult */)).n) || (crt.Xstrncmp(tls, (*String)(unsafe.Pointer(bp+360 /* &sResult */)).z, zAns, (uint64((len-jj)-1))) != 0) {
+ errorMessage(tls, ts+1311, /* "line %d of %s:\nE..." */
+ crt.VaList(bp+48, prevLine, zFilename, ((len-jj)-1), zAns, (*String)(unsafe.Pointer(bp+360 /* &sResult */)).z))
+ }
+ g.nTest++
+ stringReset(tls, bp+360 /* &sResult */)
+ } else
+
+ // --glob ANSWER...
+ // --notglob ANSWER....
+ //
+ // Check to see if output does or does not match the glob pattern
+ // ANSWER.
+ if (crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1356 /* "glob" */) == 0) || (crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1361 /* "notglob" */) == 0) {
+ var jj int32
+ var zAns uintptr = (zScript + uintptr(ii))
+ var zCopy uintptr
+ var isGlob int32 = (crt.Bool32(int32(*(*int8)(unsafe.Pointer(bp + 380 /* &zCmd[0] */ + uintptr(0)))) == 'g'))
+ for jj = (9 - (3 * isGlob)); (jj < (len - 1)) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zAns + uintptr(jj))))))*2))) & int32(uint16(8192))) != 0); jj++ {
+ }
+ zAns += uintptr(jj)
+ zCopy = sqlite3.Xsqlite3_mprintf(tls, ts+1267 /* "%.*s" */, crt.VaList(bp+88, ((len-jj)-1), zAns))
+ if ((crt.Bool32(sqlite3.Xsqlite3_strglob(tls, zCopy, (*String)(unsafe.Pointer(bp+360 /* &sResult */)).z) == 0)) ^ isGlob) != 0 {
+ errorMessage(tls, ts+1369, /* "line %d of %s:\nE..." */
+ crt.VaList(bp+104, prevLine, zFilename, zCopy, (*String)(unsafe.Pointer(bp+360 /* &sResult */)).z))
+ }
+ sqlite3.Xsqlite3_free(tls, zCopy)
+ g.nTest++
+ stringReset(tls, bp+360 /* &sResult */)
+ } else
+
+ // --output
+ //
+ // Output the result of the previous SQL.
+ if crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1412 /* "output" */) == 0 {
+ logMessage(tls, ts+503 /* "%s" */, crt.VaList(bp+136, (*String)(unsafe.Pointer(bp+360 /* &sResult */)).z))
+ } else
+
+ // --source FILENAME
+ //
+ // Run a subscript from a separate file.
+ if crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1419 /* "source" */) == 0 {
+ var zNewFile uintptr
+ var zNewScript uintptr
+ var zToDel uintptr = uintptr(0)
+ zNewFile = (bp + 410 /* &azArg[0] */ + uintptr(0)*100)
+ if !((int32(*(*int8)(unsafe.Pointer(zNewFile + uintptr(0))))) == '/') {
+ var k int32
+ for k = (int32(crt.Xstrlen(tls, zFilename)) - 1); (k >= 0) && !((int32(*(*int8)(unsafe.Pointer(zFilename + uintptr(k))))) == '/'); k-- {
+ }
+ if k > 0 {
+ zNewFile = crt.AssignUintptr(&zToDel, sqlite3.Xsqlite3_mprintf(tls, ts+1426 /* "%.*s/%s" */, crt.VaList(bp+144, k, zFilename, zNewFile)))
+ }
+ }
+ zNewScript = readFile(tls, zNewFile)
+ if g.iTrace != 0 {
+ logMessage(tls, ts+1434 /* "begin script [%s..." */, crt.VaList(bp+168, zNewFile))
+ }
+ runScript(tls, 0, 0, zNewScript, zNewFile)
+ sqlite3.Xsqlite3_free(tls, zNewScript)
+ if g.iTrace != 0 {
+ logMessage(tls, ts+1453 /* "end script [%s]\n" */, crt.VaList(bp+176, zNewFile))
+ }
+ sqlite3.Xsqlite3_free(tls, zToDel)
+ } else
+
+ // --print MESSAGE....
+ //
+ // Output the remainder of the line to the log file
+ if crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1470 /* "print" */) == 0 {
+ var jj int32
+ for jj = 7; (jj < len) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + jj)))))))*2))) & int32(uint16(8192))) != 0); jj++ {
+ }
+ logMessage(tls, ts+1267 /* "%.*s" */, crt.VaList(bp+184, (len-jj), ((zScript+uintptr(ii))+uintptr(jj))))
+ } else
+
+ // --if EXPR
+ //
+ // Skip forward to the next matching --endif or --else if EXPR is false.
+ if crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1476 /* "if" */) == 0 {
+ var jj int32
+ var rc int32
+ var pStmt uintptr
+ for jj = 4; (jj < len) && ((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(crt.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + jj)))))))*2))) & int32(uint16(8192))) != 0); jj++ {
+ }
+ pStmt = prepareSql(tls, ts+1479 /* "SELECT %.*s" */, crt.VaList(bp+200, (len-jj), ((zScript+uintptr(ii))+uintptr(jj))))
+ rc = sqlite3.Xsqlite3_step(tls, pStmt)
+ if (rc != 100) || (sqlite3.Xsqlite3_column_int(tls, pStmt, 0) == 0) {
+ ii = ii + (findEndif(tls, ((zScript + uintptr(ii)) + uintptr(len)), 1, bp+376 /* &lineno */))
+ }
+ sqlite3.Xsqlite3_finalize(tls, pStmt)
+ } else
+
+ // --else
+ //
+ // This command can only be encountered if currently inside an --if that
+ // is true. Skip forward to the next matching --endif.
+ if crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1491 /* "else" */) == 0 {
+ ii = ii + (findEndif(tls, ((zScript + uintptr(ii)) + uintptr(len)), 0, bp+376 /* &lineno */))
+ } else
+
+ // --endif
+ //
+ // This command can only be encountered if currently inside an --if that
+ // is true or an --else of a false if. This is a no-op.
+ if crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1496 /* "endif" */) == 0 {
+ } else
+
+ // --start CLIENT
+ //
+ // Start up the given client.
+ if (crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1502 /* "start" */) == 0) && (iClient == 0) {
+ var iNewClient int32 = crt.Xatoi(tls, (bp + 410 /* &azArg[0] */ + uintptr(0)*100))
+ if iNewClient > 0 {
+ startClient(tls, iNewClient)
+ }
+ } else
+
+ // --wait CLIENT TIMEOUT
+ //
+ // Wait until all tasks complete for the given client. If CLIENT is
+ // "all" then wait for all clients to complete. Wait no longer than
+ // TIMEOUT milliseconds (default 10,000)
+ if (crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1508 /* "wait" */) == 0) && (iClient == 0) {
+ var iTimeout int32
+ if nArg >= 2 {
+ iTimeout = crt.Xatoi(tls, (bp + 410 /* &azArg[0] */ + uintptr(1)*100))
+ } else {
+ iTimeout = 10000
+ }
+ sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([1000]int8{})), bp+610 /* &zError[0] */, ts+1513, /* "line %d of %s\n" */
+ crt.VaList(bp+216, prevLine, zFilename))
+ waitForClient(tls, crt.Xatoi(tls, (bp+410 /* &azArg[0] */ +uintptr(0)*100)), iTimeout, bp+610 /* &zError[0] */)
+ } else
+
+ // --task CLIENT
+ // <task-content-here>
+ // --end
+ //
+ // Assign work to a client. Start the client if it is not running
+ // already.
+ if (crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1528 /* "task" */) == 0) && (iClient == 0) {
+ var iTarget int32 = crt.Xatoi(tls, (bp + 410 /* &azArg[0] */ + uintptr(0)*100))
+ var iEnd int32
+ var zTask uintptr
+ var zTName uintptr
+ iEnd = findEnd(tls, ((zScript + uintptr(ii)) + uintptr(len)), bp+376 /* &lineno */)
+ if iTarget < 0 {
+ errorMessage(tls, ts+1533, /* "line %d of %s: b..." */
+ crt.VaList(bp+232, prevLine, zFilename, iTarget))
+ } else {
+ zTask = sqlite3.Xsqlite3_mprintf(tls, ts+1267 /* "%.*s" */, crt.VaList(bp+256, iEnd, ((zScript+uintptr(ii))+uintptr(len))))
+ if nArg > 1 {
+ zTName = sqlite3.Xsqlite3_mprintf(tls, ts+503 /* "%s" */, crt.VaList(bp+272, (bp+410 /* &azArg[0] */ +uintptr(1)*100)))
+ } else {
+ zTName = sqlite3.Xsqlite3_mprintf(tls, ts+1570 /* "%s:%d" */, crt.VaList(bp+280, filenameTail(tls, zFilename), prevLine))
+ }
+ startClient(tls, iTarget)
+ runSql(tls,
+ ts+1576 /* "INSERT INTO task..." */, crt.VaList(bp+296, iTarget, zTask, zTName))
+ sqlite3.Xsqlite3_free(tls, zTask)
+ sqlite3.Xsqlite3_free(tls, zTName)
+ }
+ iEnd = iEnd + (tokenLength(tls, (((zScript + uintptr(ii)) + uintptr(len)) + uintptr(iEnd)), bp+376 /* &lineno */))
+ len = len + (iEnd)
+ iBegin = (ii + len)
+ } else
+
+ // --breakpoint
+ //
+ // This command calls "test_breakpoint()" which is a routine provided
+ // as a convenient place to set a debugger breakpoint.
+ if crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1632 /* "breakpoint" */) == 0 {
+ test_breakpoint(tls)
+ } else
+
+ // --show-sql-errors BOOLEAN
+ //
+ // Turn display of SQL errors on and off.
+ if crt.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1643 /* "show-sql-errors" */) == 0 {
+ g.bIgnoreSqlErrors = func() int32 {
+ if nArg >= 1 {
+ return crt.BoolInt32(!(booleanValue(tls, (bp+410 /* &azArg[0] */ +uintptr(0)*100)) != 0))
+ }
+ return 1
+ }()
+ } else {
+ errorMessage(tls, ts+1659, /* "line %d of %s: u..." */
+ crt.VaList(bp+320, prevLine, zFilename, bp+380 /* &zCmd[0] */))
+ }
+ ii = ii + (len)
+ }
+ if iBegin < ii {
+ var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+1267 /* "%.*s" */, crt.VaList(bp+344, (ii-iBegin), (zScript+uintptr(iBegin))))
+ runSql(tls, zSql, 0)
+ sqlite3.Xsqlite3_free(tls, zSql)
+ }
+ stringFree(tls, bp+360 /* &sResult */)
}
-var s__175 = [28]byte{
- 0x62, 0x65, 0x67, 0x69, 0x6e, 0x20, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x5b, 0x25, 0x73,
- 0x5d, 0x20, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x20, 0x25, 0x64, 0x0a,
+// Look for a command-line option. If present, return a pointer.
+// Return NULL if missing.
+//
+// hasArg==0 means the option is a flag. It is either present or not.
+// hasArg==1 means the option has an argument. Return a pointer to the
+// argument.
+func findOption(tls *crt.TLS, azArg uintptr, pnArg uintptr, zOption uintptr, hasArg int32) uintptr { /* mptest.c:1201:13: */
+ bp := tls.Alloc(8)
+ defer tls.Free(8)
+
+ var i int32
+ var j int32
+ var zReturn uintptr = uintptr(0)
+ var nArg int32 = *(*int32)(unsafe.Pointer(pnArg))
+
+ if !((hasArg == 0) || (hasArg == 1)) {
+ crt.X__assert_fail(tls, ts+1695 /* "hasArg==0 || has..." */, ts+164 /* "testdata/sqlite-..." */, uint32(1211), uintptr(unsafe.Pointer(&__func__1)))
+ }
+ for i = 0; i < nArg; i++ {
+ var z uintptr
+ if (i + hasArg) >= nArg {
+ break
+ }
+ z = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8))
+ if int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) != '-' {
+ continue
+ }
+ z++
+ if int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '-' {
+ if int32(*(*int8)(unsafe.Pointer(z + uintptr(1)))) == 0 {
+ break
+ }
+ z++
+ }
+ if crt.Xstrcmp(tls, z, zOption) == 0 {
+ if (hasArg != 0) && (i == (nArg - 1)) {
+ fatalError(tls, ts+1718 /* "command-line opt..." */, crt.VaList(bp, z))
+ }
+ if hasArg != 0 {
+ zReturn = *(*uintptr)(unsafe.Pointer(azArg + uintptr((i+1))*8))
+ } else {
+ zReturn = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8))
+ }
+ j = ((i + 1) + (crt.Bool32(hasArg != 0)))
+ for j < nArg {
+ *(*uintptr)(unsafe.Pointer(azArg + uintptr(crt.PostIncInt32(&i, 1))*8)) = *(*uintptr)(unsafe.Pointer(azArg + uintptr(crt.PostIncInt32(&j, 1))*8))
+ }
+ *(*int32)(unsafe.Pointer(pnArg)) = i
+ return zReturn
+ }
+ }
+ return zReturn
}
-var s__176 = [26]byte{
- 0x65, 0x6e, 0x64, 0x20, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x5b, 0x25, 0x73, 0x5d, 0x20,
- 0x63, 0x79, 0x63, 0x6c, 0x65, 0x20, 0x25, 0x64, 0x0a,
-}
+var __func__1 = *(*[11]int8)(unsafe.Pointer(ts + 1766 /* "findOption" */)) /* mptest.c:1206:2 */
-var s__177 = [20]byte{
- 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x2e,
- 0x2e, 0x2e, 0x0a,
-}
+// Print a usage message for the program and exit
+func usage(tls *crt.TLS, argv0 uintptr) { /* mptest.c:1241:13: */
+ bp := tls.Alloc(8)
+ defer tls.Free(8)
-var s__178 = [29]byte{
- 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x53, 0x45,
- 0x54, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x48, 0x61, 0x6c, 0x74, 0x3d, 0x31,
-}
+ var i int32
+ var zTail uintptr = argv0
+ for i = 0; *(*int8)(unsafe.Pointer(argv0 + uintptr(i))) != 0; i++ {
+ if (int32(*(*int8)(unsafe.Pointer(argv0 + uintptr(i))))) == '/' {
+ zTail = ((argv0 + uintptr(i)) + uintptr(1))
+ }
+ }
+ crt.Xfprintf(tls, crt.Xstderr, ts+1777 /* "Usage: %s DATABA..." */, crt.VaList(bp, zTail))
+ crt.Xfprintf(tls, crt.Xstderr,
-var s__179 = [21]byte{
- 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x20, 0x31, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0x20, 0x63, 0x6c,
- 0x69, 0x65, 0x6e, 0x74,
+ ts+1816 /* "Options:\n --er..." */, 0)
+ crt.Xexit(tls, 1)
}
-var s__180 = [35]byte{
- 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x20, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2c, 0x20, 0x6e,
- 0x54, 0x65, 0x73, 0x74, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65,
- 0x72, 0x73,
+// Report on unrecognized arguments
+func unrecognizedArguments(tls *crt.TLS, argv0 uintptr, nArg int32, azArg uintptr) { /* mptest.c:1265:13: */
+ bp := tls.Alloc(16)
+ defer tls.Free(16)
+
+ var i int32
+ crt.Xfprintf(tls, crt.Xstderr, ts+2388 /* "%s: unrecognized..." */, crt.VaList(bp, argv0))
+ for i = 0; i < nArg; i++ {
+ crt.Xfprintf(tls, crt.Xstderr, ts+2416 /* " %s" */, crt.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8))))
+ }
+ crt.Xfprintf(tls, crt.Xstderr, ts+2420 /* "\n" */, 0)
+ crt.Xexit(tls, 1)
}
-var s__181 = [36]byte{
- 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x3a, 0x20, 0x25, 0x64, 0x20, 0x65, 0x72, 0x72, 0x6f,
- 0x72, 0x73, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x25, 0x64, 0x20, 0x74, 0x65, 0x73,
- 0x74, 0x73, 0x0a,
+func main1(tls *crt.TLS, argc int32, argv uintptr) int32 { /* mptest.c:1279:18: */
+ bp := tls.Alloc(264)
+ defer tls.Free(264)
+
+ var zClient uintptr
+ var iClient int32
+ // var n int32 at bp+232, 4
+
+ var i int32
+ var openFlags int32 = 0x00000002
+ var rc int32
+ // var zScript uintptr at bp+240, 8
+
+ // var taskId int32 at bp+248, 4
+
+ var zTrace uintptr
+ var zCOption uintptr
+ var zJMode uintptr
+ var zNRep uintptr
+ var nRep int32 = 1
+ var iRep int32
+ var iTmout int32 = 0 // Default: no timeout
+ var zTmout uintptr
+
+ g.argv0 = *(*uintptr)(unsafe.Pointer(argv + uintptr(0)*8))
+ g.iTrace = 1
+ if argc < 2 {
+ usage(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(0)*8)))
+ }
+ g.zDbFile = *(*uintptr)(unsafe.Pointer(argv + uintptr(1)*8))
+ if strglob(tls, ts+2422 /* "*.test" */, g.zDbFile) != 0 {
+ usage(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(0)*8)))
+ }
+ if crt.Xstrcmp(tls, sqlite3.Xsqlite3_sourceid(tls), ts+2429 /* "2020-06-18 14:00..." */) != 0 {
+ crt.Xfprintf(tls, crt.Xstderr,
+
+ ts+2514, /* "SQLite library a..." */
+ crt.VaList(bp, sqlite3.Xsqlite3_sourceid(tls), ts+2429 /* "2020-06-18 14:00..." */))
+ crt.Xexit(tls, 1)
+ }
+ *(*int32)(unsafe.Pointer(bp + 232 /* n */)) = (argc - 2)
+ sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), uintptr(unsafe.Pointer(&g))+64 /* &.zName */, ts+2574 /* "%05d.mptest" */, crt.VaList(bp+16, crt.Xgetpid(tls)))
+ zJMode = findOption(tls, (argv + uintptr(2)*8), bp+232 /* &n */, ts+2586 /* "journalmode" */, 1)
+ zNRep = findOption(tls, (argv + uintptr(2)*8), bp+232 /* &n */, ts+2598 /* "repeat" */, 1)
+ if zNRep != 0 {
+ nRep = crt.Xatoi(tls, zNRep)
+ }
+ if nRep < 1 {
+ nRep = 1
+ }
+ g.zVfs = findOption(tls, (argv + uintptr(2)*8), bp+232 /* &n */, ts+2605 /* "vfs" */, 1)
+ zClient = findOption(tls, (argv + uintptr(2)*8), bp+232 /* &n */, ts+2609 /* "client" */, 1)
+ g.zErrLog = findOption(tls, (argv + uintptr(2)*8), bp+232 /* &n */, ts+2616 /* "errlog" */, 1)
+ g.zLog = findOption(tls, (argv + uintptr(2)*8), bp+232 /* &n */, ts+2623 /* "log" */, 1)
+ zTrace = findOption(tls, (argv + uintptr(2)*8), bp+232 /* &n */, ts+2627 /* "trace" */, 1)
+ if zTrace != 0 {
+ g.iTrace = crt.Xatoi(tls, zTrace)
+ }
+ if findOption(tls, (argv+uintptr(2)*8), bp+232 /* &n */, ts+2633 /* "quiet" */, 0) != uintptr(0) {
+ g.iTrace = 0
+ }
+ zTmout = findOption(tls, (argv + uintptr(2)*8), bp+232 /* &n */, ts+2639 /* "timeout" */, 1)
+ if zTmout != 0 {
+ iTmout = crt.Xatoi(tls, zTmout)
+ }
+ g.bSqlTrace = (crt.Bool32(findOption(tls, (argv+uintptr(2)*8), bp+232 /* &n */, ts+2647 /* "sqltrace" */, 0) != uintptr(0)))
+ g.bSync = (crt.Bool32(findOption(tls, (argv+uintptr(2)*8), bp+232 /* &n */, ts+2656 /* "sync" */, 0) != uintptr(0)))
+ if g.zErrLog != 0 {
+ g.pErrLog = crt.Xfopen(tls, g.zErrLog, ts+2661 /* "a" */)
+ } else {
+ g.pErrLog = crt.Xstderr
+ }
+ if g.zLog != 0 {
+ g.pLog = crt.Xfopen(tls, g.zLog, ts+2661 /* "a" */)
+ } else {
+ g.pLog = crt.Xstdout
+ }
+
+ sqlite3.Xsqlite3_config(tls, 16, crt.VaList(bp+24, *(*uintptr)(unsafe.Pointer(&struct {
+ f func(*crt.TLS, uintptr, int32, uintptr)
+ }{sqlErrorCallback})), 0))
+ if zClient != 0 {
+ iClient = crt.Xatoi(tls, zClient)
+ if iClient < 1 {
+ fatalError(tls, ts+2663 /* "illegal client n..." */, crt.VaList(bp+40, iClient))
+ }
+ sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), uintptr(unsafe.Pointer(&g))+64 /* &.zName */, ts+2690, /* "%05d.client%02d" */
+ crt.VaList(bp+48, crt.Xgetpid(tls), iClient))
+ } else {
+ var nTry int32 = 0
+ if g.iTrace > 0 {
+ crt.Xprintf(tls, ts+2706 /* "BEGIN: %s" */, crt.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv + uintptr(0)*8))))
+ for i = 1; i < argc; i++ {
+ crt.Xprintf(tls, ts+2416 /* " %s" */, crt.VaList(bp+72, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
+ }
+ crt.Xprintf(tls, ts+2420 /* "\n" */, 0)
+ crt.Xprintf(tls, ts+2716 /* "With SQLite 3.32..." */, 0)
+ for i = 0; (crt.AssignUintptr(&zCOption, sqlite3.Xsqlite3_compileoption_get(tls, i))) != uintptr(0); i++ {
+ crt.Xprintf(tls, ts+2821 /* "-DSQLITE_%s\n" */, crt.VaList(bp+80, zCOption))
+ }
+ crt.Xfflush(tls, crt.Xstdout)
+ }
+ iClient = 0
+ for ok := true; ok; ok = (((rc != 0) && ((crt.PreIncInt32(&nTry, 1)) < 60)) && (sqlite3.Xsqlite3_sleep(tls, 1000) > 0)) {
+ if (nTry % 5) == 4 {
+ crt.Xprintf(tls, ts+2834, /* "... %strying to ..." */
+ crt.VaList(bp+88, func() uintptr {
+ if nTry > 5 {
+ return ts + 2863 /* "still " */
+ }
+ return ts + 1164 /* "" */
+ }(), g.zDbFile))
+ }
+ rc = crt.Xunlink(tls, g.zDbFile)
+ if (rc != 0) && ((*(*int32)(unsafe.Pointer(crt.X__errno_location(tls)))) == 2) {
+ rc = 0
+ }
+ }
+ if rc != 0 {
+ fatalError(tls, ts+2870, /* "unable to unlink..." */
+ crt.VaList(bp+104, g.zDbFile, nTry))
+ }
+ openFlags = openFlags | (0x00000004)
+ }
+ rc = sqlite3.Xsqlite3_open_v2(tls, g.zDbFile, (uintptr(unsafe.Pointer(&g)) + 24 /* &.db */), openFlags, g.zVfs)
+ if rc != 0 {
+ fatalError(tls, ts+2911 /* "cannot open [%s]" */, crt.VaList(bp+120, g.zDbFile))
+ }
+ if iTmout > 0 {
+ sqlite3.Xsqlite3_busy_timeout(tls, g.db, iTmout)
+ }
+
+ if zJMode != 0 {
+ runSql(tls, ts+2928 /* "PRAGMA journal_m..." */, crt.VaList(bp+128, zJMode))
+ }
+ if !(g.bSync != 0) {
+ trySql(tls, ts+2952 /* "PRAGMA synchrono..." */, 0)
+ }
+ sqlite3.Xsqlite3_enable_load_extension(tls, g.db, 1)
+ sqlite3.Xsqlite3_busy_handler(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct {
+ f func(*crt.TLS, uintptr, int32) int32
+ }{busyHandler})), uintptr(0))
+ sqlite3.Xsqlite3_create_function(tls, g.db, ts+2975 /* "vfsname" */, 0, 1, uintptr(0),
+ *(*uintptr)(unsafe.Pointer(&struct {
+ f func(*crt.TLS, uintptr, int32, uintptr)
+ }{vfsNameFunc})), uintptr(0), uintptr(0))
+ sqlite3.Xsqlite3_create_function(tls, g.db, ts+2983 /* "eval" */, 1, 1, uintptr(0),
+ *(*uintptr)(unsafe.Pointer(&struct {
+ f func(*crt.TLS, uintptr, int32, uintptr)
+ }{evalFunc})), uintptr(0), uintptr(0))
+ g.iTimeout = 10000
+ if g.bSqlTrace != 0 {
+ sqlite3.Xsqlite3_trace(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct {
+ f func(*crt.TLS, uintptr, uintptr)
+ }{sqlTraceCallback})), uintptr(0))
+ }
+ if iClient > 0 {
+ if *(*int32)(unsafe.Pointer(bp + 232 /* n */)) > 0 {
+ unrecognizedArguments(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(0)*8)), *(*int32)(unsafe.Pointer(bp + 232 /* n */)), (argv + uintptr(2)*8))
+ }
+ if g.iTrace != 0 {
+ logMessage(tls, ts+2988 /* "start-client" */, 0)
+ }
+ for 1 != 0 {
+ *(*uintptr)(unsafe.Pointer(bp + 256 /* zTaskName */)) = uintptr(0)
+ rc = startScript(tls, iClient, bp+240 /* &zScript */, bp+248 /* &taskId */, bp+256 /* &zTaskName */)
+ if rc == 101 {
+ break
+ }
+ if g.iTrace != 0 {
+ logMessage(tls, ts+3001 /* "begin %s (%d)" */, crt.VaList(bp+136, *(*uintptr)(unsafe.Pointer(bp + 256 /* zTaskName */)), *(*int32)(unsafe.Pointer(bp + 248 /* taskId */))))
+ }
+ runScript(tls, iClient, *(*int32)(unsafe.Pointer(bp + 248 /* taskId */)), *(*uintptr)(unsafe.Pointer(bp + 240 /* zScript */)), *(*uintptr)(unsafe.Pointer(bp + 256 /* zTaskName */)))
+ if g.iTrace != 0 {
+ logMessage(tls, ts+3015 /* "end %s (%d)" */, crt.VaList(bp+152, *(*uintptr)(unsafe.Pointer(bp + 256 /* zTaskName */)), *(*int32)(unsafe.Pointer(bp + 248 /* taskId */))))
+ }
+ finishScript(tls, iClient, *(*int32)(unsafe.Pointer(bp + 248 /* taskId */)), 0)
+ sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 256 /* zTaskName */)))
+ sqlite3.Xsqlite3_sleep(tls, 10)
+ }
+ if g.iTrace != 0 {
+ logMessage(tls, ts+3027 /* "end-client" */, 0)
+ }
+ } else {
+ var pStmt uintptr
+ var iTimeout int32
+ if *(*int32)(unsafe.Pointer(bp + 232 /* n */)) == 0 {
+ fatalError(tls, ts+3038 /* "missing script f..." */, 0)
+ }
+ if *(*int32)(unsafe.Pointer(bp + 232 /* n */)) > 1 {
+ unrecognizedArguments(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(0)*8)), *(*int32)(unsafe.Pointer(bp + 232 /* n */)), (argv + uintptr(2)*8))
+ }
+ runSql(tls,
+
+ ts+3062 /* "DROP TABLE IF EX..." */, 0)
+ *(*uintptr)(unsafe.Pointer(bp + 240 /* zScript */)) = readFile(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(2)*8)))
+ for iRep = 1; iRep <= nRep; iRep++ {
+ if g.iTrace != 0 {
+ logMessage(tls, ts+3498 /* "begin script [%s..." */, crt.VaList(bp+168, *(*uintptr)(unsafe.Pointer(argv + uintptr(2)*8)), iRep))
+ }
+ runScript(tls, 0, 0, *(*uintptr)(unsafe.Pointer(bp + 240 /* zScript */)), *(*uintptr)(unsafe.Pointer(argv + uintptr(2)*8)))
+ if g.iTrace != 0 {
+ logMessage(tls, ts+3526 /* "end script [%s] ..." */, crt.VaList(bp+184, *(*uintptr)(unsafe.Pointer(argv + uintptr(2)*8)), iRep))
+ }
+ }
+ sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 240 /* zScript */)))
+ waitForClient(tls, 0, 2000, ts+3552 /* "during shutdown...." */)
+ trySql(tls, ts+3572 /* "UPDATE client SE..." */, 0)
+ sqlite3.Xsqlite3_sleep(tls, 10)
+ g.iTimeout = 0
+ iTimeout = 1000
+ for (((crt.AssignInt32(&rc, trySql(tls, ts+3601 /* "SELECT 1 FROM cl..." */, 0))) == 5) ||
+ (rc == 100)) && (iTimeout > 0) {
+ sqlite3.Xsqlite3_sleep(tls, 10)
+ iTimeout = iTimeout - (10)
+ }
+ sqlite3.Xsqlite3_sleep(tls, 100)
+ pStmt = prepareSql(tls, ts+3622 /* "SELECT nError, n..." */, 0)
+ iTimeout = 1000
+ for ((crt.AssignInt32(&rc, sqlite3.Xsqlite3_step(tls, pStmt))) == 5) && (iTimeout > 0) {
+ sqlite3.Xsqlite3_sleep(tls, 10)
+ iTimeout = iTimeout - (10)
+ }
+ if rc == 100 {
+ *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112 /* &.nError */)) += (sqlite3.Xsqlite3_column_int(tls, pStmt, 0))
+ *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 116 /* &.nTest */)) += (sqlite3.Xsqlite3_column_int(tls, pStmt, 1))
+ }
+ sqlite3.Xsqlite3_finalize(tls, pStmt)
+ }
+ sqlite3.Xsqlite3_close(tls, g.db)
+ maybeClose(tls, g.pLog)
+ maybeClose(tls, g.pErrLog)
+ if iClient == 0 {
+ crt.Xprintf(tls, ts+3657 /* "Summary: %d erro..." */, crt.VaList(bp+200, g.nError, g.nTest))
+ crt.Xprintf(tls, ts+3693 /* "END: %s" */, crt.VaList(bp+216, *(*uintptr)(unsafe.Pointer(argv + uintptr(0)*8))))
+ for i = 1; i < argc; i++ {
+ crt.Xprintf(tls, ts+2416 /* " %s" */, crt.VaList(bp+224, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
+ }
+ crt.Xprintf(tls, ts+2420 /* "\n" */, 0)
+ }
+ return (crt.Bool32(g.nError > 0))
}
-var s__182 = [8]byte{0x45, 0x4e, 0x44, 0x3a, 0x20, 0x25, 0x73}
+var ts1 = "%s%.*s\n\x00%s:ERROR: \x00%s:FATAL: \x00UPDATE client SET wantHalt=1;\x00%s: \x00main\x00timeout after %dms\x00[%.*s]\x00(info) %s\x00(errcode=%d) %s\x00%s\n%s\n\x00out of memory\x00 \x00nil\x00'\x00g.iTimeout>0\x00testdata/sqlite-src-3320300/mptest/mptest.c\x00error(%d)\x00evalSql\x00BEGIN IMMEDIATE\x00in startScript: %s\x00UPDATE counters SET nError=nError+%d, nTest=nTest+%d\x00SELECT 1 FROM client WHERE id=%d AND wantHalt\x00DELETE FROM client WHERE id=%d\x00COMMIT TRANSACTION;\x00SELECT script, id, name FROM task WHERE client=%d AND starttime IS NULL ORDER BY id LIMIT 1\x00%s\x00UPDATE task SET starttime=strftime('%%Y-%%m-%%d %%H:%%M:%%f','now') WHERE id=%d;\x00Waited over 30 seconds with no work. Giving up.\x00DELETE FROM client WHERE id=%d; COMMIT;\x00COMMIT\x00UPDATE task SET endtime=strftime('%%Y-%%m-%%d %%H:%%M:%%f','now') WHERE id=%d;\x00INSERT OR IGNORE INTO client VALUES(%d,0)\x00%s \"%s\" --client %d --trace %d\x00%z --sqltrace\x00%z --sync\x00%z --vfs \"%s\"\x00system('%q')\x00%z &\x00system() fails with error code %d\x00rb\x00cannot open \"%s\" for reading\x00--end\x00--endif\x00--else\x00--if\x00SELECT 1 FROM task WHERE client=%d AND client IN (SELECT id FROM client) AND endtime IS NULL\x00SELECT 1 FROM task WHERE client IN (SELECT id FROM client) AND endtime IS NULL\x00\x00%stimeout waiting for client %d\x00%stimeout waiting for all clients\x00on\x00yes\x00off\x00no\x00unknown boolean: [%s]\x00%.*s\x00sleep\x00exit\x00testcase\x00finish\x00reset\x00match\x00line %d of %s:\nExpected [%.*s]\n Got [%s]\x00glob\x00notglob\x00line %d of %s:\nExpected [%s]\n Got [%s]\x00output\x00source\x00%.*s/%s\x00begin script [%s]\n\x00end script [%s]\n\x00print\x00if\x00SELECT %.*s\x00else\x00endif\x00start\x00wait\x00line %d of %s\n\x00task\x00line %d of %s: bad client number: %d\x00%s:%d\x00INSERT INTO task(client,script,name) VALUES(%d,'%q',%Q)\x00breakpoint\x00show-sql-errors\x00line %d of %s: unknown command --%s\x00hasArg==0 || hasArg==1\x00command-line option \"--%s\" requires an argument\x00findOption\x00Usage: %s DATABASE ?OPTIONS? ?SCRIPT?\n\x00Options:\n --errlog FILENAME Write errors to FILENAME\n --journalmode MODE Use MODE as the journal_mode\n --log FILENAME Log messages to FILENAME\n --quiet Suppress unnecessary output\n --vfs NAME Use NAME as the VFS\n --repeat N Repeat the test N times\n --sqltrace Enable SQL tracing\n --sync Enable synchronous disk writes\n --timeout MILLISEC Busy timeout is MILLISEC\n --trace BOOLEAN Enable or disable tracing\n\x00%s: unrecognized arguments:\x00 %s\x00\n\x00*.test\x002020-06-18 14:00:33 7ebdfa80be8e8e73324b8d66b3460222eb74c7e9dfd655b48d6ca7e1933cc8fd\x00SQLite library and header mismatch\nLibrary: %s\nHeader: %s\n\x00%05d.mptest\x00journalmode\x00repeat\x00vfs\x00client\x00errlog\x00log\x00trace\x00quiet\x00timeout\x00sqltrace\x00sync\x00a\x00illegal client number: %d\n\x00%05d.client%02d\x00BEGIN: %s\x00With SQLite 3.32.3 2020-06-18 14:00:33 7ebdfa80be8e8e73324b8d66b3460222eb74c7e9dfd655b48d6ca7e1933cc8fd\n\x00-DSQLITE_%s\n\x00... %strying to unlink '%s'\n\x00still \x00unable to unlink '%s' after %d attempts\n\x00cannot open [%s]\x00PRAGMA journal_mode=%Q;\x00PRAGMA synchronous=OFF\x00vfsname\x00eval\x00start-client\x00begin %s (%d)\x00end %s (%d)\x00end-client\x00missing script filename\x00DROP TABLE IF EXISTS task;\nDROP TABLE IF EXISTS counters;\nDROP TABLE IF EXISTS client;\nCREATE TABLE task(\n id INTEGER PRIMARY KEY,\n name TEXT,\n client INTEGER,\n starttime DATE,\n endtime DATE,\n script TEXT\n);CREATE INDEX task_i1 ON task(client, starttime);\nCREATE INDEX task_i2 ON task(client, endtime);\nCREATE TABLE counters(nError,nTest);\nINSERT INTO counters VALUES(0,0);\nCREATE TABLE client(id INTEGER PRIMARY KEY, wantHalt);\n\x00begin script [%s] cycle %d\n\x00end script [%s] cycle %d\n\x00during shutdown...\n\x00UPDATE client SET wantHalt=1\x00SELECT 1 FROM client\x00SELECT nError, nTest FROM counters\x00Summary: %d errors out of %d tests\n\x00END: %s\x00"
+var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data