# HG changeset patch # User Olaf Wintermann # Date 1532010517 -7200 # Node ID a4a71ecfb9d6e5c871de13aff5518a450607c7b3 # Parent cb61f2e1c25e91433828161148c1b4253baef33f fixes wrong buffer allocation on windows diff -r cb61f2e1c25e -r a4a71ecfb9d6 dav/sync.c --- a/dav/sync.c Wed Jul 11 17:08:25 2018 +0200 +++ b/dav/sync.c Thu Jul 19 16:28:37 2018 +0200 @@ -1291,7 +1291,7 @@ } char *new_path = util_concat_path(p, ent->name); - int isdir; + int isdir = 0; LocalResource *res = local_resource_new(dir, db, new_path, &isdir); if(isdir) { resources = ucx_list_append(resources, res); diff -r cb61f2e1c25e -r a4a71ecfb9d6 dav/system.c --- a/dav/system.c Wed Jul 11 17:08:25 2018 +0200 +++ b/dav/system.c Thu Jul 19 16:28:37 2018 +0200 @@ -100,7 +100,11 @@ } int sys_mkdir(const char *path) { +#ifdef _WIN32 + return mkdir(path); +#else return mkdir(path, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH); +#endif } #else @@ -111,7 +115,7 @@ size_t lenadd = dir ? 2 : 0; - wchar_t *wpath = calloc(len+lenadd, sizeof(wchar_t)); + wchar_t *wpath = calloc(len+lenadd+1, sizeof(wchar_t)); int wlen = MultiByteToWideChar( CP_UTF8, 0, diff -r cb61f2e1c25e -r a4a71ecfb9d6 dav/system.h --- a/dav/system.h Wed Jul 11 17:08:25 2018 +0200 +++ b/dav/system.h Thu Jul 19 16:28:37 2018 +0200 @@ -54,6 +54,10 @@ WIN32_FIND_DATAW finddata; SysDirEnt *ent; }; +typedef struct SysDir { + DIR *dir; + SysDirEnt *ent; +} SysDir; #define SYS_DIR struct WinDir* #define SYS_STAT struct __stat64