* 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.27 2002-04-15 09:07:10 adam Exp $
*/
#include <stdlib.h>
void zebraExplain_flush (ZebraExplainInfo zei, int writeFlag, void *handle)
{
+ if (!zei)
+ return;
zei->updateHandle = handle;
if (writeFlag)
{
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);
"<multipleDBSearch>1</>\n"
"<nicknames><name>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);
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 &&
return 0;
for (zdi = zei->databaseInfo; zdi; zdi=zdi->next)
{
- if (!strcmp (zdi->databaseName, database))
+ if (!strcmp (zdi->databaseName, database_n))
break;
}
if (!zdi)
{
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);
assert (zei);
for (zdi = zei->databaseInfo; zdi; zdi=zdi->next)
{
- if (!strcmp (zdi->databaseName, database))
+ if (!strcmp (zdi->databaseName, database_n))
break;
}
if (zdi)
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);
{
data1_handle dh = (data1_handle) p;
if (!data1_get_attset (dh, name))
- logf (LOG_WARN, "Couldn't load attribute set %s", name);
+ logf (LOG_WARN, "Directive attset failed for %s", name);
}
void zebraExplain_loadAttsets (data1_handle dh, Res res)