Mercurial > public > mercurial-scm > hg-stable
diff mercurial/util.py @ 35754:fb0be099063f
util: move 'readexactly' in the util module
This function is used in multiple place, having it in util would be better.
(existing caller will be migrated in another series)
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Fri, 19 Jan 2018 20:51:35 +0100 |
parents | 72b91f905065 |
children | 2384523cee4d |
line wrap: on
line diff
--- a/mercurial/util.py Fri Jan 19 19:13:11 2018 -0500 +++ b/mercurial/util.py Fri Jan 19 20:51:35 2018 +0100 @@ -3865,3 +3865,12 @@ fn = '%s~%s~%s' % (f, tag, n) if fn not in ctx and fn not in others: return fn + +def readexactly(stream, n): + '''read n bytes from stream.read and abort if less was available''' + s = stream.read(n) + if len(s) < n: + raise error.Abort(_("stream ended unexpectedly" + " (got %d bytes, expected %d)") + % (len(s), n)) + return s