e.go 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547
  1. /*
  2. * Copyright (c) 2000-2018, 达梦数据库有限公司.
  3. * All rights reserved.
  4. */
  5. package dm
  6. import (
  7. "bytes"
  8. "golang.org/x/text/encoding"
  9. "golang.org/x/text/encoding/ianaindex"
  10. "golang.org/x/text/transform"
  11. "io"
  12. "io/ioutil"
  13. "math"
  14. )
  15. type dm_build_0 struct{}
  16. var Dm_build_1 = &dm_build_0{}
  17. func (Dm_build_3 *dm_build_0) Dm_build_2(dm_build_4 []byte, dm_build_5 int, dm_build_6 byte) int {
  18. dm_build_4[dm_build_5] = dm_build_6
  19. return 1
  20. }
  21. func (Dm_build_8 *dm_build_0) Dm_build_7(dm_build_9 []byte, dm_build_10 int, dm_build_11 int8) int {
  22. dm_build_9[dm_build_10] = byte(dm_build_11)
  23. return 1
  24. }
  25. func (Dm_build_13 *dm_build_0) Dm_build_12(dm_build_14 []byte, dm_build_15 int, dm_build_16 int16) int {
  26. dm_build_14[dm_build_15] = byte(dm_build_16)
  27. dm_build_15++
  28. dm_build_14[dm_build_15] = byte(dm_build_16 >> 8)
  29. return 2
  30. }
  31. func (Dm_build_18 *dm_build_0) Dm_build_17(dm_build_19 []byte, dm_build_20 int, dm_build_21 int32) int {
  32. dm_build_19[dm_build_20] = byte(dm_build_21)
  33. dm_build_20++
  34. dm_build_19[dm_build_20] = byte(dm_build_21 >> 8)
  35. dm_build_20++
  36. dm_build_19[dm_build_20] = byte(dm_build_21 >> 16)
  37. dm_build_20++
  38. dm_build_19[dm_build_20] = byte(dm_build_21 >> 24)
  39. dm_build_20++
  40. return 4
  41. }
  42. func (Dm_build_23 *dm_build_0) Dm_build_22(dm_build_24 []byte, dm_build_25 int, dm_build_26 int64) int {
  43. dm_build_24[dm_build_25] = byte(dm_build_26)
  44. dm_build_25++
  45. dm_build_24[dm_build_25] = byte(dm_build_26 >> 8)
  46. dm_build_25++
  47. dm_build_24[dm_build_25] = byte(dm_build_26 >> 16)
  48. dm_build_25++
  49. dm_build_24[dm_build_25] = byte(dm_build_26 >> 24)
  50. dm_build_25++
  51. dm_build_24[dm_build_25] = byte(dm_build_26 >> 32)
  52. dm_build_25++
  53. dm_build_24[dm_build_25] = byte(dm_build_26 >> 40)
  54. dm_build_25++
  55. dm_build_24[dm_build_25] = byte(dm_build_26 >> 48)
  56. dm_build_25++
  57. dm_build_24[dm_build_25] = byte(dm_build_26 >> 56)
  58. return 8
  59. }
  60. func (Dm_build_28 *dm_build_0) Dm_build_27(dm_build_29 []byte, dm_build_30 int, dm_build_31 float32) int {
  61. return Dm_build_28.Dm_build_47(dm_build_29, dm_build_30, math.Float32bits(dm_build_31))
  62. }
  63. func (Dm_build_33 *dm_build_0) Dm_build_32(dm_build_34 []byte, dm_build_35 int, dm_build_36 float64) int {
  64. return Dm_build_33.Dm_build_52(dm_build_34, dm_build_35, math.Float64bits(dm_build_36))
  65. }
  66. func (Dm_build_38 *dm_build_0) Dm_build_37(dm_build_39 []byte, dm_build_40 int, dm_build_41 uint8) int {
  67. dm_build_39[dm_build_40] = byte(dm_build_41)
  68. return 1
  69. }
  70. func (Dm_build_43 *dm_build_0) Dm_build_42(dm_build_44 []byte, dm_build_45 int, dm_build_46 uint16) int {
  71. dm_build_44[dm_build_45] = byte(dm_build_46)
  72. dm_build_45++
  73. dm_build_44[dm_build_45] = byte(dm_build_46 >> 8)
  74. return 2
  75. }
  76. func (Dm_build_48 *dm_build_0) Dm_build_47(dm_build_49 []byte, dm_build_50 int, dm_build_51 uint32) int {
  77. dm_build_49[dm_build_50] = byte(dm_build_51)
  78. dm_build_50++
  79. dm_build_49[dm_build_50] = byte(dm_build_51 >> 8)
  80. dm_build_50++
  81. dm_build_49[dm_build_50] = byte(dm_build_51 >> 16)
  82. dm_build_50++
  83. dm_build_49[dm_build_50] = byte(dm_build_51 >> 24)
  84. return 3
  85. }
  86. func (Dm_build_53 *dm_build_0) Dm_build_52(dm_build_54 []byte, dm_build_55 int, dm_build_56 uint64) int {
  87. dm_build_54[dm_build_55] = byte(dm_build_56)
  88. dm_build_55++
  89. dm_build_54[dm_build_55] = byte(dm_build_56 >> 8)
  90. dm_build_55++
  91. dm_build_54[dm_build_55] = byte(dm_build_56 >> 16)
  92. dm_build_55++
  93. dm_build_54[dm_build_55] = byte(dm_build_56 >> 24)
  94. dm_build_55++
  95. dm_build_54[dm_build_55] = byte(dm_build_56 >> 32)
  96. dm_build_55++
  97. dm_build_54[dm_build_55] = byte(dm_build_56 >> 40)
  98. dm_build_55++
  99. dm_build_54[dm_build_55] = byte(dm_build_56 >> 48)
  100. dm_build_55++
  101. dm_build_54[dm_build_55] = byte(dm_build_56 >> 56)
  102. return 3
  103. }
  104. func (Dm_build_58 *dm_build_0) Dm_build_57(dm_build_59 []byte, dm_build_60 int, dm_build_61 []byte, dm_build_62 int, dm_build_63 int) int {
  105. copy(dm_build_59[dm_build_60:dm_build_60+dm_build_63], dm_build_61[dm_build_62:dm_build_62+dm_build_63])
  106. return dm_build_63
  107. }
  108. func (Dm_build_65 *dm_build_0) Dm_build_64(dm_build_66 []byte, dm_build_67 int, dm_build_68 []byte, dm_build_69 int, dm_build_70 int) int {
  109. dm_build_67 += Dm_build_65.Dm_build_47(dm_build_66, dm_build_67, uint32(dm_build_70))
  110. return 4 + Dm_build_65.Dm_build_57(dm_build_66, dm_build_67, dm_build_68, dm_build_69, dm_build_70)
  111. }
  112. func (Dm_build_72 *dm_build_0) Dm_build_71(dm_build_73 []byte, dm_build_74 int, dm_build_75 []byte, dm_build_76 int, dm_build_77 int) int {
  113. dm_build_74 += Dm_build_72.Dm_build_42(dm_build_73, dm_build_74, uint16(dm_build_77))
  114. return 2 + Dm_build_72.Dm_build_57(dm_build_73, dm_build_74, dm_build_75, dm_build_76, dm_build_77)
  115. }
  116. func (Dm_build_79 *dm_build_0) Dm_build_78(dm_build_80 []byte, dm_build_81 int, dm_build_82 string, dm_build_83 string, dm_build_84 *DmConnection) int {
  117. dm_build_85 := Dm_build_79.Dm_build_217(dm_build_82, dm_build_83, dm_build_84)
  118. dm_build_81 += Dm_build_79.Dm_build_47(dm_build_80, dm_build_81, uint32(len(dm_build_85)))
  119. return 4 + Dm_build_79.Dm_build_57(dm_build_80, dm_build_81, dm_build_85, 0, len(dm_build_85))
  120. }
  121. func (Dm_build_87 *dm_build_0) Dm_build_86(dm_build_88 []byte, dm_build_89 int, dm_build_90 string, dm_build_91 string, dm_build_92 *DmConnection) int {
  122. dm_build_93 := Dm_build_87.Dm_build_217(dm_build_90, dm_build_91, dm_build_92)
  123. dm_build_89 += Dm_build_87.Dm_build_42(dm_build_88, dm_build_89, uint16(len(dm_build_93)))
  124. return 2 + Dm_build_87.Dm_build_57(dm_build_88, dm_build_89, dm_build_93, 0, len(dm_build_93))
  125. }
  126. func (Dm_build_95 *dm_build_0) Dm_build_94(dm_build_96 []byte, dm_build_97 int) byte {
  127. return dm_build_96[dm_build_97]
  128. }
  129. func (Dm_build_99 *dm_build_0) Dm_build_98(dm_build_100 []byte, dm_build_101 int) int16 {
  130. var dm_build_102 int16
  131. dm_build_102 = int16(dm_build_100[dm_build_101] & 0xff)
  132. dm_build_101++
  133. dm_build_102 |= int16(dm_build_100[dm_build_101]&0xff) << 8
  134. return dm_build_102
  135. }
  136. func (Dm_build_104 *dm_build_0) Dm_build_103(dm_build_105 []byte, dm_build_106 int) int32 {
  137. var dm_build_107 int32
  138. dm_build_107 = int32(dm_build_105[dm_build_106] & 0xff)
  139. dm_build_106++
  140. dm_build_107 |= int32(dm_build_105[dm_build_106]&0xff) << 8
  141. dm_build_106++
  142. dm_build_107 |= int32(dm_build_105[dm_build_106]&0xff) << 16
  143. dm_build_106++
  144. dm_build_107 |= int32(dm_build_105[dm_build_106]&0xff) << 24
  145. return dm_build_107
  146. }
  147. func (Dm_build_109 *dm_build_0) Dm_build_108(dm_build_110 []byte, dm_build_111 int) int64 {
  148. var dm_build_112 int64
  149. dm_build_112 = int64(dm_build_110[dm_build_111] & 0xff)
  150. dm_build_111++
  151. dm_build_112 |= int64(dm_build_110[dm_build_111]&0xff) << 8
  152. dm_build_111++
  153. dm_build_112 |= int64(dm_build_110[dm_build_111]&0xff) << 16
  154. dm_build_111++
  155. dm_build_112 |= int64(dm_build_110[dm_build_111]&0xff) << 24
  156. dm_build_111++
  157. dm_build_112 |= int64(dm_build_110[dm_build_111]&0xff) << 32
  158. dm_build_111++
  159. dm_build_112 |= int64(dm_build_110[dm_build_111]&0xff) << 40
  160. dm_build_111++
  161. dm_build_112 |= int64(dm_build_110[dm_build_111]&0xff) << 48
  162. dm_build_111++
  163. dm_build_112 |= int64(dm_build_110[dm_build_111]&0xff) << 56
  164. return dm_build_112
  165. }
  166. func (Dm_build_114 *dm_build_0) Dm_build_113(dm_build_115 []byte, dm_build_116 int) float32 {
  167. return math.Float32frombits(Dm_build_114.Dm_build_130(dm_build_115, dm_build_116))
  168. }
  169. func (Dm_build_118 *dm_build_0) Dm_build_117(dm_build_119 []byte, dm_build_120 int) float64 {
  170. return math.Float64frombits(Dm_build_118.Dm_build_135(dm_build_119, dm_build_120))
  171. }
  172. func (Dm_build_122 *dm_build_0) Dm_build_121(dm_build_123 []byte, dm_build_124 int) uint8 {
  173. return uint8(dm_build_123[dm_build_124] & 0xff)
  174. }
  175. func (Dm_build_126 *dm_build_0) Dm_build_125(dm_build_127 []byte, dm_build_128 int) uint16 {
  176. var dm_build_129 uint16
  177. dm_build_129 = uint16(dm_build_127[dm_build_128] & 0xff)
  178. dm_build_128++
  179. dm_build_129 |= uint16(dm_build_127[dm_build_128]&0xff) << 8
  180. return dm_build_129
  181. }
  182. func (Dm_build_131 *dm_build_0) Dm_build_130(dm_build_132 []byte, dm_build_133 int) uint32 {
  183. var dm_build_134 uint32
  184. dm_build_134 = uint32(dm_build_132[dm_build_133] & 0xff)
  185. dm_build_133++
  186. dm_build_134 |= uint32(dm_build_132[dm_build_133]&0xff) << 8
  187. dm_build_133++
  188. dm_build_134 |= uint32(dm_build_132[dm_build_133]&0xff) << 16
  189. dm_build_133++
  190. dm_build_134 |= uint32(dm_build_132[dm_build_133]&0xff) << 24
  191. return dm_build_134
  192. }
  193. func (Dm_build_136 *dm_build_0) Dm_build_135(dm_build_137 []byte, dm_build_138 int) uint64 {
  194. var dm_build_139 uint64
  195. dm_build_139 = uint64(dm_build_137[dm_build_138] & 0xff)
  196. dm_build_138++
  197. dm_build_139 |= uint64(dm_build_137[dm_build_138]&0xff) << 8
  198. dm_build_138++
  199. dm_build_139 |= uint64(dm_build_137[dm_build_138]&0xff) << 16
  200. dm_build_138++
  201. dm_build_139 |= uint64(dm_build_137[dm_build_138]&0xff) << 24
  202. dm_build_138++
  203. dm_build_139 |= uint64(dm_build_137[dm_build_138]&0xff) << 32
  204. dm_build_138++
  205. dm_build_139 |= uint64(dm_build_137[dm_build_138]&0xff) << 40
  206. dm_build_138++
  207. dm_build_139 |= uint64(dm_build_137[dm_build_138]&0xff) << 48
  208. dm_build_138++
  209. dm_build_139 |= uint64(dm_build_137[dm_build_138]&0xff) << 56
  210. return dm_build_139
  211. }
  212. func (Dm_build_141 *dm_build_0) Dm_build_140(dm_build_142 []byte, dm_build_143 int) []byte {
  213. dm_build_144 := Dm_build_141.Dm_build_130(dm_build_142, dm_build_143)
  214. dm_build_145 := make([]byte, dm_build_144)
  215. copy(dm_build_145[:int(dm_build_144)], dm_build_142[dm_build_143+4:dm_build_143+4+int(dm_build_144)])
  216. return dm_build_145
  217. }
  218. func (Dm_build_147 *dm_build_0) Dm_build_146(dm_build_148 []byte, dm_build_149 int) []byte {
  219. dm_build_150 := Dm_build_147.Dm_build_125(dm_build_148, dm_build_149)
  220. dm_build_151 := make([]byte, dm_build_150)
  221. copy(dm_build_151[:int(dm_build_150)], dm_build_148[dm_build_149+2:dm_build_149+2+int(dm_build_150)])
  222. return dm_build_151
  223. }
  224. func (Dm_build_153 *dm_build_0) Dm_build_152(dm_build_154 []byte, dm_build_155 int, dm_build_156 int) []byte {
  225. dm_build_157 := make([]byte, dm_build_156)
  226. copy(dm_build_157[:dm_build_156], dm_build_154[dm_build_155:dm_build_155+dm_build_156])
  227. return dm_build_157
  228. }
  229. func (Dm_build_159 *dm_build_0) Dm_build_158(dm_build_160 []byte, dm_build_161 int, dm_build_162 int, dm_build_163 string, dm_build_164 *DmConnection) string {
  230. return Dm_build_159.Dm_build_254(dm_build_160[dm_build_161:dm_build_161+dm_build_162], dm_build_163, dm_build_164)
  231. }
  232. func (Dm_build_166 *dm_build_0) Dm_build_165(dm_build_167 []byte, dm_build_168 int, dm_build_169 string, dm_build_170 *DmConnection) string {
  233. dm_build_171 := Dm_build_166.Dm_build_130(dm_build_167, dm_build_168)
  234. dm_build_168 += 4
  235. return Dm_build_166.Dm_build_158(dm_build_167, dm_build_168, int(dm_build_171), dm_build_169, dm_build_170)
  236. }
  237. func (Dm_build_173 *dm_build_0) Dm_build_172(dm_build_174 []byte, dm_build_175 int, dm_build_176 string, dm_build_177 *DmConnection) string {
  238. dm_build_178 := Dm_build_173.Dm_build_125(dm_build_174, dm_build_175)
  239. dm_build_175 += 2
  240. return Dm_build_173.Dm_build_158(dm_build_174, dm_build_175, int(dm_build_178), dm_build_176, dm_build_177)
  241. }
  242. func (Dm_build_180 *dm_build_0) Dm_build_179(dm_build_181 byte) []byte {
  243. return []byte{dm_build_181}
  244. }
  245. func (Dm_build_183 *dm_build_0) Dm_build_182(dm_build_184 int8) []byte {
  246. return []byte{byte(dm_build_184)}
  247. }
  248. func (Dm_build_186 *dm_build_0) Dm_build_185(dm_build_187 int16) []byte {
  249. return []byte{byte(dm_build_187), byte(dm_build_187 >> 8)}
  250. }
  251. func (Dm_build_189 *dm_build_0) Dm_build_188(dm_build_190 int32) []byte {
  252. return []byte{byte(dm_build_190), byte(dm_build_190 >> 8), byte(dm_build_190 >> 16), byte(dm_build_190 >> 24)}
  253. }
  254. func (Dm_build_192 *dm_build_0) Dm_build_191(dm_build_193 int64) []byte {
  255. return []byte{byte(dm_build_193), byte(dm_build_193 >> 8), byte(dm_build_193 >> 16), byte(dm_build_193 >> 24), byte(dm_build_193 >> 32),
  256. byte(dm_build_193 >> 40), byte(dm_build_193 >> 48), byte(dm_build_193 >> 56)}
  257. }
  258. func (Dm_build_195 *dm_build_0) Dm_build_194(dm_build_196 float32) []byte {
  259. return Dm_build_195.Dm_build_206(math.Float32bits(dm_build_196))
  260. }
  261. func (Dm_build_198 *dm_build_0) Dm_build_197(dm_build_199 float64) []byte {
  262. return Dm_build_198.Dm_build_209(math.Float64bits(dm_build_199))
  263. }
  264. func (Dm_build_201 *dm_build_0) Dm_build_200(dm_build_202 uint8) []byte {
  265. return []byte{byte(dm_build_202)}
  266. }
  267. func (Dm_build_204 *dm_build_0) Dm_build_203(dm_build_205 uint16) []byte {
  268. return []byte{byte(dm_build_205), byte(dm_build_205 >> 8)}
  269. }
  270. func (Dm_build_207 *dm_build_0) Dm_build_206(dm_build_208 uint32) []byte {
  271. return []byte{byte(dm_build_208), byte(dm_build_208 >> 8), byte(dm_build_208 >> 16), byte(dm_build_208 >> 24)}
  272. }
  273. func (Dm_build_210 *dm_build_0) Dm_build_209(dm_build_211 uint64) []byte {
  274. return []byte{byte(dm_build_211), byte(dm_build_211 >> 8), byte(dm_build_211 >> 16), byte(dm_build_211 >> 24), byte(dm_build_211 >> 32), byte(dm_build_211 >> 40), byte(dm_build_211 >> 48), byte(dm_build_211 >> 56)}
  275. }
  276. func (Dm_build_213 *dm_build_0) Dm_build_212(dm_build_214 []byte, dm_build_215 string, dm_build_216 *DmConnection) []byte {
  277. if dm_build_215 == "UTF-8" {
  278. return dm_build_214
  279. }
  280. if dm_build_216 == nil {
  281. if e := dm_build_259(dm_build_215); e != nil {
  282. tmp, err := ioutil.ReadAll(
  283. transform.NewReader(bytes.NewReader(dm_build_214), e.NewEncoder()),
  284. )
  285. if err != nil {
  286. panic("UTF8 To Charset error!")
  287. }
  288. return tmp
  289. }
  290. panic("Unsupported Charset!")
  291. }
  292. if dm_build_216.encodeBuffer == nil {
  293. dm_build_216.encodeBuffer = bytes.NewBuffer(nil)
  294. dm_build_216.encode = dm_build_259(dm_build_216.getServerEncoding())
  295. dm_build_216.transformReaderDst = make([]byte, 4096)
  296. dm_build_216.transformReaderSrc = make([]byte, 4096)
  297. }
  298. if e := dm_build_216.encode; e != nil {
  299. dm_build_216.encodeBuffer.Reset()
  300. n, err := dm_build_216.encodeBuffer.ReadFrom(
  301. Dm_build_273(bytes.NewReader(dm_build_214), e.NewEncoder(), dm_build_216.transformReaderDst, dm_build_216.transformReaderSrc),
  302. )
  303. if err != nil {
  304. panic("UTF8 To Charset error!")
  305. }
  306. var tmp = make([]byte, n)
  307. if _, err = dm_build_216.encodeBuffer.Read(tmp); err != nil {
  308. panic("UTF8 To Charset error!")
  309. }
  310. return tmp
  311. }
  312. panic("Unsupported Charset!")
  313. }
  314. func (Dm_build_218 *dm_build_0) Dm_build_217(dm_build_219 string, dm_build_220 string, dm_build_221 *DmConnection) []byte {
  315. return Dm_build_218.Dm_build_212([]byte(dm_build_219), dm_build_220, dm_build_221)
  316. }
  317. func (Dm_build_223 *dm_build_0) Dm_build_222(dm_build_224 []byte) byte {
  318. return Dm_build_223.Dm_build_94(dm_build_224, 0)
  319. }
  320. func (Dm_build_226 *dm_build_0) Dm_build_225(dm_build_227 []byte) int16 {
  321. return Dm_build_226.Dm_build_98(dm_build_227, 0)
  322. }
  323. func (Dm_build_229 *dm_build_0) Dm_build_228(dm_build_230 []byte) int32 {
  324. return Dm_build_229.Dm_build_103(dm_build_230, 0)
  325. }
  326. func (Dm_build_232 *dm_build_0) Dm_build_231(dm_build_233 []byte) int64 {
  327. return Dm_build_232.Dm_build_108(dm_build_233, 0)
  328. }
  329. func (Dm_build_235 *dm_build_0) Dm_build_234(dm_build_236 []byte) float32 {
  330. return Dm_build_235.Dm_build_113(dm_build_236, 0)
  331. }
  332. func (Dm_build_238 *dm_build_0) Dm_build_237(dm_build_239 []byte) float64 {
  333. return Dm_build_238.Dm_build_117(dm_build_239, 0)
  334. }
  335. func (Dm_build_241 *dm_build_0) Dm_build_240(dm_build_242 []byte) uint8 {
  336. return Dm_build_241.Dm_build_121(dm_build_242, 0)
  337. }
  338. func (Dm_build_244 *dm_build_0) Dm_build_243(dm_build_245 []byte) uint16 {
  339. return Dm_build_244.Dm_build_125(dm_build_245, 0)
  340. }
  341. func (Dm_build_247 *dm_build_0) Dm_build_246(dm_build_248 []byte) uint32 {
  342. return Dm_build_247.Dm_build_130(dm_build_248, 0)
  343. }
  344. func (Dm_build_250 *dm_build_0) Dm_build_249(dm_build_251 []byte, dm_build_252 string, dm_build_253 *DmConnection) []byte {
  345. if dm_build_252 == "UTF-8" {
  346. return dm_build_251
  347. }
  348. if dm_build_253 == nil {
  349. if e := dm_build_259(dm_build_252); e != nil {
  350. tmp, err := ioutil.ReadAll(
  351. transform.NewReader(bytes.NewReader(dm_build_251), e.NewDecoder()),
  352. )
  353. if err != nil {
  354. panic("Charset To UTF8 error!")
  355. }
  356. return tmp
  357. }
  358. panic("Unsupported Charset!")
  359. }
  360. if dm_build_253.encodeBuffer == nil {
  361. dm_build_253.encodeBuffer = bytes.NewBuffer(nil)
  362. dm_build_253.encode = dm_build_259(dm_build_253.getServerEncoding())
  363. dm_build_253.transformReaderDst = make([]byte, 4096)
  364. dm_build_253.transformReaderSrc = make([]byte, 4096)
  365. }
  366. if e := dm_build_253.encode; e != nil {
  367. dm_build_253.encodeBuffer.Reset()
  368. n, err := dm_build_253.encodeBuffer.ReadFrom(
  369. Dm_build_273(bytes.NewReader(dm_build_251), e.NewDecoder(), dm_build_253.transformReaderDst, dm_build_253.transformReaderSrc),
  370. )
  371. if err != nil {
  372. panic("Charset To UTF8 error!")
  373. }
  374. return dm_build_253.encodeBuffer.Next(int(n))
  375. }
  376. panic("Unsupported Charset!")
  377. }
  378. func (Dm_build_255 *dm_build_0) Dm_build_254(dm_build_256 []byte, dm_build_257 string, dm_build_258 *DmConnection) string {
  379. return string(Dm_build_255.Dm_build_249(dm_build_256, dm_build_257, dm_build_258))
  380. }
  381. func dm_build_259(dm_build_260 string) encoding.Encoding {
  382. if e, err := ianaindex.MIB.Encoding(dm_build_260); err == nil && e != nil {
  383. return e
  384. }
  385. return nil
  386. }
  387. type Dm_build_261 struct {
  388. dm_build_262 io.Reader
  389. dm_build_263 transform.Transformer
  390. dm_build_264 error
  391. dm_build_265 []byte
  392. dm_build_266, dm_build_267 int
  393. dm_build_268 []byte
  394. dm_build_269, dm_build_270 int
  395. dm_build_271 bool
  396. }
  397. const dm_build_272 = 4096
  398. func Dm_build_273(dm_build_274 io.Reader, dm_build_275 transform.Transformer, dm_build_276 []byte, dm_build_277 []byte) *Dm_build_261 {
  399. dm_build_275.Reset()
  400. return &Dm_build_261{
  401. dm_build_262: dm_build_274,
  402. dm_build_263: dm_build_275,
  403. dm_build_265: dm_build_276,
  404. dm_build_268: dm_build_277,
  405. }
  406. }
  407. func (dm_build_279 *Dm_build_261) Read(dm_build_280 []byte) (int, error) {
  408. dm_build_281, dm_build_282 := 0, error(nil)
  409. for {
  410. if dm_build_279.dm_build_266 != dm_build_279.dm_build_267 {
  411. dm_build_281 = copy(dm_build_280, dm_build_279.dm_build_265[dm_build_279.dm_build_266:dm_build_279.dm_build_267])
  412. dm_build_279.dm_build_266 += dm_build_281
  413. if dm_build_279.dm_build_266 == dm_build_279.dm_build_267 && dm_build_279.dm_build_271 {
  414. return dm_build_281, dm_build_279.dm_build_264
  415. }
  416. return dm_build_281, nil
  417. } else if dm_build_279.dm_build_271 {
  418. return 0, dm_build_279.dm_build_264
  419. }
  420. if dm_build_279.dm_build_269 != dm_build_279.dm_build_270 || dm_build_279.dm_build_264 != nil {
  421. dm_build_279.dm_build_266 = 0
  422. dm_build_279.dm_build_267, dm_build_281, dm_build_282 = dm_build_279.dm_build_263.Transform(dm_build_279.dm_build_265, dm_build_279.dm_build_268[dm_build_279.dm_build_269:dm_build_279.dm_build_270], dm_build_279.dm_build_264 == io.EOF)
  423. dm_build_279.dm_build_269 += dm_build_281
  424. switch {
  425. case dm_build_282 == nil:
  426. if dm_build_279.dm_build_269 != dm_build_279.dm_build_270 {
  427. dm_build_279.dm_build_264 = nil
  428. }
  429. dm_build_279.dm_build_271 = dm_build_279.dm_build_264 != nil
  430. continue
  431. case dm_build_282 == transform.ErrShortDst && (dm_build_279.dm_build_267 != 0 || dm_build_281 != 0):
  432. continue
  433. case dm_build_282 == transform.ErrShortSrc && dm_build_279.dm_build_270-dm_build_279.dm_build_269 != len(dm_build_279.dm_build_268) && dm_build_279.dm_build_264 == nil:
  434. default:
  435. dm_build_279.dm_build_271 = true
  436. if dm_build_279.dm_build_264 == nil || dm_build_279.dm_build_264 == io.EOF {
  437. dm_build_279.dm_build_264 = dm_build_282
  438. }
  439. continue
  440. }
  441. }
  442. if dm_build_279.dm_build_269 != 0 {
  443. dm_build_279.dm_build_269, dm_build_279.dm_build_270 = 0, copy(dm_build_279.dm_build_268, dm_build_279.dm_build_268[dm_build_279.dm_build_269:dm_build_279.dm_build_270])
  444. }
  445. dm_build_281, dm_build_279.dm_build_264 = dm_build_279.dm_build_262.Read(dm_build_279.dm_build_268[dm_build_279.dm_build_270:])
  446. dm_build_279.dm_build_270 += dm_build_281
  447. }
  448. }