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