[PATCH 2 of 2] util: add length argument to util.buffer()

Pulkit Goyal 7895pulkit at gmail.com
Sun Jan 15 03:12:52 EST 2017


# HG changeset patch
# User Pulkit Goyal <7895pulkit at gmail.com>
# Date 1484404515 -19800
#      Sat Jan 14 20:05:15 2017 +0530
# Node ID 79f98c1b8d718bfa94f12eb62872598ad7ec9c2e
# Parent  9dc4d056d85a041b2b28587b3b84608b1f0903a5
util: add length argument to util.buffer()

util.buffer() either returns inbuilt buffer function or defines a new one which
slices. The inbuilt buffer() also has a length argument which is missing from
the ones whe defined. This patch adds that length argument.

diff -r 9dc4d056d85a -r 79f98c1b8d71 mercurial/util.py
--- a/mercurial/util.py	Sat Jan 14 01:23:07 2017 +0530
+++ b/mercurial/util.py	Sat Jan 14 20:05:15 2017 +0530
@@ -238,10 +238,14 @@
     buffer = buffer
 except NameError:
     if not pycompat.ispy3:
-        def buffer(sliceable, offset=0):
+        def buffer(sliceable, offset=0, length=None):
+            if length:
+                return sliceable[offset:offset + length]
             return sliceable[offset:]
     else:
-        def buffer(sliceable, offset=0):
+        def buffer(sliceable, offset=0, length=None):
+            if length:
+                return memoryview(sliceable)[offset:offset + length]
             return memoryview(sliceable)[offset:]
 
 closefds = pycompat.osname == 'posix'


More information about the Mercurial-devel mailing list