dav/system.c

changeset 574
c36eddf167a8
parent 448
3bef733c55b3
child 576
62cc92445234
--- 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

mercurial