dav/system.c

changeset 412
dc74f736aea1
parent 411
a182e503617b
child 413
241db665477a
equal deleted inserted replaced
411:a182e503617b 412:dc74f736aea1
87 87
88 int sys_rename(const char *oldpath, const char *newpath) { 88 int sys_rename(const char *oldpath, const char *newpath) {
89 return rename(oldpath, newpath); 89 return rename(oldpath, newpath);
90 } 90 }
91 91
92 int sys_unlink(const char *path) {
93 return unlink(path);
94 }
95
96 int sys_mkdir(const char *path) {
97 return mkdir(path, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH);
92 98
93 #else 99 #else
94 /* ---------- Windows implementation ---------- */ 100 /* ---------- Windows implementation ---------- */
95 101
96 static wchar_t* path2winpath(const char *path, int dir, int *newlen) { 102 static wchar_t* path2winpath(const char *path, int dir, int *newlen) {
213 return ret; 219 return ret;
214 } 220 }
215 221
216 int sys_rename(const char *oldpath, const char *newpath) { 222 int sys_rename(const char *oldpath, const char *newpath) {
217 wchar_t *o = path2winpath(oldpath, FALSE, NULL); 223 wchar_t *o = path2winpath(oldpath, FALSE, NULL);
218 wchara_t *n = path2winpath(newpath, FALSE, NULL); 224 wchar_t *n = path2winpath(newpath, FALSE, NULL);
219 if(!o || !n) { 225 if(!o || !n) {
220 return -1; 226 return -1;
221 } 227 }
222 228
223 struct __stat64 s; 229 struct __stat64 s;
231 free(o); 237 free(o);
232 free(n); 238 free(n);
233 return ret; 239 return ret;
234 } 240 }
235 241
242 int sys_unlink(const char *path) {
243 wchar_t *wpath = path2winpath(path, FALSE, NULL);
244 if(!wpath) {
245 fprintf(stderr, "sys_unlink: cannot convert path\n");
246 return -1;
247 }
248 int ret = _wunlink(wpath);
249 free(wpath);
250 return ret;
251 }
252
253 int sys_mkdir(const char *path) {
254 wchar_t *wpath = path2winpath(path, FALSE, NULL);
255 if(!wpath) {
256 fprintf(stderr, "sys_mkdir: cannot convert path\n");
257 return -1;
258 }
259 int ret = _wmkdir(wpath);
260 free(wpath);
261 return ret;
262 }
263
236 #endif 264 #endif

mercurial