X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fdirs.c;h=1b4cf8e841f600a6c830744f2aa5630350addcab;hb=886253fb90810e512cacf4f02694645ead7a22e0;hp=17b64c19e48fd45e7741a4e3e3c0ebb65f393184;hpb=3c5f6226f97612c0d6ac40591f600587c5ffa858;p=idzebra-moved-to-github.git diff --git a/index/dirs.c b/index/dirs.c index 17b64c1..1b4cf8e 100644 --- a/index/dirs.c +++ b/index/dirs.c @@ -1,10 +1,15 @@ /* - * Copyright (C) 1994-1999, Index Data + * Copyright (C) 1994-2001, Index Data * All rights reserved. - * Sebastian Hammer, Adam Dickmeiss * * $Log: dirs.c,v $ - * Revision 1.15 1999-02-02 14:50:51 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 @@ -81,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)) @@ -121,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); @@ -129,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; @@ -141,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; @@ -179,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; }