X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Ftrav.c;h=c3e8c4962c612dd85cab6a425ebd1faa433bb9fa;hb=7e928bc31abe214023a0fc61d77b092f4ee9ba7e;hp=27a803c3cbe20b2495848809c52253056e03a618;hpb=51a52e1b014d5237581f74379916b8ce92cafef7;p=idzebra-moved-to-github.git diff --git a/index/trav.c b/index/trav.c index 27a803c..c3e8c49 100644 --- a/index/trav.c +++ b/index/trav.c @@ -1,10 +1,20 @@ /* - * Copyright (C) 1995, Index Data I/S + * Copyright (C) 1994-1995, Index Data I/S * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * * $Log: trav.c,v $ - * Revision 1.1 1995-09-01 14:06:36 adam + * Revision 1.4 1995-09-28 09:19:46 adam + * xfree/xmalloc used everywhere. + * Extract/retrieve method seems to work for text records. + * + * Revision 1.3 1995/09/06 16:11:18 adam + * Option: only one word key per file. + * + * Revision 1.2 1995/09/04 12:33:43 adam + * Various cleanup. YAZ util used instead. + * + * Revision 1.1 1995/09/01 14:06:36 adam * Split of work into more files. * */ @@ -17,7 +27,7 @@ #include #include -#include +#include #include "index.h" static void repository_extract_r (int cmd, char *rep) @@ -60,35 +70,31 @@ void copy_file (const char *dst, const char *src) if (d_fd == -1) { - log (LOG_FATAL|LOG_ERRNO, "Cannot create %s", dst); + logf (LOG_FATAL|LOG_ERRNO, "Cannot create %s", dst); exit (1); } if (s_fd == -1) { - log (LOG_FATAL|LOG_ERRNO, "Cannot open %s", src); - exit (1); - } - if (!(buf = malloc (4096))) - { - log (LOG_FATAL|LOG_ERRNO, "malloc"); + logf (LOG_FATAL|LOG_ERRNO, "Cannot open %s", src); exit (1); } + buf = xmalloc (4096); while ((r=read (s_fd, buf, 4096))>0) for (w = 0; w < r; w += i) { i = write (d_fd, buf + w, r - w); if (i == -1) { - log (LOG_FATAL|LOG_ERRNO, "write"); + logf (LOG_FATAL|LOG_ERRNO, "write"); exit (1); } } if (r) { - log (LOG_FATAL|LOG_ERRNO, "read"); + logf (LOG_FATAL|LOG_ERRNO, "read"); exit (1); } - free (buf); + xfree (buf); close (d_fd); close (s_fd); } @@ -100,9 +106,9 @@ void del_file (const char *dst) void del_dir (const char *dst) { - log (LOG_DEBUG, "rmdir of %s", dst); + logf (LOG_DEBUG, "rmdir of %s", dst); if (rmdir (dst) == -1) - log (LOG_ERRNO|LOG_WARN, "rmdir"); + logf (LOG_ERRNO|LOG_WARN, "rmdir"); } void repository_update_r (int cmd, char *dst, char *src);