X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=index%2Fdirs.c;h=58eb522a56c54285ec89b98c280ef82faffe25e4;hp=674fb913a3da73e31526a241c915ae57cb1233f2;hb=aeea139423b8eaf28a4de53b3d7b2ad1f22284e7;hpb=ac13dceecd5f75669820819575daf88e0add5c8d diff --git a/index/dirs.c b/index/dirs.c index 674fb91..58eb522 100644 --- a/index/dirs.c +++ b/index/dirs.c @@ -62,13 +62,13 @@ static int dirs_client_proc(char *name, const char *info, int pos, entry = ci->entries + ci->no_cur; if (info[0] == sizeof(entry->sysno)+sizeof(entry->mtime)) { - strcpy(entry->path, name + ci->prelen); + strcpy(entry->path, name + ci->prelen); entry->kind = dirs_file; memcpy(&entry->sysno, info+1, sizeof(entry->sysno)); - memcpy(&entry->mtime, info+1+sizeof(entry->sysno), + memcpy(&entry->mtime, info+1+sizeof(entry->sysno), sizeof(entry->mtime)); ci->no_cur++; - } + } else if (info[0] == sizeof(entry->mtime)) { strcpy(entry->path, name + ci->prelen); @@ -120,10 +120,10 @@ struct dirs_info *dirs_fopen(Dict dict, const char *path, int rw) info = dict_lookup(dict, path); if (info && info[0] == sizeof(entry->sysno)+sizeof(entry->mtime)) { - strcpy(entry->path, path); + strcpy(entry->path, path); entry->kind = dirs_file; memcpy(&entry->sysno, info+1, sizeof(entry->sysno)); - memcpy(&entry->mtime, info+1+sizeof(entry->sysno), + memcpy(&entry->mtime, info+1+sizeof(entry->sysno), sizeof(entry->mtime)); p->no_cur++; }