X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fdirs.c;h=a5f13c40da9eef4894b61b365baccbe7796ef47d;hb=0c9fdce49848132a12807f8dc9706b382274f1df;hp=b26ff3ddf777725e8f798b7607c7fbcc9ba10922;hpb=327142accc3f6115431fc838dfc45291259253d7;p=idzebra-moved-to-github.git diff --git a/index/dirs.c b/index/dirs.c index b26ff3d..a5f13c4 100644 --- a/index/dirs.c +++ b/index/dirs.c @@ -4,7 +4,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: dirs.c,v $ - * Revision 1.7 1996-03-21 14:50:09 adam + * Revision 1.8 1996-04-12 07:02:21 adam + * File update of single files. + * + * Revision 1.7 1996/03/21 14:50:09 adam * File update uses modify-time instead of change-time. * * Revision 1.6 1996/02/02 13:44:43 adam @@ -104,6 +107,34 @@ struct dirs_info *dirs_open (Dict dict, const char *rep) return p; } +struct dirs_info *dirs_fopen (Dict dict, const char *path) +{ + struct dirs_info *p; + struct dirs_entry *entry; + char *info; + + p = xmalloc (sizeof(*p)); + p->dict = dict; + *p->prefix = '\0'; + p->entries = xmalloc (sizeof(*p->entries)); + p->no_read = 0; + p->no_cur = 0; + p->no_max = 2; + + entry = p->entries; + info = dict_lookup (dict, path); + if (info && info[0] == sizeof(entry->sysno)+sizeof(entry->mtime)) + { + strcpy (entry->path, path); + entry->kind = dirs_file; + memcpy (&entry->sysno, info+1, sizeof(entry->sysno)); + memcpy (&entry->mtime, info+1+sizeof(entry->sysno), + sizeof(entry->mtime)); + p->no_cur++; + } + return p; +} + struct dirs_entry *dirs_read (struct dirs_info *p) { int before = 0, after = p->no_max+1;