mercurial/parsers.c
changeset 16614 1d800eb9ba52
parent 16597 b767382a8675
child 16615 96fa9dd1db38
equal deleted inserted replaced
16613:6a7ce975edd6 16614:1d800eb9ba52
   688 			}
   688 			}
   689 		}
   689 		}
   690 	} else {
   690 	} else {
   691 		for (rev = self->ntrev - 1; rev >= 0; rev--) {
   691 		for (rev = self->ntrev - 1; rev >= 0; rev--) {
   692 			const char *n = index_node(self, rev);
   692 			const char *n = index_node(self, rev);
   693 			if (n == NULL)
   693 			if (n == NULL) {
       
   694 				self->ntrev = rev + 1;
   694 				return -2;
   695 				return -2;
   695 			if (nt_insert(self, n, rev) == -1)
   696 			}
       
   697 			if (nt_insert(self, n, rev) == -1) {
       
   698 				self->ntrev = rev + 1;
   696 				return -3;
   699 				return -3;
       
   700 			}
   697 			if (memcmp(node, n, nodelen > 20 ? 20 : nodelen) == 0) {
   701 			if (memcmp(node, n, nodelen > 20 ? 20 : nodelen) == 0) {
   698 				break;
   702 				break;
   699 			}
   703 			}
   700 		}
   704 		}
   701 		self->ntrev = rev;
   705 		self->ntrev = rev;