X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fdirs.c;h=1b4cf8e841f600a6c830744f2aa5630350addcab;hb=cc9f94a61cbd9dcc0df0cf7d0c7c41d2cec88189;hp=70b9f4de8a07c9faa5423be77fbe3f1da69a812e;hpb=b8fb0cb30ffc1fb35a34608a27245dd091566bb9;p=idzebra-moved-to-github.git diff --git a/index/dirs.c b/index/dirs.c index 70b9f4d..1b4cf8e 100644 --- a/index/dirs.c +++ b/index/dirs.c @@ -1,10 +1,18 @@ /* - * Copyright (C) 1994-1998, Index Data I/S + * Copyright (C) 1994-2001, Index Data * All rights reserved. - * Sebastian Hammer, Adam Dickmeiss * * $Log: dirs.c,v $ - * Revision 1.14 1998-01-12 15:04:07 adam + * Revision 1.17 2001-03-29 14:07:14 adam + * Fixed nasty bug for fileUpdate. + * + * Revision 1.16 1999/05/26 07:49:13 adam + * C++ compilation. + * + * Revision 1.15 1999/02/02 14:50:51 adam + * Updated WIN32 code specific sections. Changed header. + * + * Revision 1.14 1998/01/12 15:04:07 adam * The test option (-s) only uses read-lock (and not write lock). * * Revision 1.13 1997/09/09 13:38:06 adam @@ -78,7 +86,7 @@ struct dirs_info { static int dirs_client_proc (char *name, const char *info, int pos, void *client) { - struct dirs_info *ci = client; + struct dirs_info *ci = (struct dirs_info *) client; struct dirs_entry *entry; if (memcmp (name, ci->prefix, ci->prelen)) @@ -118,7 +126,7 @@ struct dirs_info *dirs_open (Dict dict, const char *rep, int rw) int before = 0, after; logf (LOG_DEBUG, "dirs_open %s", rep); - p = xmalloc (sizeof (*p)); + p = (struct dirs_info *) xmalloc (sizeof (*p)); p->dict = dict; p->rw = rw; strcpy (p->prefix, rep); @@ -126,7 +134,8 @@ struct dirs_info *dirs_open (Dict dict, const char *rep, int rw) strcpy (p->nextpath, rep); p->no_read = p->no_cur = 0; after = p->no_max = 100; - p->entries = xmalloc (sizeof(*p->entries) * (p->no_max)); + p->entries = (struct dirs_entry *) + xmalloc (sizeof(*p->entries) * (p->no_max)); logf (LOG_DEBUG, "dirs_open first scan"); dict_scan (p->dict, p->nextpath, &before, &after, p, dirs_client_proc); return p; @@ -138,10 +147,10 @@ struct dirs_info *dirs_fopen (Dict dict, const char *path) struct dirs_entry *entry; char *info; - p = xmalloc (sizeof(*p)); + p = (struct dirs_info *) xmalloc (sizeof(*p)); p->dict = dict; *p->prefix = '\0'; - p->entries = xmalloc (sizeof(*p->entries)); + p->entries = (struct dirs_entry *) xmalloc (sizeof(*p->entries)); p->no_read = 0; p->no_cur = 0; p->no_max = 2; @@ -176,7 +185,7 @@ struct dirs_entry *dirs_read (struct dirs_info *p) logf (LOG_DEBUG, "dirs_read rescan"); dict_scan (p->dict, p->nextpath, &before, &after, p, dirs_client_proc); p->no_read = 1; - if (p->no_read < p->no_cur) + if (p->no_read <= p->no_cur) return p->last_entry = p->entries; return p->last_entry = NULL; }