[PATCH] parsers: remove unused parse_manifest() function
Martin von Zweigbergk
martinvonz at google.com
Thu Apr 2 15:54:49 UTC 2015
# HG changeset patch
# User Martin von Zweigbergk <martinvonz at google.com>
# Date 1427989460 25200
# Thu Apr 02 08:44:20 2015 -0700
# Node ID ac9ec0e0d98c8939eed835aff198eef35c368fdc
# Parent 37a2b446985f2ef77b9690a0548c8630828b7412
parsers: remove unused parse_manifest() function
Since 3e5c4af69808 (manifest: split manifestdict into high-level and
low-level logic, 2015-03-07), we no longer use the native
parse_manifest() function, so remove it.
diff -r 37a2b446985f -r ac9ec0e0d98c mercurial/parsers.c
--- a/mercurial/parsers.c Wed Apr 01 20:38:36 2015 -0500
+++ b/mercurial/parsers.c Thu Apr 02 08:44:20 2015 -0700
@@ -167,87 +167,6 @@
return _asciitransform(str_obj, uppertable);
}
-/*
- * This code assumes that a manifest is stitched together with newline
- * ('\n') characters.
- */
-static PyObject *parse_manifest(PyObject *self, PyObject *args)
-{
- PyObject *mfdict, *fdict;
- char *str, *start, *end;
- int len;
-
- if (!PyArg_ParseTuple(args, "O!O!s#:parse_manifest",
- &PyDict_Type, &mfdict,
- &PyDict_Type, &fdict,
- &str, &len))
- goto quit;
-
- start = str;
- end = str + len;
- while (start < end) {
- PyObject *file = NULL, *node = NULL;
- PyObject *flags = NULL;
- char *zero = NULL, *newline = NULL;
- ptrdiff_t nlen;
-
- zero = memchr(start, '\0', end - start);
- if (!zero) {
- PyErr_SetString(PyExc_ValueError,
- "manifest entry has no separator");
- goto quit;
- }
-
- newline = memchr(zero + 1, '\n', end - (zero + 1));
- if (!newline) {
- PyErr_SetString(PyExc_ValueError,
- "manifest contains trailing garbage");
- goto quit;
- }
-
- file = PyBytes_FromStringAndSize(start, zero - start);
-
- if (!file)
- goto bail;
-
- nlen = newline - zero - 1;
-
- node = unhexlify(zero + 1, nlen > 40 ? 40 : (int)nlen);
- if (!node)
- goto bail;
-
- if (nlen > 40) {
- flags = PyBytes_FromStringAndSize(zero + 41,
- nlen - 40);
- if (!flags)
- goto bail;
-
- if (PyDict_SetItem(fdict, file, flags) == -1)
- goto bail;
- }
-
- if (PyDict_SetItem(mfdict, file, node) == -1)
- goto bail;
-
- start = newline + 1;
-
- Py_XDECREF(flags);
- Py_XDECREF(node);
- Py_XDECREF(file);
- continue;
- bail:
- Py_XDECREF(flags);
- Py_XDECREF(node);
- Py_XDECREF(file);
- goto quit;
- }
-
- Py_INCREF(Py_None);
- return Py_None;
-quit:
- return NULL;
-}
-
static inline dirstateTupleObject *make_dirstate_tuple(char state, int mode,
int size, int mtime)
{
@@ -2452,7 +2371,6 @@
static PyMethodDef methods[] = {
{"pack_dirstate", pack_dirstate, METH_VARARGS, "pack a dirstate\n"},
- {"parse_manifest", parse_manifest, METH_VARARGS, "parse a manifest\n"},
{"parse_dirstate", parse_dirstate, METH_VARARGS, "parse a dirstate\n"},
{"parse_index2", parse_index2, METH_VARARGS, "parse a revlog index\n"},
{"asciilower", asciilower, METH_VARARGS, "lowercase an ASCII string\n"},
More information about the Mercurial-devel
mailing list