mercurial/manifest.c
changeset 24974 46408b80c3a1
parent 24710 909ee6b2a024
child 24975 89c2bf63a83b
equal deleted inserted replaced
24973:4c4d0012db4f 24974:46408b80c3a1
   233 	line *l;
   233 	line *l;
   234 	Py_ssize_t consumed;
   234 	Py_ssize_t consumed;
   235 	PyObject *ret = NULL, *path = NULL, *hash = NULL, *flags = NULL;
   235 	PyObject *ret = NULL, *path = NULL, *hash = NULL, *flags = NULL;
   236 	l = lmiter_nextline((lmIter *)o);
   236 	l = lmiter_nextline((lmIter *)o);
   237 	if (!l) {
   237 	if (!l) {
   238 		goto bail;
   238 		goto done;
   239 	}
   239 	}
   240 	pl = pathlen(l);
   240 	pl = pathlen(l);
   241 	path = PyString_FromStringAndSize(l->start, pl);
   241 	path = PyString_FromStringAndSize(l->start, pl);
   242 	hash = nodeof(l);
   242 	hash = nodeof(l);
   243 	consumed = pl + 41;
   243 	consumed = pl + 41;
   244 	flags = PyString_FromStringAndSize(l->start + consumed,
   244 	flags = PyString_FromStringAndSize(l->start + consumed,
   245 									   l->len - consumed - 1);
   245 									   l->len - consumed - 1);
   246 	if (!path || !hash || !flags) {
   246 	if (!path || !hash || !flags) {
   247 		goto bail;
   247 		goto done;
   248 	}
   248 	}
   249 	ret = PyTuple_Pack(3, path, hash, flags);
   249 	ret = PyTuple_Pack(3, path, hash, flags);
   250  bail:
   250  done:
   251 	Py_XDECREF(path);
   251 	Py_XDECREF(path);
   252 	Py_XDECREF(hash);
   252 	Py_XDECREF(hash);
   253 	Py_XDECREF(flags);
   253 	Py_XDECREF(flags);
   254 	return ret;
   254 	return ret;
   255 }
   255 }