X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=index%2Fzinfo.c;h=10775d6f5e045e36885e55cf861f7974787b3091;hb=7d58178a1dc3caf91251a0d27a0e4e9e033b1b63;hp=d91b11e5c65337ad7dc43b997d37ddde95a26b94;hpb=7e75317bed8eecabcb57e59b16093a32238738e2;p=idzebra-moved-to-github.git diff --git a/index/zinfo.c b/index/zinfo.c index d91b11e..10775d6 100644 --- a/index/zinfo.c +++ b/index/zinfo.c @@ -3,7 +3,7 @@ * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * - * $Id: zinfo.c,v 1.23 2002-02-20 17:30:01 adam Exp $ + * $Id: zinfo.c,v 1.26 2002-04-11 20:09:47 adam Exp $ */ #include @@ -269,6 +269,8 @@ static Record createRecord (Records records, int *sysno) void zebraExplain_flush (ZebraExplainInfo zei, int writeFlag, void *handle) { + if (!zei) + return; zei->updateHandle = handle; if (writeFlag) { @@ -433,7 +435,11 @@ ZebraExplainInfo zebraExplain_open ( data1_node *node_tgtinfo, *node_zebra, *node_list, *np; zei->data1_target = read_sgml_rec (zei->dh, zei->nmem, trec); +#if 0 if (!zei->data1_target || !zei->data1_target->u.root.absyn) +#else + if (!zei->data1_target) +#endif { logf (LOG_FATAL, "Explain schema missing. Check profilePath"); nmem_destroy (zei->nmem); @@ -539,7 +545,7 @@ ZebraExplainInfo zebraExplain_open ( "1\n" "Zebra\n" "\n" ); - if (!zei->data1_target || !zei->data1_target->u.root.absyn) + if (!zei->data1_target) { logf (LOG_FATAL, "Explain schema missing. Check profilePath"); nmem_destroy (zei->nmem); @@ -700,6 +706,12 @@ static void zebraExplain_readDatabase (ZebraExplainInfo zei, int zebraExplain_curDatabase (ZebraExplainInfo zei, const char *database) { struct zebDatabaseInfoB *zdi; + const char *database_n = strrchr (database, '/'); + + if (database_n) + database_n++; + else + database_n = database; assert (zei); if (zei->curDatabaseInfo && @@ -707,7 +719,7 @@ int zebraExplain_curDatabase (ZebraExplainInfo zei, const char *database) return 0; for (zdi = zei->databaseInfo; zdi; zdi=zdi->next) { - if (!strcmp (zdi->databaseName, database)) + if (!strcmp (zdi->databaseName, database_n)) break; } if (!zdi) @@ -784,6 +796,12 @@ int zebraExplain_newDatabase (ZebraExplainInfo zei, const char *database, { struct zebDatabaseInfoB *zdi; data1_node *node_dbinfo, *node_adinfo; + const char *database_n = strrchr (database, '/'); + + if (database_n) + database_n++; + else + database_n = database; #if ZINFO_DEBUG logf (LOG_LOG, "zebraExplain_newDatabase: %s", database); @@ -791,7 +809,7 @@ int zebraExplain_newDatabase (ZebraExplainInfo zei, const char *database, assert (zei); for (zdi = zei->databaseInfo; zdi; zdi=zdi->next) { - if (!strcmp (zdi->databaseName, database)) + if (!strcmp (zdi->databaseName, database_n)) break; } if (zdi) @@ -804,7 +822,7 @@ int zebraExplain_newDatabase (ZebraExplainInfo zei, const char *database, zdi->recordCount = 0; zdi->recordBytes = 0; zdi->readFlag = 0; - zdi->databaseName = nmem_strdup (zei->nmem, database); + zdi->databaseName = nmem_strdup (zei->nmem, database_n); zebraExplain_mergeAccessInfo (zei, 0, &zdi->accessInfo);