On Sun, Oct 9, 2016 at 2:38 PM, Yuya Nishihara <y...@tcha.org> wrote:
> On Sat, 08 Oct 2016 22:48:12 +0200, Gregory Szorc wrote: > > # HG changeset patch > > # User Gregory Szorc <gregory.sz...@gmail.com> > > # Date 1475958082 -7200 > > # Sat Oct 08 22:21:22 2016 +0200 > > # Node ID 40775aad0c78f6c1fd07e7160d50426efbe032ed > > # Parent a33e93c20bc1290af106a0f077fece735ea05245 > > pathencode: use Py_SIZE directly > > > @@ -637,9 +638,10 @@ static PyObject *hashmangle(const char * > > if (lastdot >= 0) > > memcopy(dest, &destlen, destsize, &src[lastdot], > > len - lastdot - 1); > > > > - PyBytes_GET_SIZE(ret) = destlen; > > + PyBytes_Check(ret); > > + Py_SIZE(ret) = destlen; > > > > return ret; > > } > > > > @@ -749,9 +751,10 @@ PyObject *pathencode(PyObject *self, PyO > > > > newobj = PyBytes_FromStringAndSize(NULL, newlen); > > > > if (newobj) { > > - PyBytes_GET_SIZE(newobj)--; > > + PyBytes_Check(newobj); > > + Py_SIZE(newobj)--; > > Maybe we need to wrap these PyBytes_Check()s by assert() ? > I was going for a literal 1:1 port with this patch. I can submit a follow-up to convert to assert(). Is that acceptable? FWIW, as part of the Python 3 port, I'll likely have to do a line-by-line audit of the C extensions. I imagine I'll be submitting a lot of miscellaneous fixups like converting certain things like this to assert().
_______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel