X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=data1%2Fd1_handle.c;h=68f4e02f0c6008f8725e47acdc16cd4ec2a455ec;hp=d2ebb796b5f6c0ed376c516b31182ebe73b6488e;hb=89d3a004b7c651fd5673abfc192e1472dc4d4197;hpb=a11eb314509b40582a1c44450e540aa2defee325 diff --git a/data1/d1_handle.c b/data1/d1_handle.c index d2ebb79..68f4e02 100644 --- a/data1/d1_handle.c +++ b/data1/d1_handle.c @@ -1,5 +1,5 @@ -/* $Id: d1_handle.c,v 1.9 2006-05-05 13:17:34 adam Exp $ - Copyright (C) 1995-2005 +/* $Id: d1_handle.c,v 1.14 2007-01-15 15:10:14 adam Exp $ + Copyright (C) 1995-2007 Index Data ApS This file is part of the Zebra server. @@ -15,9 +15,9 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with Zebra; see the file LICENSE.zebra. If not, write to the -Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ #include @@ -49,7 +49,7 @@ 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(); @@ -150,13 +150,33 @@ const char *data1_get_tabroot (data1_handle dp) FILE *data1_path_fopen (data1_handle dh, const char *file, const char *mode) { - yaz_log(YLOG_DEBUG, "data1_fath_fopen file=%s mode=%s", file, 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 1; } +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +