X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fdirs.c;h=58eb522a56c54285ec89b98c280ef82faffe25e4;hb=de044fbb534d2db022ca965d0328dac7a6edf032;hp=b106bf6e501364e65bd8977031442cacf1d25d70;hpb=a030c87bc444608639905eca95e29f84a4f1d991;p=idzebra-moved-to-github.git diff --git a/index/dirs.c b/index/dirs.c index b106bf6..58eb522 100644 --- a/index/dirs.c +++ b/index/dirs.c @@ -18,6 +18,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +#if HAVE_CONFIG_H +#include +#endif #include #include #include @@ -59,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); @@ -117,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++; }