github.com/xiyichan/dm8@v0.0.0-20211213021639-be727be3e136/e.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_598 struct{} 18 19 var Dm_build_599 = &dm_build_598{} 20 21 func (Dm_build_601 *dm_build_598) Dm_build_600(dm_build_602 []byte, dm_build_603 int, dm_build_604 byte) int { 22 dm_build_602[dm_build_603] = dm_build_604 23 return 1 24 } 25 26 func (Dm_build_606 *dm_build_598) Dm_build_605(dm_build_607 []byte, dm_build_608 int, dm_build_609 int8) int { 27 dm_build_607[dm_build_608] = byte(dm_build_609) 28 return 1 29 } 30 31 func (Dm_build_611 *dm_build_598) Dm_build_610(dm_build_612 []byte, dm_build_613 int, dm_build_614 int16) int { 32 dm_build_612[dm_build_613] = byte(dm_build_614) 33 dm_build_613++ 34 dm_build_612[dm_build_613] = byte(dm_build_614 >> 8) 35 return 2 36 } 37 38 func (Dm_build_616 *dm_build_598) Dm_build_615(dm_build_617 []byte, dm_build_618 int, dm_build_619 int32) int { 39 dm_build_617[dm_build_618] = byte(dm_build_619) 40 dm_build_618++ 41 dm_build_617[dm_build_618] = byte(dm_build_619 >> 8) 42 dm_build_618++ 43 dm_build_617[dm_build_618] = byte(dm_build_619 >> 16) 44 dm_build_618++ 45 dm_build_617[dm_build_618] = byte(dm_build_619 >> 24) 46 dm_build_618++ 47 return 4 48 } 49 50 func (Dm_build_621 *dm_build_598) Dm_build_620(dm_build_622 []byte, dm_build_623 int, dm_build_624 int64) int { 51 dm_build_622[dm_build_623] = byte(dm_build_624) 52 dm_build_623++ 53 dm_build_622[dm_build_623] = byte(dm_build_624 >> 8) 54 dm_build_623++ 55 dm_build_622[dm_build_623] = byte(dm_build_624 >> 16) 56 dm_build_623++ 57 dm_build_622[dm_build_623] = byte(dm_build_624 >> 24) 58 dm_build_623++ 59 dm_build_622[dm_build_623] = byte(dm_build_624 >> 32) 60 dm_build_623++ 61 dm_build_622[dm_build_623] = byte(dm_build_624 >> 40) 62 dm_build_623++ 63 dm_build_622[dm_build_623] = byte(dm_build_624 >> 48) 64 dm_build_623++ 65 dm_build_622[dm_build_623] = byte(dm_build_624 >> 56) 66 return 8 67 } 68 69 func (Dm_build_626 *dm_build_598) Dm_build_625(dm_build_627 []byte, dm_build_628 int, dm_build_629 float32) int { 70 return Dm_build_626.Dm_build_645(dm_build_627, dm_build_628, math.Float32bits(dm_build_629)) 71 } 72 73 func (Dm_build_631 *dm_build_598) Dm_build_630(dm_build_632 []byte, dm_build_633 int, dm_build_634 float64) int { 74 return Dm_build_631.Dm_build_650(dm_build_632, dm_build_633, math.Float64bits(dm_build_634)) 75 } 76 77 func (Dm_build_636 *dm_build_598) Dm_build_635(dm_build_637 []byte, dm_build_638 int, dm_build_639 uint8) int { 78 dm_build_637[dm_build_638] = byte(dm_build_639) 79 return 1 80 } 81 82 func (Dm_build_641 *dm_build_598) Dm_build_640(dm_build_642 []byte, dm_build_643 int, dm_build_644 uint16) int { 83 dm_build_642[dm_build_643] = byte(dm_build_644) 84 dm_build_643++ 85 dm_build_642[dm_build_643] = byte(dm_build_644 >> 8) 86 return 2 87 } 88 89 func (Dm_build_646 *dm_build_598) Dm_build_645(dm_build_647 []byte, dm_build_648 int, dm_build_649 uint32) int { 90 dm_build_647[dm_build_648] = byte(dm_build_649) 91 dm_build_648++ 92 dm_build_647[dm_build_648] = byte(dm_build_649 >> 8) 93 dm_build_648++ 94 dm_build_647[dm_build_648] = byte(dm_build_649 >> 16) 95 dm_build_648++ 96 dm_build_647[dm_build_648] = byte(dm_build_649 >> 24) 97 return 3 98 } 99 100 func (Dm_build_651 *dm_build_598) Dm_build_650(dm_build_652 []byte, dm_build_653 int, dm_build_654 uint64) int { 101 dm_build_652[dm_build_653] = byte(dm_build_654) 102 dm_build_653++ 103 dm_build_652[dm_build_653] = byte(dm_build_654 >> 8) 104 dm_build_653++ 105 dm_build_652[dm_build_653] = byte(dm_build_654 >> 16) 106 dm_build_653++ 107 dm_build_652[dm_build_653] = byte(dm_build_654 >> 24) 108 dm_build_653++ 109 dm_build_652[dm_build_653] = byte(dm_build_654 >> 32) 110 dm_build_653++ 111 dm_build_652[dm_build_653] = byte(dm_build_654 >> 40) 112 dm_build_653++ 113 dm_build_652[dm_build_653] = byte(dm_build_654 >> 48) 114 dm_build_653++ 115 dm_build_652[dm_build_653] = byte(dm_build_654 >> 56) 116 return 3 117 } 118 119 func (Dm_build_656 *dm_build_598) Dm_build_655(dm_build_657 []byte, dm_build_658 int, dm_build_659 []byte, dm_build_660 int, dm_build_661 int) int { 120 copy(dm_build_657[dm_build_658:dm_build_658+dm_build_661], dm_build_659[dm_build_660:dm_build_660+dm_build_661]) 121 return dm_build_661 122 } 123 124 func (Dm_build_663 *dm_build_598) Dm_build_662(dm_build_664 []byte, dm_build_665 int, dm_build_666 []byte, dm_build_667 int, dm_build_668 int) int { 125 dm_build_665 += Dm_build_663.Dm_build_645(dm_build_664, dm_build_665, uint32(dm_build_668)) 126 return 4 + Dm_build_663.Dm_build_655(dm_build_664, dm_build_665, dm_build_666, dm_build_667, dm_build_668) 127 } 128 129 func (Dm_build_670 *dm_build_598) Dm_build_669(dm_build_671 []byte, dm_build_672 int, dm_build_673 []byte, dm_build_674 int, dm_build_675 int) int { 130 dm_build_672 += Dm_build_670.Dm_build_640(dm_build_671, dm_build_672, uint16(dm_build_675)) 131 return 2 + Dm_build_670.Dm_build_655(dm_build_671, dm_build_672, dm_build_673, dm_build_674, dm_build_675) 132 } 133 134 func (Dm_build_677 *dm_build_598) Dm_build_676(dm_build_678 []byte, dm_build_679 int, dm_build_680 string, dm_build_681 string, dm_build_682 *DmConnection) int { 135 dm_build_683 := Dm_build_677.Dm_build_809(dm_build_680, dm_build_681, dm_build_682) 136 dm_build_679 += Dm_build_677.Dm_build_645(dm_build_678, dm_build_679, uint32(len(dm_build_683))) 137 return 4 + Dm_build_677.Dm_build_655(dm_build_678, dm_build_679, dm_build_683, 0, len(dm_build_683)) 138 } 139 140 func (Dm_build_685 *dm_build_598) Dm_build_684(dm_build_686 []byte, dm_build_687 int, dm_build_688 string, dm_build_689 string, dm_build_690 *DmConnection) int { 141 dm_build_691 := Dm_build_685.Dm_build_809(dm_build_688, dm_build_689, dm_build_690) 142 143 dm_build_687 += Dm_build_685.Dm_build_640(dm_build_686, dm_build_687, uint16(len(dm_build_691))) 144 return 2 + Dm_build_685.Dm_build_655(dm_build_686, dm_build_687, dm_build_691, 0, len(dm_build_691)) 145 } 146 147 func (Dm_build_693 *dm_build_598) Dm_build_692(dm_build_694 []byte, dm_build_695 int) byte { 148 return dm_build_694[dm_build_695] 149 } 150 151 func (Dm_build_697 *dm_build_598) Dm_build_696(dm_build_698 []byte, dm_build_699 int) int16 { 152 var dm_build_700 int16 153 dm_build_700 = int16(dm_build_698[dm_build_699] & 0xff) 154 dm_build_699++ 155 dm_build_700 |= int16(dm_build_698[dm_build_699]&0xff) << 8 156 return dm_build_700 157 } 158 159 func (Dm_build_702 *dm_build_598) Dm_build_701(dm_build_703 []byte, dm_build_704 int) int32 { 160 var dm_build_705 int32 161 dm_build_705 = int32(dm_build_703[dm_build_704] & 0xff) 162 dm_build_704++ 163 dm_build_705 |= int32(dm_build_703[dm_build_704]&0xff) << 8 164 dm_build_704++ 165 dm_build_705 |= int32(dm_build_703[dm_build_704]&0xff) << 16 166 dm_build_704++ 167 dm_build_705 |= int32(dm_build_703[dm_build_704]&0xff) << 24 168 return dm_build_705 169 } 170 171 func (Dm_build_707 *dm_build_598) Dm_build_706(dm_build_708 []byte, dm_build_709 int) int64 { 172 var dm_build_710 int64 173 dm_build_710 = int64(dm_build_708[dm_build_709] & 0xff) 174 dm_build_709++ 175 dm_build_710 |= int64(dm_build_708[dm_build_709]&0xff) << 8 176 dm_build_709++ 177 dm_build_710 |= int64(dm_build_708[dm_build_709]&0xff) << 16 178 dm_build_709++ 179 dm_build_710 |= int64(dm_build_708[dm_build_709]&0xff) << 24 180 dm_build_709++ 181 dm_build_710 |= int64(dm_build_708[dm_build_709]&0xff) << 32 182 dm_build_709++ 183 dm_build_710 |= int64(dm_build_708[dm_build_709]&0xff) << 40 184 dm_build_709++ 185 dm_build_710 |= int64(dm_build_708[dm_build_709]&0xff) << 48 186 dm_build_709++ 187 dm_build_710 |= int64(dm_build_708[dm_build_709]&0xff) << 56 188 return dm_build_710 189 } 190 191 func (Dm_build_712 *dm_build_598) Dm_build_711(dm_build_713 []byte, dm_build_714 int) float32 { 192 return math.Float32frombits(Dm_build_712.Dm_build_728(dm_build_713, dm_build_714)) 193 } 194 195 func (Dm_build_716 *dm_build_598) Dm_build_715(dm_build_717 []byte, dm_build_718 int) float64 { 196 return math.Float64frombits(Dm_build_716.Dm_build_733(dm_build_717, dm_build_718)) 197 } 198 199 func (Dm_build_720 *dm_build_598) Dm_build_719(dm_build_721 []byte, dm_build_722 int) uint8 { 200 return uint8(dm_build_721[dm_build_722] & 0xff) 201 } 202 203 func (Dm_build_724 *dm_build_598) Dm_build_723(dm_build_725 []byte, dm_build_726 int) uint16 { 204 var dm_build_727 uint16 205 dm_build_727 = uint16(dm_build_725[dm_build_726] & 0xff) 206 dm_build_726++ 207 dm_build_727 |= uint16(dm_build_725[dm_build_726]&0xff) << 8 208 return dm_build_727 209 } 210 211 func (Dm_build_729 *dm_build_598) Dm_build_728(dm_build_730 []byte, dm_build_731 int) uint32 { 212 var dm_build_732 uint32 213 dm_build_732 = uint32(dm_build_730[dm_build_731] & 0xff) 214 dm_build_731++ 215 dm_build_732 |= uint32(dm_build_730[dm_build_731]&0xff) << 8 216 dm_build_731++ 217 dm_build_732 |= uint32(dm_build_730[dm_build_731]&0xff) << 16 218 dm_build_731++ 219 dm_build_732 |= uint32(dm_build_730[dm_build_731]&0xff) << 24 220 return dm_build_732 221 } 222 223 func (Dm_build_734 *dm_build_598) Dm_build_733(dm_build_735 []byte, dm_build_736 int) uint64 { 224 var dm_build_737 uint64 225 dm_build_737 = uint64(dm_build_735[dm_build_736] & 0xff) 226 dm_build_736++ 227 dm_build_737 |= uint64(dm_build_735[dm_build_736]&0xff) << 8 228 dm_build_736++ 229 dm_build_737 |= uint64(dm_build_735[dm_build_736]&0xff) << 16 230 dm_build_736++ 231 dm_build_737 |= uint64(dm_build_735[dm_build_736]&0xff) << 24 232 dm_build_736++ 233 dm_build_737 |= uint64(dm_build_735[dm_build_736]&0xff) << 32 234 dm_build_736++ 235 dm_build_737 |= uint64(dm_build_735[dm_build_736]&0xff) << 40 236 dm_build_736++ 237 dm_build_737 |= uint64(dm_build_735[dm_build_736]&0xff) << 48 238 dm_build_736++ 239 dm_build_737 |= uint64(dm_build_735[dm_build_736]&0xff) << 56 240 return dm_build_737 241 } 242 243 func (Dm_build_739 *dm_build_598) Dm_build_738(dm_build_740 []byte, dm_build_741 int) []byte { 244 dm_build_742 := Dm_build_739.Dm_build_728(dm_build_740, dm_build_741) 245 return dm_build_740[dm_build_741+4 : dm_build_741+4+int(dm_build_742)] 246 247 } 248 249 func (Dm_build_744 *dm_build_598) Dm_build_743(dm_build_745 []byte, dm_build_746 int) []byte { 250 dm_build_747 := Dm_build_744.Dm_build_723(dm_build_745, dm_build_746) 251 return dm_build_745[dm_build_746+2 : dm_build_746+2+int(dm_build_747)] 252 253 } 254 255 func (Dm_build_749 *dm_build_598) Dm_build_748(dm_build_750 []byte, dm_build_751 int, dm_build_752 int) []byte { 256 return dm_build_750[dm_build_751 : dm_build_751+dm_build_752] 257 258 } 259 260 func (Dm_build_754 *dm_build_598) Dm_build_753(dm_build_755 []byte, dm_build_756 int, dm_build_757 int, dm_build_758 string, dm_build_759 *DmConnection) string { 261 return Dm_build_754.Dm_build_846(dm_build_755[dm_build_756:dm_build_756+dm_build_757], dm_build_758, dm_build_759) 262 } 263 264 func (Dm_build_761 *dm_build_598) Dm_build_760(dm_build_762 []byte, dm_build_763 int, dm_build_764 string, dm_build_765 *DmConnection) string { 265 dm_build_766 := Dm_build_761.Dm_build_728(dm_build_762, dm_build_763) 266 dm_build_763 += 4 267 return Dm_build_761.Dm_build_753(dm_build_762, dm_build_763, int(dm_build_766), dm_build_764, dm_build_765) 268 } 269 270 func (Dm_build_768 *dm_build_598) Dm_build_767(dm_build_769 []byte, dm_build_770 int, dm_build_771 string, dm_build_772 *DmConnection) string { 271 dm_build_773 := Dm_build_768.Dm_build_723(dm_build_769, dm_build_770) 272 dm_build_770 += 2 273 return Dm_build_768.Dm_build_753(dm_build_769, dm_build_770, int(dm_build_773), dm_build_771, dm_build_772) 274 } 275 276 func (Dm_build_775 *dm_build_598) Dm_build_774(dm_build_776 byte) []byte { 277 return []byte{dm_build_776} 278 } 279 280 func (Dm_build_778 *dm_build_598) Dm_build_777(dm_build_779 int16) []byte { 281 return []byte{byte(dm_build_779), byte(dm_build_779 >> 8)} 282 } 283 284 func (Dm_build_781 *dm_build_598) Dm_build_780(dm_build_782 int32) []byte { 285 return []byte{byte(dm_build_782), byte(dm_build_782 >> 8), byte(dm_build_782 >> 16), byte(dm_build_782 >> 24)} 286 } 287 288 func (Dm_build_784 *dm_build_598) Dm_build_783(dm_build_785 int64) []byte { 289 return []byte{byte(dm_build_785), byte(dm_build_785 >> 8), byte(dm_build_785 >> 16), byte(dm_build_785 >> 24), byte(dm_build_785 >> 32), 290 byte(dm_build_785 >> 40), byte(dm_build_785 >> 48), byte(dm_build_785 >> 56)} 291 } 292 293 func (Dm_build_787 *dm_build_598) Dm_build_786(dm_build_788 float32) []byte { 294 return Dm_build_787.Dm_build_798(math.Float32bits(dm_build_788)) 295 } 296 297 func (Dm_build_790 *dm_build_598) Dm_build_789(dm_build_791 float64) []byte { 298 return Dm_build_790.Dm_build_801(math.Float64bits(dm_build_791)) 299 } 300 301 func (Dm_build_793 *dm_build_598) Dm_build_792(dm_build_794 uint8) []byte { 302 return []byte{byte(dm_build_794)} 303 } 304 305 func (Dm_build_796 *dm_build_598) Dm_build_795(dm_build_797 uint16) []byte { 306 return []byte{byte(dm_build_797), byte(dm_build_797 >> 8)} 307 } 308 309 func (Dm_build_799 *dm_build_598) Dm_build_798(dm_build_800 uint32) []byte { 310 return []byte{byte(dm_build_800), byte(dm_build_800 >> 8), byte(dm_build_800 >> 16), byte(dm_build_800 >> 24)} 311 } 312 313 func (Dm_build_802 *dm_build_598) Dm_build_801(dm_build_803 uint64) []byte { 314 return []byte{byte(dm_build_803), byte(dm_build_803 >> 8), byte(dm_build_803 >> 16), byte(dm_build_803 >> 24), byte(dm_build_803 >> 32), byte(dm_build_803 >> 40), byte(dm_build_803 >> 48), byte(dm_build_803 >> 56)} 315 } 316 317 func (Dm_build_805 *dm_build_598) Dm_build_804(dm_build_806 []byte, dm_build_807 string, dm_build_808 *DmConnection) []byte { 318 if dm_build_807 == "UTF-8" { 319 return dm_build_806 320 } 321 322 if dm_build_808 == nil { 323 if e := dm_build_851(dm_build_807); e != nil { 324 tmp, err := ioutil.ReadAll( 325 transform.NewReader(bytes.NewReader(dm_build_806), e.NewEncoder()), 326 ) 327 if err != nil { 328 panic("UTF8 To Charset error!") 329 } 330 331 return tmp 332 } 333 334 panic("Unsupported Charset!") 335 } 336 337 if dm_build_808.encodeBuffer == nil { 338 dm_build_808.encodeBuffer = bytes.NewBuffer(nil) 339 dm_build_808.encode = dm_build_851(dm_build_808.getServerEncoding()) 340 dm_build_808.transformReaderDst = make([]byte, 4096) 341 dm_build_808.transformReaderSrc = make([]byte, 4096) 342 } 343 344 if e := dm_build_808.encode; e != nil { 345 346 dm_build_808.encodeBuffer.Reset() 347 348 n, err := dm_build_808.encodeBuffer.ReadFrom( 349 Dm_build_865(bytes.NewReader(dm_build_806), e.NewEncoder(), dm_build_808.transformReaderDst, dm_build_808.transformReaderSrc), 350 ) 351 if err != nil { 352 panic("UTF8 To Charset error!") 353 } 354 var tmp = make([]byte, n) 355 if _, err = dm_build_808.encodeBuffer.Read(tmp); err != nil { 356 panic("UTF8 To Charset error!") 357 } 358 return tmp 359 } 360 361 panic("Unsupported Charset!") 362 } 363 364 func (Dm_build_810 *dm_build_598) Dm_build_809(dm_build_811 string, dm_build_812 string, dm_build_813 *DmConnection) []byte { 365 return Dm_build_810.Dm_build_804([]byte(dm_build_811), dm_build_812, dm_build_813) 366 } 367 368 func (Dm_build_815 *dm_build_598) Dm_build_814(dm_build_816 []byte) byte { 369 return Dm_build_815.Dm_build_692(dm_build_816, 0) 370 } 371 372 func (Dm_build_818 *dm_build_598) Dm_build_817(dm_build_819 []byte) int16 { 373 return Dm_build_818.Dm_build_696(dm_build_819, 0) 374 } 375 376 func (Dm_build_821 *dm_build_598) Dm_build_820(dm_build_822 []byte) int32 { 377 return Dm_build_821.Dm_build_701(dm_build_822, 0) 378 } 379 380 func (Dm_build_824 *dm_build_598) Dm_build_823(dm_build_825 []byte) int64 { 381 return Dm_build_824.Dm_build_706(dm_build_825, 0) 382 } 383 384 func (Dm_build_827 *dm_build_598) Dm_build_826(dm_build_828 []byte) float32 { 385 return Dm_build_827.Dm_build_711(dm_build_828, 0) 386 } 387 388 func (Dm_build_830 *dm_build_598) Dm_build_829(dm_build_831 []byte) float64 { 389 return Dm_build_830.Dm_build_715(dm_build_831, 0) 390 } 391 392 func (Dm_build_833 *dm_build_598) Dm_build_832(dm_build_834 []byte) uint8 { 393 return Dm_build_833.Dm_build_719(dm_build_834, 0) 394 } 395 396 func (Dm_build_836 *dm_build_598) Dm_build_835(dm_build_837 []byte) uint16 { 397 return Dm_build_836.Dm_build_723(dm_build_837, 0) 398 } 399 400 func (Dm_build_839 *dm_build_598) Dm_build_838(dm_build_840 []byte) uint32 { 401 return Dm_build_839.Dm_build_728(dm_build_840, 0) 402 } 403 404 func (Dm_build_842 *dm_build_598) Dm_build_841(dm_build_843 []byte, dm_build_844 string, dm_build_845 *DmConnection) []byte { 405 if dm_build_844 == "UTF-8" { 406 return dm_build_843 407 } 408 409 if dm_build_845 == nil { 410 if e := dm_build_851(dm_build_844); e != nil { 411 412 tmp, err := ioutil.ReadAll( 413 transform.NewReader(bytes.NewReader(dm_build_843), e.NewDecoder()), 414 ) 415 if err != nil { 416 417 panic("Charset To UTF8 error!") 418 } 419 420 return tmp 421 } 422 423 panic("Unsupported Charset!") 424 } 425 426 if dm_build_845.encodeBuffer == nil { 427 dm_build_845.encodeBuffer = bytes.NewBuffer(nil) 428 dm_build_845.encode = dm_build_851(dm_build_845.getServerEncoding()) 429 dm_build_845.transformReaderDst = make([]byte, 4096) 430 dm_build_845.transformReaderSrc = make([]byte, 4096) 431 } 432 433 if e := dm_build_845.encode; e != nil { 434 435 dm_build_845.encodeBuffer.Reset() 436 437 n, err := dm_build_845.encodeBuffer.ReadFrom( 438 Dm_build_865(bytes.NewReader(dm_build_843), e.NewDecoder(), dm_build_845.transformReaderDst, dm_build_845.transformReaderSrc), 439 ) 440 if err != nil { 441 442 panic("Charset To UTF8 error!") 443 } 444 445 return dm_build_845.encodeBuffer.Next(int(n)) 446 } 447 448 panic("Unsupported Charset!") 449 } 450 451 func (Dm_build_847 *dm_build_598) Dm_build_846(dm_build_848 []byte, dm_build_849 string, dm_build_850 *DmConnection) string { 452 return string(Dm_build_847.Dm_build_841(dm_build_848, dm_build_849, dm_build_850)) 453 } 454 455 func dm_build_851(dm_build_852 string) encoding.Encoding { 456 if e, err := ianaindex.MIB.Encoding(dm_build_852); err == nil && e != nil { 457 return e 458 } 459 return nil 460 } 461 462 type Dm_build_853 struct { 463 dm_build_854 io.Reader 464 dm_build_855 transform.Transformer 465 dm_build_856 error 466 467 dm_build_857 []byte 468 dm_build_858, dm_build_859 int 469 470 dm_build_860 []byte 471 dm_build_861, dm_build_862 int 472 473 dm_build_863 bool 474 } 475 476 const dm_build_864 = 4096 477 478 func Dm_build_865(dm_build_866 io.Reader, dm_build_867 transform.Transformer, dm_build_868 []byte, dm_build_869 []byte) *Dm_build_853 { 479 dm_build_867.Reset() 480 return &Dm_build_853{ 481 dm_build_854: dm_build_866, 482 dm_build_855: dm_build_867, 483 dm_build_857: dm_build_868, 484 dm_build_860: dm_build_869, 485 } 486 } 487 488 func (dm_build_871 *Dm_build_853) Read(dm_build_872 []byte) (int, error) { 489 dm_build_873, dm_build_874 := 0, error(nil) 490 for { 491 492 if dm_build_871.dm_build_858 != dm_build_871.dm_build_859 { 493 dm_build_873 = copy(dm_build_872, dm_build_871.dm_build_857[dm_build_871.dm_build_858:dm_build_871.dm_build_859]) 494 dm_build_871.dm_build_858 += dm_build_873 495 if dm_build_871.dm_build_858 == dm_build_871.dm_build_859 && dm_build_871.dm_build_863 { 496 return dm_build_873, dm_build_871.dm_build_856 497 } 498 return dm_build_873, nil 499 } else if dm_build_871.dm_build_863 { 500 return 0, dm_build_871.dm_build_856 501 } 502 503 if dm_build_871.dm_build_861 != dm_build_871.dm_build_862 || dm_build_871.dm_build_856 != nil { 504 dm_build_871.dm_build_858 = 0 505 dm_build_871.dm_build_859, dm_build_873, dm_build_874 = dm_build_871.dm_build_855.Transform(dm_build_871.dm_build_857, dm_build_871.dm_build_860[dm_build_871.dm_build_861:dm_build_871.dm_build_862], dm_build_871.dm_build_856 == io.EOF) 506 dm_build_871.dm_build_861 += dm_build_873 507 508 switch { 509 case dm_build_874 == nil: 510 if dm_build_871.dm_build_861 != dm_build_871.dm_build_862 { 511 dm_build_871.dm_build_856 = nil 512 } 513 514 dm_build_871.dm_build_863 = dm_build_871.dm_build_856 != nil 515 continue 516 case dm_build_874 == transform.ErrShortDst && (dm_build_871.dm_build_859 != 0 || dm_build_873 != 0): 517 518 continue 519 case dm_build_874 == transform.ErrShortSrc && dm_build_871.dm_build_862-dm_build_871.dm_build_861 != len(dm_build_871.dm_build_860) && dm_build_871.dm_build_856 == nil: 520 521 default: 522 dm_build_871.dm_build_863 = true 523 524 if dm_build_871.dm_build_856 == nil || dm_build_871.dm_build_856 == io.EOF { 525 dm_build_871.dm_build_856 = dm_build_874 526 } 527 continue 528 } 529 } 530 531 if dm_build_871.dm_build_861 != 0 { 532 dm_build_871.dm_build_861, dm_build_871.dm_build_862 = 0, copy(dm_build_871.dm_build_860, dm_build_871.dm_build_860[dm_build_871.dm_build_861:dm_build_871.dm_build_862]) 533 } 534 dm_build_873, dm_build_871.dm_build_856 = dm_build_871.dm_build_854.Read(dm_build_871.dm_build_860[dm_build_871.dm_build_862:]) 535 dm_build_871.dm_build_862 += dm_build_873 536 } 537 }