gitee.com/chunanyong/dm@v1.8.12/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_648 struct{} 18 19 var Dm_build_649 = &dm_build_648{} 20 21 func (Dm_build_651 *dm_build_648) Dm_build_650(dm_build_652 []byte, dm_build_653 int, dm_build_654 byte) int { 22 dm_build_652[dm_build_653] = dm_build_654 23 return 1 24 } 25 26 func (Dm_build_656 *dm_build_648) Dm_build_655(dm_build_657 []byte, dm_build_658 int, dm_build_659 int8) int { 27 dm_build_657[dm_build_658] = byte(dm_build_659) 28 return 1 29 } 30 31 func (Dm_build_661 *dm_build_648) Dm_build_660(dm_build_662 []byte, dm_build_663 int, dm_build_664 int16) int { 32 dm_build_662[dm_build_663] = byte(dm_build_664) 33 dm_build_663++ 34 dm_build_662[dm_build_663] = byte(dm_build_664 >> 8) 35 return 2 36 } 37 38 func (Dm_build_666 *dm_build_648) Dm_build_665(dm_build_667 []byte, dm_build_668 int, dm_build_669 int32) int { 39 dm_build_667[dm_build_668] = byte(dm_build_669) 40 dm_build_668++ 41 dm_build_667[dm_build_668] = byte(dm_build_669 >> 8) 42 dm_build_668++ 43 dm_build_667[dm_build_668] = byte(dm_build_669 >> 16) 44 dm_build_668++ 45 dm_build_667[dm_build_668] = byte(dm_build_669 >> 24) 46 dm_build_668++ 47 return 4 48 } 49 50 func (Dm_build_671 *dm_build_648) Dm_build_670(dm_build_672 []byte, dm_build_673 int, dm_build_674 int64) int { 51 dm_build_672[dm_build_673] = byte(dm_build_674) 52 dm_build_673++ 53 dm_build_672[dm_build_673] = byte(dm_build_674 >> 8) 54 dm_build_673++ 55 dm_build_672[dm_build_673] = byte(dm_build_674 >> 16) 56 dm_build_673++ 57 dm_build_672[dm_build_673] = byte(dm_build_674 >> 24) 58 dm_build_673++ 59 dm_build_672[dm_build_673] = byte(dm_build_674 >> 32) 60 dm_build_673++ 61 dm_build_672[dm_build_673] = byte(dm_build_674 >> 40) 62 dm_build_673++ 63 dm_build_672[dm_build_673] = byte(dm_build_674 >> 48) 64 dm_build_673++ 65 dm_build_672[dm_build_673] = byte(dm_build_674 >> 56) 66 return 8 67 } 68 69 func (Dm_build_676 *dm_build_648) Dm_build_675(dm_build_677 []byte, dm_build_678 int, dm_build_679 float32) int { 70 return Dm_build_676.Dm_build_695(dm_build_677, dm_build_678, math.Float32bits(dm_build_679)) 71 } 72 73 func (Dm_build_681 *dm_build_648) Dm_build_680(dm_build_682 []byte, dm_build_683 int, dm_build_684 float64) int { 74 return Dm_build_681.Dm_build_700(dm_build_682, dm_build_683, math.Float64bits(dm_build_684)) 75 } 76 77 func (Dm_build_686 *dm_build_648) Dm_build_685(dm_build_687 []byte, dm_build_688 int, dm_build_689 uint8) int { 78 dm_build_687[dm_build_688] = byte(dm_build_689) 79 return 1 80 } 81 82 func (Dm_build_691 *dm_build_648) Dm_build_690(dm_build_692 []byte, dm_build_693 int, dm_build_694 uint16) int { 83 dm_build_692[dm_build_693] = byte(dm_build_694) 84 dm_build_693++ 85 dm_build_692[dm_build_693] = byte(dm_build_694 >> 8) 86 return 2 87 } 88 89 func (Dm_build_696 *dm_build_648) Dm_build_695(dm_build_697 []byte, dm_build_698 int, dm_build_699 uint32) int { 90 dm_build_697[dm_build_698] = byte(dm_build_699) 91 dm_build_698++ 92 dm_build_697[dm_build_698] = byte(dm_build_699 >> 8) 93 dm_build_698++ 94 dm_build_697[dm_build_698] = byte(dm_build_699 >> 16) 95 dm_build_698++ 96 dm_build_697[dm_build_698] = byte(dm_build_699 >> 24) 97 return 3 98 } 99 100 func (Dm_build_701 *dm_build_648) Dm_build_700(dm_build_702 []byte, dm_build_703 int, dm_build_704 uint64) int { 101 dm_build_702[dm_build_703] = byte(dm_build_704) 102 dm_build_703++ 103 dm_build_702[dm_build_703] = byte(dm_build_704 >> 8) 104 dm_build_703++ 105 dm_build_702[dm_build_703] = byte(dm_build_704 >> 16) 106 dm_build_703++ 107 dm_build_702[dm_build_703] = byte(dm_build_704 >> 24) 108 dm_build_703++ 109 dm_build_702[dm_build_703] = byte(dm_build_704 >> 32) 110 dm_build_703++ 111 dm_build_702[dm_build_703] = byte(dm_build_704 >> 40) 112 dm_build_703++ 113 dm_build_702[dm_build_703] = byte(dm_build_704 >> 48) 114 dm_build_703++ 115 dm_build_702[dm_build_703] = byte(dm_build_704 >> 56) 116 return 3 117 } 118 119 func (Dm_build_706 *dm_build_648) Dm_build_705(dm_build_707 []byte, dm_build_708 int, dm_build_709 []byte, dm_build_710 int, dm_build_711 int) int { 120 copy(dm_build_707[dm_build_708:dm_build_708+dm_build_711], dm_build_709[dm_build_710:dm_build_710+dm_build_711]) 121 return dm_build_711 122 } 123 124 func (Dm_build_713 *dm_build_648) Dm_build_712(dm_build_714 []byte, dm_build_715 int, dm_build_716 []byte, dm_build_717 int, dm_build_718 int) int { 125 dm_build_715 += Dm_build_713.Dm_build_695(dm_build_714, dm_build_715, uint32(dm_build_718)) 126 return 4 + Dm_build_713.Dm_build_705(dm_build_714, dm_build_715, dm_build_716, dm_build_717, dm_build_718) 127 } 128 129 func (Dm_build_720 *dm_build_648) Dm_build_719(dm_build_721 []byte, dm_build_722 int, dm_build_723 []byte, dm_build_724 int, dm_build_725 int) int { 130 dm_build_722 += Dm_build_720.Dm_build_690(dm_build_721, dm_build_722, uint16(dm_build_725)) 131 return 2 + Dm_build_720.Dm_build_705(dm_build_721, dm_build_722, dm_build_723, dm_build_724, dm_build_725) 132 } 133 134 func (Dm_build_727 *dm_build_648) Dm_build_726(dm_build_728 []byte, dm_build_729 int, dm_build_730 string, dm_build_731 string, dm_build_732 *DmConnection) int { 135 dm_build_733 := Dm_build_727.Dm_build_865(dm_build_730, dm_build_731, dm_build_732) 136 dm_build_729 += Dm_build_727.Dm_build_695(dm_build_728, dm_build_729, uint32(len(dm_build_733))) 137 return 4 + Dm_build_727.Dm_build_705(dm_build_728, dm_build_729, dm_build_733, 0, len(dm_build_733)) 138 } 139 140 func (Dm_build_735 *dm_build_648) Dm_build_734(dm_build_736 []byte, dm_build_737 int, dm_build_738 string, dm_build_739 string, dm_build_740 *DmConnection) int { 141 dm_build_741 := Dm_build_735.Dm_build_865(dm_build_738, dm_build_739, dm_build_740) 142 143 dm_build_737 += Dm_build_735.Dm_build_690(dm_build_736, dm_build_737, uint16(len(dm_build_741))) 144 return 2 + Dm_build_735.Dm_build_705(dm_build_736, dm_build_737, dm_build_741, 0, len(dm_build_741)) 145 } 146 147 func (Dm_build_743 *dm_build_648) Dm_build_742(dm_build_744 []byte, dm_build_745 int) byte { 148 return dm_build_744[dm_build_745] 149 } 150 151 func (Dm_build_747 *dm_build_648) Dm_build_746(dm_build_748 []byte, dm_build_749 int) int16 { 152 var dm_build_750 int16 153 dm_build_750 = int16(dm_build_748[dm_build_749] & 0xff) 154 dm_build_749++ 155 dm_build_750 |= int16(dm_build_748[dm_build_749]&0xff) << 8 156 return dm_build_750 157 } 158 159 func (Dm_build_752 *dm_build_648) Dm_build_751(dm_build_753 []byte, dm_build_754 int) int32 { 160 var dm_build_755 int32 161 dm_build_755 = int32(dm_build_753[dm_build_754] & 0xff) 162 dm_build_754++ 163 dm_build_755 |= int32(dm_build_753[dm_build_754]&0xff) << 8 164 dm_build_754++ 165 dm_build_755 |= int32(dm_build_753[dm_build_754]&0xff) << 16 166 dm_build_754++ 167 dm_build_755 |= int32(dm_build_753[dm_build_754]&0xff) << 24 168 return dm_build_755 169 } 170 171 func (Dm_build_757 *dm_build_648) Dm_build_756(dm_build_758 []byte, dm_build_759 int) int64 { 172 var dm_build_760 int64 173 dm_build_760 = int64(dm_build_758[dm_build_759] & 0xff) 174 dm_build_759++ 175 dm_build_760 |= int64(dm_build_758[dm_build_759]&0xff) << 8 176 dm_build_759++ 177 dm_build_760 |= int64(dm_build_758[dm_build_759]&0xff) << 16 178 dm_build_759++ 179 dm_build_760 |= int64(dm_build_758[dm_build_759]&0xff) << 24 180 dm_build_759++ 181 dm_build_760 |= int64(dm_build_758[dm_build_759]&0xff) << 32 182 dm_build_759++ 183 dm_build_760 |= int64(dm_build_758[dm_build_759]&0xff) << 40 184 dm_build_759++ 185 dm_build_760 |= int64(dm_build_758[dm_build_759]&0xff) << 48 186 dm_build_759++ 187 dm_build_760 |= int64(dm_build_758[dm_build_759]&0xff) << 56 188 return dm_build_760 189 } 190 191 func (Dm_build_762 *dm_build_648) Dm_build_761(dm_build_763 []byte, dm_build_764 int) float32 { 192 return math.Float32frombits(Dm_build_762.Dm_build_778(dm_build_763, dm_build_764)) 193 } 194 195 func (Dm_build_766 *dm_build_648) Dm_build_765(dm_build_767 []byte, dm_build_768 int) float64 { 196 return math.Float64frombits(Dm_build_766.Dm_build_783(dm_build_767, dm_build_768)) 197 } 198 199 func (Dm_build_770 *dm_build_648) Dm_build_769(dm_build_771 []byte, dm_build_772 int) uint8 { 200 return uint8(dm_build_771[dm_build_772] & 0xff) 201 } 202 203 func (Dm_build_774 *dm_build_648) Dm_build_773(dm_build_775 []byte, dm_build_776 int) uint16 { 204 var dm_build_777 uint16 205 dm_build_777 = uint16(dm_build_775[dm_build_776] & 0xff) 206 dm_build_776++ 207 dm_build_777 |= uint16(dm_build_775[dm_build_776]&0xff) << 8 208 return dm_build_777 209 } 210 211 func (Dm_build_779 *dm_build_648) Dm_build_778(dm_build_780 []byte, dm_build_781 int) uint32 { 212 var dm_build_782 uint32 213 dm_build_782 = uint32(dm_build_780[dm_build_781] & 0xff) 214 dm_build_781++ 215 dm_build_782 |= uint32(dm_build_780[dm_build_781]&0xff) << 8 216 dm_build_781++ 217 dm_build_782 |= uint32(dm_build_780[dm_build_781]&0xff) << 16 218 dm_build_781++ 219 dm_build_782 |= uint32(dm_build_780[dm_build_781]&0xff) << 24 220 return dm_build_782 221 } 222 223 func (Dm_build_784 *dm_build_648) Dm_build_783(dm_build_785 []byte, dm_build_786 int) uint64 { 224 var dm_build_787 uint64 225 dm_build_787 = uint64(dm_build_785[dm_build_786] & 0xff) 226 dm_build_786++ 227 dm_build_787 |= uint64(dm_build_785[dm_build_786]&0xff) << 8 228 dm_build_786++ 229 dm_build_787 |= uint64(dm_build_785[dm_build_786]&0xff) << 16 230 dm_build_786++ 231 dm_build_787 |= uint64(dm_build_785[dm_build_786]&0xff) << 24 232 dm_build_786++ 233 dm_build_787 |= uint64(dm_build_785[dm_build_786]&0xff) << 32 234 dm_build_786++ 235 dm_build_787 |= uint64(dm_build_785[dm_build_786]&0xff) << 40 236 dm_build_786++ 237 dm_build_787 |= uint64(dm_build_785[dm_build_786]&0xff) << 48 238 dm_build_786++ 239 dm_build_787 |= uint64(dm_build_785[dm_build_786]&0xff) << 56 240 return dm_build_787 241 } 242 243 func (Dm_build_789 *dm_build_648) Dm_build_788(dm_build_790 []byte, dm_build_791 int) []byte { 244 dm_build_792 := Dm_build_789.Dm_build_778(dm_build_790, dm_build_791) 245 246 dm_build_793 := make([]byte, dm_build_792) 247 copy(dm_build_793[:int(dm_build_792)], dm_build_790[dm_build_791+4:dm_build_791+4+int(dm_build_792)]) 248 return dm_build_793 249 } 250 251 func (Dm_build_795 *dm_build_648) Dm_build_794(dm_build_796 []byte, dm_build_797 int) []byte { 252 dm_build_798 := Dm_build_795.Dm_build_773(dm_build_796, dm_build_797) 253 254 dm_build_799 := make([]byte, dm_build_798) 255 copy(dm_build_799[:int(dm_build_798)], dm_build_796[dm_build_797+2:dm_build_797+2+int(dm_build_798)]) 256 return dm_build_799 257 } 258 259 func (Dm_build_801 *dm_build_648) Dm_build_800(dm_build_802 []byte, dm_build_803 int, dm_build_804 int) []byte { 260 261 dm_build_805 := make([]byte, dm_build_804) 262 copy(dm_build_805[:dm_build_804], dm_build_802[dm_build_803:dm_build_803+dm_build_804]) 263 return dm_build_805 264 } 265 266 func (Dm_build_807 *dm_build_648) Dm_build_806(dm_build_808 []byte, dm_build_809 int, dm_build_810 int, dm_build_811 string, dm_build_812 *DmConnection) string { 267 return Dm_build_807.Dm_build_902(dm_build_808[dm_build_809:dm_build_809+dm_build_810], dm_build_811, dm_build_812) 268 } 269 270 func (Dm_build_814 *dm_build_648) Dm_build_813(dm_build_815 []byte, dm_build_816 int, dm_build_817 string, dm_build_818 *DmConnection) string { 271 dm_build_819 := Dm_build_814.Dm_build_778(dm_build_815, dm_build_816) 272 dm_build_816 += 4 273 return Dm_build_814.Dm_build_806(dm_build_815, dm_build_816, int(dm_build_819), dm_build_817, dm_build_818) 274 } 275 276 func (Dm_build_821 *dm_build_648) Dm_build_820(dm_build_822 []byte, dm_build_823 int, dm_build_824 string, dm_build_825 *DmConnection) string { 277 dm_build_826 := Dm_build_821.Dm_build_773(dm_build_822, dm_build_823) 278 dm_build_823 += 2 279 return Dm_build_821.Dm_build_806(dm_build_822, dm_build_823, int(dm_build_826), dm_build_824, dm_build_825) 280 } 281 282 func (Dm_build_828 *dm_build_648) Dm_build_827(dm_build_829 byte) []byte { 283 return []byte{dm_build_829} 284 } 285 286 func (Dm_build_831 *dm_build_648) Dm_build_830(dm_build_832 int8) []byte { 287 return []byte{byte(dm_build_832)} 288 } 289 290 func (Dm_build_834 *dm_build_648) Dm_build_833(dm_build_835 int16) []byte { 291 return []byte{byte(dm_build_835), byte(dm_build_835 >> 8)} 292 } 293 294 func (Dm_build_837 *dm_build_648) Dm_build_836(dm_build_838 int32) []byte { 295 return []byte{byte(dm_build_838), byte(dm_build_838 >> 8), byte(dm_build_838 >> 16), byte(dm_build_838 >> 24)} 296 } 297 298 func (Dm_build_840 *dm_build_648) Dm_build_839(dm_build_841 int64) []byte { 299 return []byte{byte(dm_build_841), byte(dm_build_841 >> 8), byte(dm_build_841 >> 16), byte(dm_build_841 >> 24), byte(dm_build_841 >> 32), 300 byte(dm_build_841 >> 40), byte(dm_build_841 >> 48), byte(dm_build_841 >> 56)} 301 } 302 303 func (Dm_build_843 *dm_build_648) Dm_build_842(dm_build_844 float32) []byte { 304 return Dm_build_843.Dm_build_854(math.Float32bits(dm_build_844)) 305 } 306 307 func (Dm_build_846 *dm_build_648) Dm_build_845(dm_build_847 float64) []byte { 308 return Dm_build_846.Dm_build_857(math.Float64bits(dm_build_847)) 309 } 310 311 func (Dm_build_849 *dm_build_648) Dm_build_848(dm_build_850 uint8) []byte { 312 return []byte{byte(dm_build_850)} 313 } 314 315 func (Dm_build_852 *dm_build_648) Dm_build_851(dm_build_853 uint16) []byte { 316 return []byte{byte(dm_build_853), byte(dm_build_853 >> 8)} 317 } 318 319 func (Dm_build_855 *dm_build_648) Dm_build_854(dm_build_856 uint32) []byte { 320 return []byte{byte(dm_build_856), byte(dm_build_856 >> 8), byte(dm_build_856 >> 16), byte(dm_build_856 >> 24)} 321 } 322 323 func (Dm_build_858 *dm_build_648) Dm_build_857(dm_build_859 uint64) []byte { 324 return []byte{byte(dm_build_859), byte(dm_build_859 >> 8), byte(dm_build_859 >> 16), byte(dm_build_859 >> 24), byte(dm_build_859 >> 32), byte(dm_build_859 >> 40), byte(dm_build_859 >> 48), byte(dm_build_859 >> 56)} 325 } 326 327 func (Dm_build_861 *dm_build_648) Dm_build_860(dm_build_862 []byte, dm_build_863 string, dm_build_864 *DmConnection) []byte { 328 if dm_build_863 == "UTF-8" { 329 return dm_build_862 330 } 331 332 if dm_build_864 == nil { 333 if e := dm_build_907(dm_build_863); e != nil { 334 tmp, err := ioutil.ReadAll( 335 transform.NewReader(bytes.NewReader(dm_build_862), e.NewEncoder()), 336 ) 337 if err != nil { 338 panic("UTF8 To Charset error!") 339 } 340 341 return tmp 342 } 343 344 panic("Unsupported Charset!") 345 } 346 347 if dm_build_864.encodeBuffer == nil { 348 dm_build_864.encodeBuffer = bytes.NewBuffer(nil) 349 dm_build_864.encode = dm_build_907(dm_build_864.getServerEncoding()) 350 dm_build_864.transformReaderDst = make([]byte, 4096) 351 dm_build_864.transformReaderSrc = make([]byte, 4096) 352 } 353 354 if e := dm_build_864.encode; e != nil { 355 356 dm_build_864.encodeBuffer.Reset() 357 358 n, err := dm_build_864.encodeBuffer.ReadFrom( 359 Dm_build_921(bytes.NewReader(dm_build_862), e.NewEncoder(), dm_build_864.transformReaderDst, dm_build_864.transformReaderSrc), 360 ) 361 if err != nil { 362 panic("UTF8 To Charset error!") 363 } 364 var tmp = make([]byte, n) 365 if _, err = dm_build_864.encodeBuffer.Read(tmp); err != nil { 366 panic("UTF8 To Charset error!") 367 } 368 return tmp 369 } 370 371 panic("Unsupported Charset!") 372 } 373 374 func (Dm_build_866 *dm_build_648) Dm_build_865(dm_build_867 string, dm_build_868 string, dm_build_869 *DmConnection) []byte { 375 return Dm_build_866.Dm_build_860([]byte(dm_build_867), dm_build_868, dm_build_869) 376 } 377 378 func (Dm_build_871 *dm_build_648) Dm_build_870(dm_build_872 []byte) byte { 379 return Dm_build_871.Dm_build_742(dm_build_872, 0) 380 } 381 382 func (Dm_build_874 *dm_build_648) Dm_build_873(dm_build_875 []byte) int16 { 383 return Dm_build_874.Dm_build_746(dm_build_875, 0) 384 } 385 386 func (Dm_build_877 *dm_build_648) Dm_build_876(dm_build_878 []byte) int32 { 387 return Dm_build_877.Dm_build_751(dm_build_878, 0) 388 } 389 390 func (Dm_build_880 *dm_build_648) Dm_build_879(dm_build_881 []byte) int64 { 391 return Dm_build_880.Dm_build_756(dm_build_881, 0) 392 } 393 394 func (Dm_build_883 *dm_build_648) Dm_build_882(dm_build_884 []byte) float32 { 395 return Dm_build_883.Dm_build_761(dm_build_884, 0) 396 } 397 398 func (Dm_build_886 *dm_build_648) Dm_build_885(dm_build_887 []byte) float64 { 399 return Dm_build_886.Dm_build_765(dm_build_887, 0) 400 } 401 402 func (Dm_build_889 *dm_build_648) Dm_build_888(dm_build_890 []byte) uint8 { 403 return Dm_build_889.Dm_build_769(dm_build_890, 0) 404 } 405 406 func (Dm_build_892 *dm_build_648) Dm_build_891(dm_build_893 []byte) uint16 { 407 return Dm_build_892.Dm_build_773(dm_build_893, 0) 408 } 409 410 func (Dm_build_895 *dm_build_648) Dm_build_894(dm_build_896 []byte) uint32 { 411 return Dm_build_895.Dm_build_778(dm_build_896, 0) 412 } 413 414 func (Dm_build_898 *dm_build_648) Dm_build_897(dm_build_899 []byte, dm_build_900 string, dm_build_901 *DmConnection) []byte { 415 if dm_build_900 == "UTF-8" { 416 return dm_build_899 417 } 418 419 if dm_build_901 == nil { 420 if e := dm_build_907(dm_build_900); e != nil { 421 422 tmp, err := ioutil.ReadAll( 423 transform.NewReader(bytes.NewReader(dm_build_899), 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_901.encodeBuffer == nil { 437 dm_build_901.encodeBuffer = bytes.NewBuffer(nil) 438 dm_build_901.encode = dm_build_907(dm_build_901.getServerEncoding()) 439 dm_build_901.transformReaderDst = make([]byte, 4096) 440 dm_build_901.transformReaderSrc = make([]byte, 4096) 441 } 442 443 if e := dm_build_901.encode; e != nil { 444 445 dm_build_901.encodeBuffer.Reset() 446 447 n, err := dm_build_901.encodeBuffer.ReadFrom( 448 Dm_build_921(bytes.NewReader(dm_build_899), e.NewDecoder(), dm_build_901.transformReaderDst, dm_build_901.transformReaderSrc), 449 ) 450 if err != nil { 451 452 panic("Charset To UTF8 error!") 453 } 454 455 return dm_build_901.encodeBuffer.Next(int(n)) 456 } 457 458 panic("Unsupported Charset!") 459 } 460 461 func (Dm_build_903 *dm_build_648) Dm_build_902(dm_build_904 []byte, dm_build_905 string, dm_build_906 *DmConnection) string { 462 return string(Dm_build_903.Dm_build_897(dm_build_904, dm_build_905, dm_build_906)) 463 } 464 465 func dm_build_907(dm_build_908 string) encoding.Encoding { 466 if e, err := ianaindex.MIB.Encoding(dm_build_908); err == nil && e != nil { 467 return e 468 } 469 return nil 470 } 471 472 type Dm_build_909 struct { 473 dm_build_910 io.Reader 474 dm_build_911 transform.Transformer 475 dm_build_912 error 476 477 dm_build_913 []byte 478 dm_build_914, dm_build_915 int 479 480 dm_build_916 []byte 481 dm_build_917, dm_build_918 int 482 483 dm_build_919 bool 484 } 485 486 const dm_build_920 = 4096 487 488 func Dm_build_921(dm_build_922 io.Reader, dm_build_923 transform.Transformer, dm_build_924 []byte, dm_build_925 []byte) *Dm_build_909 { 489 dm_build_923.Reset() 490 return &Dm_build_909{ 491 dm_build_910: dm_build_922, 492 dm_build_911: dm_build_923, 493 dm_build_913: dm_build_924, 494 dm_build_916: dm_build_925, 495 } 496 } 497 498 func (dm_build_927 *Dm_build_909) Read(dm_build_928 []byte) (int, error) { 499 dm_build_929, dm_build_930 := 0, error(nil) 500 for { 501 502 if dm_build_927.dm_build_914 != dm_build_927.dm_build_915 { 503 dm_build_929 = copy(dm_build_928, dm_build_927.dm_build_913[dm_build_927.dm_build_914:dm_build_927.dm_build_915]) 504 dm_build_927.dm_build_914 += dm_build_929 505 if dm_build_927.dm_build_914 == dm_build_927.dm_build_915 && dm_build_927.dm_build_919 { 506 return dm_build_929, dm_build_927.dm_build_912 507 } 508 return dm_build_929, nil 509 } else if dm_build_927.dm_build_919 { 510 return 0, dm_build_927.dm_build_912 511 } 512 513 if dm_build_927.dm_build_917 != dm_build_927.dm_build_918 || dm_build_927.dm_build_912 != nil { 514 dm_build_927.dm_build_914 = 0 515 dm_build_927.dm_build_915, dm_build_929, dm_build_930 = dm_build_927.dm_build_911.Transform(dm_build_927.dm_build_913, dm_build_927.dm_build_916[dm_build_927.dm_build_917:dm_build_927.dm_build_918], dm_build_927.dm_build_912 == io.EOF) 516 dm_build_927.dm_build_917 += dm_build_929 517 518 switch { 519 case dm_build_930 == nil: 520 if dm_build_927.dm_build_917 != dm_build_927.dm_build_918 { 521 dm_build_927.dm_build_912 = nil 522 } 523 524 dm_build_927.dm_build_919 = dm_build_927.dm_build_912 != nil 525 continue 526 case dm_build_930 == transform.ErrShortDst && (dm_build_927.dm_build_915 != 0 || dm_build_929 != 0): 527 528 continue 529 case dm_build_930 == transform.ErrShortSrc && dm_build_927.dm_build_918-dm_build_927.dm_build_917 != len(dm_build_927.dm_build_916) && dm_build_927.dm_build_912 == nil: 530 531 default: 532 dm_build_927.dm_build_919 = true 533 534 if dm_build_927.dm_build_912 == nil || dm_build_927.dm_build_912 == io.EOF { 535 dm_build_927.dm_build_912 = dm_build_930 536 } 537 continue 538 } 539 } 540 541 if dm_build_927.dm_build_917 != 0 { 542 dm_build_927.dm_build_917, dm_build_927.dm_build_918 = 0, copy(dm_build_927.dm_build_916, dm_build_927.dm_build_916[dm_build_927.dm_build_917:dm_build_927.dm_build_918]) 543 } 544 dm_build_929, dm_build_927.dm_build_912 = dm_build_927.dm_build_910.Read(dm_build_927.dm_build_916[dm_build_927.dm_build_918:]) 545 dm_build_927.dm_build_918 += dm_build_929 546 } 547 }