diff -r b8f798d240ab -r c36eddf167a8 dav/system.c --- a/dav/system.c Sun Apr 14 19:39:08 2019 +0200 +++ b/dav/system.c Sun Apr 14 20:08:18 2019 +0200 @@ -91,6 +91,10 @@ return stat(path, s); } +int sys_lstat(const char *path, SYS_STAT *s) { + return lstat(path, s); +} + int sys_rename(const char *oldpath, const char *newpath) { return rename(oldpath, newpath); } @@ -103,6 +107,10 @@ return mkdir(path, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH); } +ssize_t sys_readlink(const char *path, char *buffer, size_t size) { + return readlink(path, buffer, size); +} + #else /* ---------- Windows implementation ---------- */ @@ -226,6 +234,18 @@ return ret; } +int sys_lstat(const char *path, SYS_STAT *s) { + // TODO: fix + wchar_t *fpath = path2winpath(path, FALSE, NULL); + if(!fpath) { + fprintf(stderr, "Cannot convert path \"%s\" to UTF16\n", path); + return -1; + } + int ret = _wstat64(fpath, s); + free(fpath); + return ret; +} + int sys_rename(const char *oldpath, const char *newpath) { wchar_t *o = path2winpath(oldpath, FALSE, NULL); wchar_t *n = path2winpath(newpath, FALSE, NULL); @@ -268,4 +288,10 @@ return ret; } +ssize_t sys_readlink(const char *path, char *buffer, size_t size) { + // TODO + fprintf(stderr, "sys_readlink: implement me\n"); + return 1; +} + #endif