gitee.com/runner.mei/dm@v0.0.0-20220207044607-a9ba0dc20bf7/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_622 struct{} 18 19 var Dm_build_623 = &dm_build_622{} 20 21 func (Dm_build_625 *dm_build_622) Dm_build_624(dm_build_626 []byte, dm_build_627 int, dm_build_628 byte) int { 22 dm_build_626[dm_build_627] = dm_build_628 23 return 1 24 } 25 26 func (Dm_build_630 *dm_build_622) Dm_build_629(dm_build_631 []byte, dm_build_632 int, dm_build_633 int8) int { 27 dm_build_631[dm_build_632] = byte(dm_build_633) 28 return 1 29 } 30 31 func (Dm_build_635 *dm_build_622) Dm_build_634(dm_build_636 []byte, dm_build_637 int, dm_build_638 int16) int { 32 dm_build_636[dm_build_637] = byte(dm_build_638) 33 dm_build_637++ 34 dm_build_636[dm_build_637] = byte(dm_build_638 >> 8) 35 return 2 36 } 37 38 func (Dm_build_640 *dm_build_622) Dm_build_639(dm_build_641 []byte, dm_build_642 int, dm_build_643 int32) int { 39 dm_build_641[dm_build_642] = byte(dm_build_643) 40 dm_build_642++ 41 dm_build_641[dm_build_642] = byte(dm_build_643 >> 8) 42 dm_build_642++ 43 dm_build_641[dm_build_642] = byte(dm_build_643 >> 16) 44 dm_build_642++ 45 dm_build_641[dm_build_642] = byte(dm_build_643 >> 24) 46 dm_build_642++ 47 return 4 48 } 49 50 func (Dm_build_645 *dm_build_622) Dm_build_644(dm_build_646 []byte, dm_build_647 int, dm_build_648 int64) int { 51 dm_build_646[dm_build_647] = byte(dm_build_648) 52 dm_build_647++ 53 dm_build_646[dm_build_647] = byte(dm_build_648 >> 8) 54 dm_build_647++ 55 dm_build_646[dm_build_647] = byte(dm_build_648 >> 16) 56 dm_build_647++ 57 dm_build_646[dm_build_647] = byte(dm_build_648 >> 24) 58 dm_build_647++ 59 dm_build_646[dm_build_647] = byte(dm_build_648 >> 32) 60 dm_build_647++ 61 dm_build_646[dm_build_647] = byte(dm_build_648 >> 40) 62 dm_build_647++ 63 dm_build_646[dm_build_647] = byte(dm_build_648 >> 48) 64 dm_build_647++ 65 dm_build_646[dm_build_647] = byte(dm_build_648 >> 56) 66 return 8 67 } 68 69 func (Dm_build_650 *dm_build_622) Dm_build_649(dm_build_651 []byte, dm_build_652 int, dm_build_653 float32) int { 70 return Dm_build_650.Dm_build_669(dm_build_651, dm_build_652, math.Float32bits(dm_build_653)) 71 } 72 73 func (Dm_build_655 *dm_build_622) Dm_build_654(dm_build_656 []byte, dm_build_657 int, dm_build_658 float64) int { 74 return Dm_build_655.Dm_build_674(dm_build_656, dm_build_657, math.Float64bits(dm_build_658)) 75 } 76 77 func (Dm_build_660 *dm_build_622) Dm_build_659(dm_build_661 []byte, dm_build_662 int, dm_build_663 uint8) int { 78 dm_build_661[dm_build_662] = byte(dm_build_663) 79 return 1 80 } 81 82 func (Dm_build_665 *dm_build_622) Dm_build_664(dm_build_666 []byte, dm_build_667 int, dm_build_668 uint16) int { 83 dm_build_666[dm_build_667] = byte(dm_build_668) 84 dm_build_667++ 85 dm_build_666[dm_build_667] = byte(dm_build_668 >> 8) 86 return 2 87 } 88 89 func (Dm_build_670 *dm_build_622) Dm_build_669(dm_build_671 []byte, dm_build_672 int, dm_build_673 uint32) int { 90 dm_build_671[dm_build_672] = byte(dm_build_673) 91 dm_build_672++ 92 dm_build_671[dm_build_672] = byte(dm_build_673 >> 8) 93 dm_build_672++ 94 dm_build_671[dm_build_672] = byte(dm_build_673 >> 16) 95 dm_build_672++ 96 dm_build_671[dm_build_672] = byte(dm_build_673 >> 24) 97 return 3 98 } 99 100 func (Dm_build_675 *dm_build_622) Dm_build_674(dm_build_676 []byte, dm_build_677 int, dm_build_678 uint64) int { 101 dm_build_676[dm_build_677] = byte(dm_build_678) 102 dm_build_677++ 103 dm_build_676[dm_build_677] = byte(dm_build_678 >> 8) 104 dm_build_677++ 105 dm_build_676[dm_build_677] = byte(dm_build_678 >> 16) 106 dm_build_677++ 107 dm_build_676[dm_build_677] = byte(dm_build_678 >> 24) 108 dm_build_677++ 109 dm_build_676[dm_build_677] = byte(dm_build_678 >> 32) 110 dm_build_677++ 111 dm_build_676[dm_build_677] = byte(dm_build_678 >> 40) 112 dm_build_677++ 113 dm_build_676[dm_build_677] = byte(dm_build_678 >> 48) 114 dm_build_677++ 115 dm_build_676[dm_build_677] = byte(dm_build_678 >> 56) 116 return 3 117 } 118 119 func (Dm_build_680 *dm_build_622) Dm_build_679(dm_build_681 []byte, dm_build_682 int, dm_build_683 []byte, dm_build_684 int, dm_build_685 int) int { 120 copy(dm_build_681[dm_build_682:dm_build_682+dm_build_685], dm_build_683[dm_build_684:dm_build_684+dm_build_685]) 121 return dm_build_685 122 } 123 124 func (Dm_build_687 *dm_build_622) Dm_build_686(dm_build_688 []byte, dm_build_689 int, dm_build_690 []byte, dm_build_691 int, dm_build_692 int) int { 125 dm_build_689 += Dm_build_687.Dm_build_669(dm_build_688, dm_build_689, uint32(dm_build_692)) 126 return 4 + Dm_build_687.Dm_build_679(dm_build_688, dm_build_689, dm_build_690, dm_build_691, dm_build_692) 127 } 128 129 func (Dm_build_694 *dm_build_622) Dm_build_693(dm_build_695 []byte, dm_build_696 int, dm_build_697 []byte, dm_build_698 int, dm_build_699 int) int { 130 dm_build_696 += Dm_build_694.Dm_build_664(dm_build_695, dm_build_696, uint16(dm_build_699)) 131 return 2 + Dm_build_694.Dm_build_679(dm_build_695, dm_build_696, dm_build_697, dm_build_698, dm_build_699) 132 } 133 134 func (Dm_build_701 *dm_build_622) Dm_build_700(dm_build_702 []byte, dm_build_703 int, dm_build_704 string, dm_build_705 string, dm_build_706 *DmConnection) int { 135 dm_build_707 := Dm_build_701.Dm_build_836(dm_build_704, dm_build_705, dm_build_706) 136 dm_build_703 += Dm_build_701.Dm_build_669(dm_build_702, dm_build_703, uint32(len(dm_build_707))) 137 return 4 + Dm_build_701.Dm_build_679(dm_build_702, dm_build_703, dm_build_707, 0, len(dm_build_707)) 138 } 139 140 func (Dm_build_709 *dm_build_622) Dm_build_708(dm_build_710 []byte, dm_build_711 int, dm_build_712 string, dm_build_713 string, dm_build_714 *DmConnection) int { 141 dm_build_715 := Dm_build_709.Dm_build_836(dm_build_712, dm_build_713, dm_build_714) 142 143 dm_build_711 += Dm_build_709.Dm_build_664(dm_build_710, dm_build_711, uint16(len(dm_build_715))) 144 return 2 + Dm_build_709.Dm_build_679(dm_build_710, dm_build_711, dm_build_715, 0, len(dm_build_715)) 145 } 146 147 func (Dm_build_717 *dm_build_622) Dm_build_716(dm_build_718 []byte, dm_build_719 int) byte { 148 return dm_build_718[dm_build_719] 149 } 150 151 func (Dm_build_721 *dm_build_622) Dm_build_720(dm_build_722 []byte, dm_build_723 int) int16 { 152 var dm_build_724 int16 153 dm_build_724 = int16(dm_build_722[dm_build_723] & 0xff) 154 dm_build_723++ 155 dm_build_724 |= int16(dm_build_722[dm_build_723]&0xff) << 8 156 return dm_build_724 157 } 158 159 func (Dm_build_726 *dm_build_622) Dm_build_725(dm_build_727 []byte, dm_build_728 int) int32 { 160 var dm_build_729 int32 161 dm_build_729 = int32(dm_build_727[dm_build_728] & 0xff) 162 dm_build_728++ 163 dm_build_729 |= int32(dm_build_727[dm_build_728]&0xff) << 8 164 dm_build_728++ 165 dm_build_729 |= int32(dm_build_727[dm_build_728]&0xff) << 16 166 dm_build_728++ 167 dm_build_729 |= int32(dm_build_727[dm_build_728]&0xff) << 24 168 return dm_build_729 169 } 170 171 func (Dm_build_731 *dm_build_622) Dm_build_730(dm_build_732 []byte, dm_build_733 int) int64 { 172 var dm_build_734 int64 173 dm_build_734 = int64(dm_build_732[dm_build_733] & 0xff) 174 dm_build_733++ 175 dm_build_734 |= int64(dm_build_732[dm_build_733]&0xff) << 8 176 dm_build_733++ 177 dm_build_734 |= int64(dm_build_732[dm_build_733]&0xff) << 16 178 dm_build_733++ 179 dm_build_734 |= int64(dm_build_732[dm_build_733]&0xff) << 24 180 dm_build_733++ 181 dm_build_734 |= int64(dm_build_732[dm_build_733]&0xff) << 32 182 dm_build_733++ 183 dm_build_734 |= int64(dm_build_732[dm_build_733]&0xff) << 40 184 dm_build_733++ 185 dm_build_734 |= int64(dm_build_732[dm_build_733]&0xff) << 48 186 dm_build_733++ 187 dm_build_734 |= int64(dm_build_732[dm_build_733]&0xff) << 56 188 return dm_build_734 189 } 190 191 func (Dm_build_736 *dm_build_622) Dm_build_735(dm_build_737 []byte, dm_build_738 int) float32 { 192 return math.Float32frombits(Dm_build_736.Dm_build_752(dm_build_737, dm_build_738)) 193 } 194 195 func (Dm_build_740 *dm_build_622) Dm_build_739(dm_build_741 []byte, dm_build_742 int) float64 { 196 return math.Float64frombits(Dm_build_740.Dm_build_757(dm_build_741, dm_build_742)) 197 } 198 199 func (Dm_build_744 *dm_build_622) Dm_build_743(dm_build_745 []byte, dm_build_746 int) uint8 { 200 return uint8(dm_build_745[dm_build_746] & 0xff) 201 } 202 203 func (Dm_build_748 *dm_build_622) Dm_build_747(dm_build_749 []byte, dm_build_750 int) uint16 { 204 var dm_build_751 uint16 205 dm_build_751 = uint16(dm_build_749[dm_build_750] & 0xff) 206 dm_build_750++ 207 dm_build_751 |= uint16(dm_build_749[dm_build_750]&0xff) << 8 208 return dm_build_751 209 } 210 211 func (Dm_build_753 *dm_build_622) Dm_build_752(dm_build_754 []byte, dm_build_755 int) uint32 { 212 var dm_build_756 uint32 213 dm_build_756 = uint32(dm_build_754[dm_build_755] & 0xff) 214 dm_build_755++ 215 dm_build_756 |= uint32(dm_build_754[dm_build_755]&0xff) << 8 216 dm_build_755++ 217 dm_build_756 |= uint32(dm_build_754[dm_build_755]&0xff) << 16 218 dm_build_755++ 219 dm_build_756 |= uint32(dm_build_754[dm_build_755]&0xff) << 24 220 return dm_build_756 221 } 222 223 func (Dm_build_758 *dm_build_622) Dm_build_757(dm_build_759 []byte, dm_build_760 int) uint64 { 224 var dm_build_761 uint64 225 dm_build_761 = uint64(dm_build_759[dm_build_760] & 0xff) 226 dm_build_760++ 227 dm_build_761 |= uint64(dm_build_759[dm_build_760]&0xff) << 8 228 dm_build_760++ 229 dm_build_761 |= uint64(dm_build_759[dm_build_760]&0xff) << 16 230 dm_build_760++ 231 dm_build_761 |= uint64(dm_build_759[dm_build_760]&0xff) << 24 232 dm_build_760++ 233 dm_build_761 |= uint64(dm_build_759[dm_build_760]&0xff) << 32 234 dm_build_760++ 235 dm_build_761 |= uint64(dm_build_759[dm_build_760]&0xff) << 40 236 dm_build_760++ 237 dm_build_761 |= uint64(dm_build_759[dm_build_760]&0xff) << 48 238 dm_build_760++ 239 dm_build_761 |= uint64(dm_build_759[dm_build_760]&0xff) << 56 240 return dm_build_761 241 } 242 243 func (Dm_build_763 *dm_build_622) Dm_build_762(dm_build_764 []byte, dm_build_765 int) []byte { 244 dm_build_766 := Dm_build_763.Dm_build_752(dm_build_764, dm_build_765) 245 246 dm_build_767 := make([]byte, dm_build_766) 247 copy(dm_build_767[:int(dm_build_766)], dm_build_764[dm_build_765+4:dm_build_765+4+int(dm_build_766)]) 248 return dm_build_767 249 } 250 251 func (Dm_build_769 *dm_build_622) Dm_build_768(dm_build_770 []byte, dm_build_771 int) []byte { 252 dm_build_772 := Dm_build_769.Dm_build_747(dm_build_770, dm_build_771) 253 254 dm_build_773 := make([]byte, dm_build_772) 255 copy(dm_build_773[:int(dm_build_772)], dm_build_770[dm_build_771+2:dm_build_771+2+int(dm_build_772)]) 256 return dm_build_773 257 } 258 259 func (Dm_build_775 *dm_build_622) Dm_build_774(dm_build_776 []byte, dm_build_777 int, dm_build_778 int) []byte { 260 261 dm_build_779 := make([]byte, dm_build_778) 262 copy(dm_build_779[:dm_build_778], dm_build_776[dm_build_777:dm_build_777+dm_build_778]) 263 return dm_build_779 264 } 265 266 func (Dm_build_781 *dm_build_622) Dm_build_780(dm_build_782 []byte, dm_build_783 int, dm_build_784 int, dm_build_785 string, dm_build_786 *DmConnection) string { 267 return Dm_build_781.Dm_build_873(dm_build_782[dm_build_783:dm_build_783+dm_build_784], dm_build_785, dm_build_786) 268 } 269 270 func (Dm_build_788 *dm_build_622) Dm_build_787(dm_build_789 []byte, dm_build_790 int, dm_build_791 string, dm_build_792 *DmConnection) string { 271 dm_build_793 := Dm_build_788.Dm_build_752(dm_build_789, dm_build_790) 272 dm_build_790 += 4 273 return Dm_build_788.Dm_build_780(dm_build_789, dm_build_790, int(dm_build_793), dm_build_791, dm_build_792) 274 } 275 276 func (Dm_build_795 *dm_build_622) Dm_build_794(dm_build_796 []byte, dm_build_797 int, dm_build_798 string, dm_build_799 *DmConnection) string { 277 dm_build_800 := Dm_build_795.Dm_build_747(dm_build_796, dm_build_797) 278 dm_build_797 += 2 279 return Dm_build_795.Dm_build_780(dm_build_796, dm_build_797, int(dm_build_800), dm_build_798, dm_build_799) 280 } 281 282 func (Dm_build_802 *dm_build_622) Dm_build_801(dm_build_803 byte) []byte { 283 return []byte{dm_build_803} 284 } 285 286 func (Dm_build_805 *dm_build_622) Dm_build_804(dm_build_806 int16) []byte { 287 return []byte{byte(dm_build_806), byte(dm_build_806 >> 8)} 288 } 289 290 func (Dm_build_808 *dm_build_622) Dm_build_807(dm_build_809 int32) []byte { 291 return []byte{byte(dm_build_809), byte(dm_build_809 >> 8), byte(dm_build_809 >> 16), byte(dm_build_809 >> 24)} 292 } 293 294 func (Dm_build_811 *dm_build_622) Dm_build_810(dm_build_812 int64) []byte { 295 return []byte{byte(dm_build_812), byte(dm_build_812 >> 8), byte(dm_build_812 >> 16), byte(dm_build_812 >> 24), byte(dm_build_812 >> 32), 296 byte(dm_build_812 >> 40), byte(dm_build_812 >> 48), byte(dm_build_812 >> 56)} 297 } 298 299 func (Dm_build_814 *dm_build_622) Dm_build_813(dm_build_815 float32) []byte { 300 return Dm_build_814.Dm_build_825(math.Float32bits(dm_build_815)) 301 } 302 303 func (Dm_build_817 *dm_build_622) Dm_build_816(dm_build_818 float64) []byte { 304 return Dm_build_817.Dm_build_828(math.Float64bits(dm_build_818)) 305 } 306 307 func (Dm_build_820 *dm_build_622) Dm_build_819(dm_build_821 uint8) []byte { 308 return []byte{byte(dm_build_821)} 309 } 310 311 func (Dm_build_823 *dm_build_622) Dm_build_822(dm_build_824 uint16) []byte { 312 return []byte{byte(dm_build_824), byte(dm_build_824 >> 8)} 313 } 314 315 func (Dm_build_826 *dm_build_622) Dm_build_825(dm_build_827 uint32) []byte { 316 return []byte{byte(dm_build_827), byte(dm_build_827 >> 8), byte(dm_build_827 >> 16), byte(dm_build_827 >> 24)} 317 } 318 319 func (Dm_build_829 *dm_build_622) Dm_build_828(dm_build_830 uint64) []byte { 320 return []byte{byte(dm_build_830), byte(dm_build_830 >> 8), byte(dm_build_830 >> 16), byte(dm_build_830 >> 24), byte(dm_build_830 >> 32), byte(dm_build_830 >> 40), byte(dm_build_830 >> 48), byte(dm_build_830 >> 56)} 321 } 322 323 func (Dm_build_832 *dm_build_622) Dm_build_831(dm_build_833 []byte, dm_build_834 string, dm_build_835 *DmConnection) []byte { 324 if dm_build_834 == "UTF-8" { 325 return dm_build_833 326 } 327 328 if dm_build_835 == nil { 329 if e := dm_build_878(dm_build_834); e != nil { 330 tmp, err := ioutil.ReadAll( 331 transform.NewReader(bytes.NewReader(dm_build_833), 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_835.encodeBuffer == nil { 344 dm_build_835.encodeBuffer = bytes.NewBuffer(nil) 345 dm_build_835.encode = dm_build_878(dm_build_835.getServerEncoding()) 346 dm_build_835.transformReaderDst = make([]byte, 4096) 347 dm_build_835.transformReaderSrc = make([]byte, 4096) 348 } 349 350 if e := dm_build_835.encode; e != nil { 351 352 dm_build_835.encodeBuffer.Reset() 353 354 n, err := dm_build_835.encodeBuffer.ReadFrom( 355 Dm_build_892(bytes.NewReader(dm_build_833), e.NewEncoder(), dm_build_835.transformReaderDst, dm_build_835.transformReaderSrc), 356 ) 357 if err != nil { 358 panic("UTF8 To Charset error!") 359 } 360 var tmp = make([]byte, n) 361 if _, err = dm_build_835.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_837 *dm_build_622) Dm_build_836(dm_build_838 string, dm_build_839 string, dm_build_840 *DmConnection) []byte { 371 return Dm_build_837.Dm_build_831([]byte(dm_build_838), dm_build_839, dm_build_840) 372 } 373 374 func (Dm_build_837 *dm_build_622) Dm_build_836_bytes(dm_build_838 []byte, dm_build_839 string, dm_build_840 *DmConnection) []byte { 375 return Dm_build_837.Dm_build_831(dm_build_838, dm_build_839, dm_build_840) 376 } 377 378 func (Dm_build_842 *dm_build_622) Dm_build_841(dm_build_843 []byte) byte { 379 return Dm_build_842.Dm_build_716(dm_build_843, 0) 380 } 381 382 func (Dm_build_845 *dm_build_622) Dm_build_844(dm_build_846 []byte) int16 { 383 return Dm_build_845.Dm_build_720(dm_build_846, 0) 384 } 385 386 func (Dm_build_848 *dm_build_622) Dm_build_847(dm_build_849 []byte) int32 { 387 return Dm_build_848.Dm_build_725(dm_build_849, 0) 388 } 389 390 func (Dm_build_851 *dm_build_622) Dm_build_850(dm_build_852 []byte) int64 { 391 return Dm_build_851.Dm_build_730(dm_build_852, 0) 392 } 393 394 func (Dm_build_854 *dm_build_622) Dm_build_853(dm_build_855 []byte) float32 { 395 return Dm_build_854.Dm_build_735(dm_build_855, 0) 396 } 397 398 func (Dm_build_857 *dm_build_622) Dm_build_856(dm_build_858 []byte) float64 { 399 return Dm_build_857.Dm_build_739(dm_build_858, 0) 400 } 401 402 func (Dm_build_860 *dm_build_622) Dm_build_859(dm_build_861 []byte) uint8 { 403 return Dm_build_860.Dm_build_743(dm_build_861, 0) 404 } 405 406 func (Dm_build_863 *dm_build_622) Dm_build_862(dm_build_864 []byte) uint16 { 407 return Dm_build_863.Dm_build_747(dm_build_864, 0) 408 } 409 410 func (Dm_build_866 *dm_build_622) Dm_build_865(dm_build_867 []byte) uint32 { 411 return Dm_build_866.Dm_build_752(dm_build_867, 0) 412 } 413 414 func (Dm_build_869 *dm_build_622) Dm_build_868(dm_build_870 []byte, dm_build_871 string, dm_build_872 *DmConnection) []byte { 415 if dm_build_871 == "UTF-8" { 416 return dm_build_870 417 } 418 419 if dm_build_872 == nil { 420 if e := dm_build_878(dm_build_871); e != nil { 421 422 tmp, err := ioutil.ReadAll( 423 transform.NewReader(bytes.NewReader(dm_build_870), e.NewDecoder()), 424 ) 425 if err != nil { 426 427 panic("Charset To UTF8 error!") 428 } 429 430 return tmp 431 } 432 433 panic("Unsupported Charset!") 434 } 435 436 if dm_build_872.encodeBuffer == nil { 437 dm_build_872.encodeBuffer = bytes.NewBuffer(nil) 438 dm_build_872.encode = dm_build_878(dm_build_872.getServerEncoding()) 439 dm_build_872.transformReaderDst = make([]byte, 4096) 440 dm_build_872.transformReaderSrc = make([]byte, 4096) 441 } 442 443 if e := dm_build_872.encode; e != nil { 444 445 dm_build_872.encodeBuffer.Reset() 446 447 n, err := dm_build_872.encodeBuffer.ReadFrom( 448 Dm_build_892(bytes.NewReader(dm_build_870), e.NewDecoder(), dm_build_872.transformReaderDst, dm_build_872.transformReaderSrc), 449 ) 450 if err != nil { 451 452 panic("Charset To UTF8 error!") 453 } 454 455 return dm_build_872.encodeBuffer.Next(int(n)) 456 } 457 458 panic("Unsupported Charset!") 459 } 460 461 func (Dm_build_874 *dm_build_622) Dm_build_873(dm_build_875 []byte, dm_build_876 string, dm_build_877 *DmConnection) string { 462 return string(Dm_build_874.Dm_build_868(dm_build_875, dm_build_876, dm_build_877)) 463 } 464 465 func dm_build_878(dm_build_879 string) encoding.Encoding { 466 if e, err := ianaindex.MIB.Encoding(dm_build_879); err == nil && e != nil { 467 return e 468 } 469 return nil 470 } 471 472 type Dm_build_880 struct { 473 dm_build_881 io.Reader 474 dm_build_882 transform.Transformer 475 dm_build_883 error 476 477 dm_build_884 []byte 478 dm_build_885, dm_build_886 int 479 480 dm_build_887 []byte 481 dm_build_888, dm_build_889 int 482 483 dm_build_890 bool 484 } 485 486 const dm_build_891 = 4096 487 488 func Dm_build_892(dm_build_893 io.Reader, dm_build_894 transform.Transformer, dm_build_895 []byte, dm_build_896 []byte) *Dm_build_880 { 489 dm_build_894.Reset() 490 return &Dm_build_880{ 491 dm_build_881: dm_build_893, 492 dm_build_882: dm_build_894, 493 dm_build_884: dm_build_895, 494 dm_build_887: dm_build_896, 495 } 496 } 497 498 func (dm_build_898 *Dm_build_880) Read(dm_build_899 []byte) (int, error) { 499 dm_build_900, dm_build_901 := 0, error(nil) 500 for { 501 502 if dm_build_898.dm_build_885 != dm_build_898.dm_build_886 { 503 dm_build_900 = copy(dm_build_899, dm_build_898.dm_build_884[dm_build_898.dm_build_885:dm_build_898.dm_build_886]) 504 dm_build_898.dm_build_885 += dm_build_900 505 if dm_build_898.dm_build_885 == dm_build_898.dm_build_886 && dm_build_898.dm_build_890 { 506 return dm_build_900, dm_build_898.dm_build_883 507 } 508 return dm_build_900, nil 509 } else if dm_build_898.dm_build_890 { 510 return 0, dm_build_898.dm_build_883 511 } 512 513 if dm_build_898.dm_build_888 != dm_build_898.dm_build_889 || dm_build_898.dm_build_883 != nil { 514 dm_build_898.dm_build_885 = 0 515 dm_build_898.dm_build_886, dm_build_900, dm_build_901 = dm_build_898.dm_build_882.Transform(dm_build_898.dm_build_884, dm_build_898.dm_build_887[dm_build_898.dm_build_888:dm_build_898.dm_build_889], dm_build_898.dm_build_883 == io.EOF) 516 dm_build_898.dm_build_888 += dm_build_900 517 518 switch { 519 case dm_build_901 == nil: 520 if dm_build_898.dm_build_888 != dm_build_898.dm_build_889 { 521 dm_build_898.dm_build_883 = nil 522 } 523 524 dm_build_898.dm_build_890 = dm_build_898.dm_build_883 != nil 525 continue 526 case dm_build_901 == transform.ErrShortDst && (dm_build_898.dm_build_886 != 0 || dm_build_900 != 0): 527 528 continue 529 case dm_build_901 == transform.ErrShortSrc && dm_build_898.dm_build_889-dm_build_898.dm_build_888 != len(dm_build_898.dm_build_887) && dm_build_898.dm_build_883 == nil: 530 531 default: 532 dm_build_898.dm_build_890 = true 533 534 if dm_build_898.dm_build_883 == nil || dm_build_898.dm_build_883 == io.EOF { 535 dm_build_898.dm_build_883 = dm_build_901 536 } 537 continue 538 } 539 } 540 541 if dm_build_898.dm_build_888 != 0 { 542 dm_build_898.dm_build_888, dm_build_898.dm_build_889 = 0, copy(dm_build_898.dm_build_887, dm_build_898.dm_build_887[dm_build_898.dm_build_888:dm_build_898.dm_build_889]) 543 } 544 dm_build_900, dm_build_898.dm_build_883 = dm_build_898.dm_build_881.Read(dm_build_898.dm_build_887[dm_build_898.dm_build_889:]) 545 dm_build_898.dm_build_889 += dm_build_900 546 } 547 }