X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=data1%2Fd1_handle.c;h=332cbf30f7a4e76d21ba2ce7e21f7c3d90c783fd;hb=553ce0f9320b097b962ddd961989f5c8ad7fcf9f;hp=c7a88259c420e6fbf9102dc476dc37435a47853e;hpb=5437b50633032595afe6f87dc0f989bc92a5aea8;p=idzebra-moved-to-github.git diff --git a/data1/d1_handle.c b/data1/d1_handle.c index c7a8825..332cbf3 100644 --- a/data1/d1_handle.c +++ b/data1/d1_handle.c @@ -1,6 +1,6 @@ -/* $Id: d1_handle.c,v 1.5 2004-11-19 10:26:53 heikki Exp $ - Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 - Index Data Aps +/* $Id: d1_handle.c,v 1.12 2006-06-08 10:33:19 adam Exp $ + Copyright (C) 1995-2005 + Index Data ApS This file is part of the Zebra server. @@ -23,9 +23,11 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include -#include +#include #include +#define DATA1_FLAG_XML 1 + struct data1_handle_info { WRBUF wrbuf; char *tab_path; @@ -41,19 +43,13 @@ struct data1_handle_info { int map_len; NMEM mem; - int flags; }; -data1_handle data1_create (void) -{ - return data1_createx(0); -} - -data1_handle data1_createx (int flags) +data1_handle data1_create(void) { data1_handle p = (data1_handle)xmalloc (sizeof(*p)); if (!p) - return NULL; + return 0; p->tab_path = NULL; p->tab_root = NULL; p->wrbuf = wrbuf_alloc(); @@ -64,7 +60,6 @@ data1_handle data1_createx (int flags) p->absyn_cache = NULL; p->attset_cache = NULL; p->mem = nmem_create (); - p->flags = flags; return p; } @@ -155,12 +150,33 @@ const char *data1_get_tabroot (data1_handle dp) FILE *data1_path_fopen (data1_handle dh, const char *file, const char *mode) { + FILE *f; const char *path = data1_get_tabpath(dh); const char *root = data1_get_tabroot(dh); - return yaz_fopen (path, file, "r", root); + if (!path || !*path) + { + yaz_log(YLOG_DEBUG, "data1_fath_fopen file=%s mode=%s no open", + file, mode); + return 0; + } + yaz_log(YLOG_DEBUG, "data1_fath_fopen path=%s root=%s " + "file=%s mode=%s", path ? path : "NULL", + root ? root : "NULL", file, mode); + f = yaz_fopen(path, file, "r", root); + if (!f) + yaz_log(YLOG_WARN|YLOG_ERRNO, "Couldn't open %s", file); + return f; } int data1_is_xmlmode(data1_handle dh) { - return dh->flags & DATA1_FLAG_XML; + return 1; } +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +