--- a/mercurial/dirs.c Tue May 27 17:10:28 2014 -0700
+++ b/mercurial/dirs.c Tue May 27 14:27:41 2014 -0700
@@ -138,25 +138,12 @@
return -1;
}
if (skipchar) {
- PyObject *st;
-
- if (!PyTuple_Check(value) ||
- PyTuple_GET_SIZE(value) == 0) {
+ if (!dirstate_tuple_check(value)) {
PyErr_SetString(PyExc_TypeError,
- "expected non-empty tuple");
+ "expected a dirstate tuple");
return -1;
}
-
- st = PyTuple_GET_ITEM(value, 0);
-
- if (!PyString_Check(st) || PyString_GET_SIZE(st) == 0) {
- PyErr_SetString(PyExc_TypeError,
- "expected non-empty string "
- "at tuple index 0");
- return -1;
- }
-
- if (PyString_AS_STRING(st)[0] == skipchar)
+ if (((dirstateTupleObject *)value)->state == skipchar)
continue;
}