gitee.com/runner.mei/dm@v0.0.0-20220207044607-a9ba0dc20bf7/d.go (about)

     1  /*
     2   * Copyright (c) 2000-2018, 达梦数据库有限公司.
     3   * All rights reserved.
     4   */
     5  package dm
     6  
     7  import (
     8  	"container/list"
     9  	"io"
    10  )
    11  
    12  type Dm_build_902 struct {
    13  	dm_build_903 *list.List
    14  	dm_build_904 *dm_build_956
    15  	dm_build_905 int
    16  }
    17  
    18  func Dm_build_906() *Dm_build_902 {
    19  	return &Dm_build_902{
    20  		dm_build_903: list.New(),
    21  		dm_build_905: 0,
    22  	}
    23  }
    24  
    25  func (dm_build_908 *Dm_build_902) Dm_build_907() int {
    26  	return dm_build_908.dm_build_905
    27  }
    28  
    29  func (dm_build_910 *Dm_build_902) Dm_build_909(dm_build_911 *Dm_build_980, dm_build_912 int) int {
    30  	var dm_build_913 = 0
    31  	var dm_build_914 = 0
    32  	for dm_build_913 < dm_build_912 && dm_build_910.dm_build_904 != nil {
    33  		dm_build_914 = dm_build_910.dm_build_904.dm_build_964(dm_build_911, dm_build_912-dm_build_913)
    34  		if dm_build_910.dm_build_904.dm_build_959 == 0 {
    35  			dm_build_910.dm_build_946()
    36  		}
    37  		dm_build_913 += dm_build_914
    38  		dm_build_910.dm_build_905 -= dm_build_914
    39  	}
    40  	return dm_build_913
    41  }
    42  
    43  func (dm_build_916 *Dm_build_902) Dm_build_915(dm_build_917 []byte, dm_build_918 int, dm_build_919 int) int {
    44  	var dm_build_920 = 0
    45  	var dm_build_921 = 0
    46  	for dm_build_920 < dm_build_919 && dm_build_916.dm_build_904 != nil {
    47  		dm_build_921 = dm_build_916.dm_build_904.dm_build_968(dm_build_917, dm_build_918, dm_build_919-dm_build_920)
    48  		if dm_build_916.dm_build_904.dm_build_959 == 0 {
    49  			dm_build_916.dm_build_946()
    50  		}
    51  		dm_build_920 += dm_build_921
    52  		dm_build_916.dm_build_905 -= dm_build_921
    53  		dm_build_918 += dm_build_921
    54  	}
    55  	return dm_build_920
    56  }
    57  
    58  func (dm_build_923 *Dm_build_902) Dm_build_922(dm_build_924 io.Writer, dm_build_925 int) int {
    59  	var dm_build_926 = 0
    60  	var dm_build_927 = 0
    61  	for dm_build_926 < dm_build_925 && dm_build_923.dm_build_904 != nil {
    62  		dm_build_927 = dm_build_923.dm_build_904.dm_build_973(dm_build_924, dm_build_925-dm_build_926)
    63  		if dm_build_923.dm_build_904.dm_build_959 == 0 {
    64  			dm_build_923.dm_build_946()
    65  		}
    66  		dm_build_926 += dm_build_927
    67  		dm_build_923.dm_build_905 -= dm_build_927
    68  	}
    69  	return dm_build_926
    70  }
    71  
    72  func (dm_build_929 *Dm_build_902) Dm_build_928(dm_build_930 []byte, dm_build_931 int, dm_build_932 int) {
    73  	if dm_build_932 == 0 {
    74  		return
    75  	}
    76  	var dm_build_933 = dm_build_960(dm_build_930, dm_build_931, dm_build_932)
    77  	if dm_build_929.dm_build_904 == nil {
    78  		dm_build_929.dm_build_904 = dm_build_933
    79  	} else {
    80  		dm_build_929.dm_build_903.PushBack(dm_build_933)
    81  	}
    82  	dm_build_929.dm_build_905 += dm_build_932
    83  }
    84  
    85  func (dm_build_935 *Dm_build_902) dm_build_934(dm_build_936 int) byte {
    86  	var dm_build_937 = dm_build_936
    87  	var dm_build_938 = dm_build_935.dm_build_904
    88  	for dm_build_937 > 0 && dm_build_938 != nil {
    89  		if dm_build_938.dm_build_959 == 0 {
    90  			continue
    91  		}
    92  		if dm_build_937 > dm_build_938.dm_build_959-1 {
    93  			dm_build_937 -= dm_build_938.dm_build_959
    94  			dm_build_938 = dm_build_935.dm_build_903.Front().Value.(*dm_build_956)
    95  		} else {
    96  			break
    97  		}
    98  	}
    99  	return dm_build_938.dm_build_977(dm_build_937)
   100  }
   101  func (dm_build_940 *Dm_build_902) Dm_build_939(dm_build_941 *Dm_build_902) {
   102  	if dm_build_941.dm_build_905 == 0 {
   103  		return
   104  	}
   105  	var dm_build_942 = dm_build_941.dm_build_904
   106  	for dm_build_942 != nil {
   107  		dm_build_940.dm_build_943(dm_build_942)
   108  		dm_build_941.dm_build_946()
   109  		dm_build_942 = dm_build_941.dm_build_904
   110  	}
   111  	dm_build_941.dm_build_905 = 0
   112  }
   113  func (dm_build_944 *Dm_build_902) dm_build_943(dm_build_945 *dm_build_956) {
   114  	if dm_build_945.dm_build_959 == 0 {
   115  		return
   116  	}
   117  	if dm_build_944.dm_build_904 == nil {
   118  		dm_build_944.dm_build_904 = dm_build_945
   119  	} else {
   120  		dm_build_944.dm_build_903.PushBack(dm_build_945)
   121  	}
   122  	dm_build_944.dm_build_905 += dm_build_945.dm_build_959
   123  }
   124  
   125  func (dm_build_947 *Dm_build_902) dm_build_946() {
   126  	var dm_build_948 = dm_build_947.dm_build_903.Front()
   127  	if dm_build_948 == nil {
   128  		dm_build_947.dm_build_904 = nil
   129  	} else {
   130  		dm_build_947.dm_build_904 = dm_build_948.Value.(*dm_build_956)
   131  		dm_build_947.dm_build_903.Remove(dm_build_948)
   132  	}
   133  }
   134  
   135  func (dm_build_950 *Dm_build_902) Dm_build_949() []byte {
   136  	var dm_build_951 = make([]byte, dm_build_950.dm_build_905)
   137  	var dm_build_952 = dm_build_950.dm_build_904
   138  	var dm_build_953 = 0
   139  	var dm_build_954 = len(dm_build_951)
   140  	var dm_build_955 = 0
   141  	for dm_build_952 != nil {
   142  		if dm_build_952.dm_build_959 > 0 {
   143  			if dm_build_954 > dm_build_952.dm_build_959 {
   144  				dm_build_955 = dm_build_952.dm_build_959
   145  			} else {
   146  				dm_build_955 = dm_build_954
   147  			}
   148  			copy(dm_build_951[dm_build_953:dm_build_953+dm_build_955], dm_build_952.dm_build_957[dm_build_952.dm_build_958:dm_build_952.dm_build_958+dm_build_955])
   149  			dm_build_953 += dm_build_955
   150  			dm_build_954 -= dm_build_955
   151  		}
   152  		if dm_build_950.dm_build_903.Front() == nil {
   153  			dm_build_952 = nil
   154  		} else {
   155  			dm_build_952 = dm_build_950.dm_build_903.Front().Value.(*dm_build_956)
   156  		}
   157  	}
   158  	return dm_build_951
   159  }
   160  
   161  type dm_build_956 struct {
   162  	dm_build_957 []byte
   163  	dm_build_958 int
   164  	dm_build_959 int
   165  }
   166  
   167  func dm_build_960(dm_build_961 []byte, dm_build_962 int, dm_build_963 int) *dm_build_956 {
   168  	return &dm_build_956{
   169  		dm_build_961,
   170  		dm_build_962,
   171  		dm_build_963,
   172  	}
   173  }
   174  
   175  func (dm_build_965 *dm_build_956) dm_build_964(dm_build_966 *Dm_build_980, dm_build_967 int) int {
   176  	if dm_build_965.dm_build_959 <= dm_build_967 {
   177  		dm_build_967 = dm_build_965.dm_build_959
   178  	}
   179  	dm_build_966.Dm_build_1059(dm_build_965.dm_build_957[dm_build_965.dm_build_958 : dm_build_965.dm_build_958+dm_build_967])
   180  	dm_build_965.dm_build_958 += dm_build_967
   181  	dm_build_965.dm_build_959 -= dm_build_967
   182  	return dm_build_967
   183  }
   184  
   185  func (dm_build_969 *dm_build_956) dm_build_968(dm_build_970 []byte, dm_build_971 int, dm_build_972 int) int {
   186  	if dm_build_969.dm_build_959 <= dm_build_972 {
   187  		dm_build_972 = dm_build_969.dm_build_959
   188  	}
   189  	copy(dm_build_970[dm_build_971:dm_build_971+dm_build_972], dm_build_969.dm_build_957[dm_build_969.dm_build_958:dm_build_969.dm_build_958+dm_build_972])
   190  	dm_build_969.dm_build_958 += dm_build_972
   191  	dm_build_969.dm_build_959 -= dm_build_972
   192  	return dm_build_972
   193  }
   194  
   195  func (dm_build_974 *dm_build_956) dm_build_973(dm_build_975 io.Writer, dm_build_976 int) int {
   196  	if dm_build_974.dm_build_959 <= dm_build_976 {
   197  		dm_build_976 = dm_build_974.dm_build_959
   198  	}
   199  	dm_build_975.Write(dm_build_974.dm_build_957[dm_build_974.dm_build_958 : dm_build_974.dm_build_958+dm_build_976])
   200  	dm_build_974.dm_build_958 += dm_build_976
   201  	dm_build_974.dm_build_959 -= dm_build_976
   202  	return dm_build_976
   203  }
   204  func (dm_build_978 *dm_build_956) dm_build_977(dm_build_979 int) byte {
   205  	return dm_build_978.dm_build_957[dm_build_978.dm_build_958+dm_build_979]
   206  }