290 acl_set_error_status(ctx->sn, ctx->rq, sysacl.acl, ctx->user); |
290 acl_set_error_status(ctx->sn, ctx->rq, sysacl.acl, ctx->user); |
291 return NULL; |
291 return NULL; |
292 } |
292 } |
293 } |
293 } |
294 |
294 |
295 // open file |
295 // open directory |
|
296 #ifdef BSD |
296 DIR *sys_dir = opendir(path); |
297 DIR *sys_dir = opendir(path); |
|
298 if(sys_dir) { |
|
299 int dir_fd = dirfd(sys_dir); |
|
300 } |
|
301 #else |
|
302 int dir_fd = open(path, O_RDONLY); |
|
303 if(dir_fd == -1) { |
|
304 if(ctx) { |
|
305 ctx->vfs_errno = errno; |
|
306 sys_set_error_status(ctx); |
|
307 } |
|
308 return NULL; |
|
309 } |
|
310 DIR *sys_dir = fdopendir(dir_fd); |
|
311 #endif |
297 if(!sys_dir) { |
312 if(!sys_dir) { |
298 if(ctx) { |
313 if(ctx) { |
299 ctx->vfs_errno = errno; |
314 ctx->vfs_errno = errno; |
300 sys_set_error_status(ctx); |
315 sys_set_error_status(ctx); |
301 } |
316 } |