mercurial/parsers.c
changeset 22403 41e9d58ec56f
parent 22402 fa53d66b45a8
child 22484 2b5940f64750
equal deleted inserted replaced
22402:fa53d66b45a8 22403:41e9d58ec56f
   273 {
   273 {
   274 	PyObject *dmap, *cmap, *parents = NULL, *ret = NULL;
   274 	PyObject *dmap, *cmap, *parents = NULL, *ret = NULL;
   275 	PyObject *fname = NULL, *cname = NULL, *entry = NULL;
   275 	PyObject *fname = NULL, *cname = NULL, *entry = NULL;
   276 	char state, *cur, *str, *cpos;
   276 	char state, *cur, *str, *cpos;
   277 	int mode, size, mtime;
   277 	int mode, size, mtime;
   278 	unsigned int flen;
   278 	unsigned int flen, len, pos = 40;
   279 	int len, pos = 40;
   279 	int readlen;
   280 
   280 
   281 	if (!PyArg_ParseTuple(args, "O!O!s#:parse_dirstate",
   281 	if (!PyArg_ParseTuple(args, "O!O!s#:parse_dirstate",
   282 			      &PyDict_Type, &dmap,
   282 			      &PyDict_Type, &dmap,
   283 			      &PyDict_Type, &cmap,
   283 			      &PyDict_Type, &cmap,
   284 			      &str, &len))
   284 			      &str, &readlen))
   285 		goto quit;
   285 		goto quit;
       
   286 
       
   287 	if (readlen < 0)
       
   288 		goto quit;
       
   289 
       
   290 	len = readlen;
   286 
   291 
   287 	/* read parents */
   292 	/* read parents */
   288 	if (len < 40)
   293 	if (len < 40)
   289 		goto quit;
   294 		goto quit;
   290 
   295