D7964: cext: change two more vars to Py_ssize_t in manifest.c

spectral (Kyle Lippincott) phabricator at mercurial-scm.org
Tue Jan 21 20:25:20 UTC 2020


spectral created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  D7913 <https://phab.mercurial-scm.org/D7913> fixed a compiler warning with a signedness conflict in a ternary operator
  by changing the types of some variables to be Py_ssize_t instead of size_t or
  int. That commit missed these two cases since they aren't warned about (at least
  on my compiler).
  
  Both of these variables are produced by operations on variables that are
  themselves Py_ssize_t now/already, so they should keep the same type.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D7964

AFFECTED FILES
  mercurial/cext/manifest.c

CHANGE DETAILS

diff --git a/mercurial/cext/manifest.c b/mercurial/cext/manifest.c
--- a/mercurial/cext/manifest.c
+++ b/mercurial/cext/manifest.c
@@ -80,7 +80,7 @@
 	PyObject *hash = nodeof(l);
 
 	/* 40 for hash, 1 for null byte, 1 for newline */
-	size_t hplen = plen + 42;
+	Py_ssize_t hplen = plen + 42;
 	Py_ssize_t flen = l->len - hplen;
 	PyObject *flags;
 	PyObject *tup;
@@ -525,7 +525,7 @@
 	PyObject *pyflags;
 	char *flags;
 	Py_ssize_t flen;
-	size_t dlen;
+	Py_ssize_t dlen;
 	char *dest;
 	int i;
 	line new;



To: spectral, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list