##// END OF EJS Templates
index: make "nt_*" functions work on an initialized nodetree...
Martin von Zweigbergk -
r38947:2aa4f06c default
parent child Browse files
Show More
@@ -1240,11 +1240,6 b' static int nt_populate(indexObject *self'
1240 static int nt_partialmatch(indexObject *self, const char *node,
1240 static int nt_partialmatch(indexObject *self, const char *node,
1241 Py_ssize_t nodelen)
1241 Py_ssize_t nodelen)
1242 {
1242 {
1243 if (nt_init(self) == -1)
1244 return -3;
1245 if (nt_populate(self) == -1)
1246 return -3;
1247
1248 return nt_find(self, node, nodelen, 1);
1243 return nt_find(self, node, nodelen, 1);
1249 }
1244 }
1250
1245
@@ -1261,11 +1256,6 b' static int nt_shortest(indexObject *self'
1261 {
1256 {
1262 int level, off;
1257 int level, off;
1263
1258
1264 if (nt_init(self) == -1)
1265 return -3;
1266 if (nt_populate(self) == -1)
1267 return -3;
1268
1269 for (level = off = 0; level < 40; level++) {
1259 for (level = off = 0; level < 40; level++) {
1270 int k, v;
1260 int k, v;
1271 nodetree *n = &self->nt[off];
1261 nodetree *n = &self->nt[off];
@@ -1327,12 +1317,15 b' static PyObject *index_partialmatch(inde'
1327 Py_RETURN_NONE;
1317 Py_RETURN_NONE;
1328 }
1318 }
1329
1319
1320 if (nt_init(self) == -1)
1321 return NULL;
1322 if (nt_populate(self) == -1)
1323 return NULL;
1330 rev = nt_partialmatch(self, node, nodelen);
1324 rev = nt_partialmatch(self, node, nodelen);
1331
1325
1332 switch (rev) {
1326 switch (rev) {
1333 case -4:
1327 case -4:
1334 raise_revlog_error();
1328 raise_revlog_error();
1335 case -3:
1336 return NULL;
1329 return NULL;
1337 case -2:
1330 case -2:
1338 Py_RETURN_NONE;
1331 Py_RETURN_NONE;
@@ -1359,6 +1352,10 b' static PyObject *index_shortest(indexObj'
1359 return NULL;
1352 return NULL;
1360
1353
1361 self->ntlookups++;
1354 self->ntlookups++;
1355 if (nt_init(self) == -1)
1356 return NULL;
1357 if (nt_populate(self) == -1)
1358 return NULL;
1362 length = nt_shortest(self, node);
1359 length = nt_shortest(self, node);
1363 if (length == -3)
1360 if (length == -3)
1364 return NULL;
1361 return NULL;
General Comments 0
You need to be logged in to leave comments. Login now