浏览代码

Don't call mkdirs unnecessarily. Note that this code is only needed because

the content code shuts down btpd on errors. When that is fixed this code can
be removed.
master
Richard Nyberg 18 年前
父节点
当前提交
1a17b22bb3
共有 1 个文件被更改,包括 17 次插入9 次删除
  1. +17
    -9
      btpd/torrent.c

+ 17
- 9
btpd/torrent.c 查看文件

@@ -95,16 +95,24 @@ torrent_start(struct tlib *tl)
if (tl->dir == NULL)
return IPC_EBADTENT;

if (mkdirs(tl->dir, 0777) != 0 && errno != EEXIST) {
btpd_log(BTPD_L_ERROR, "torrent '%s': "
"failed to create content dir '%s' (%s).\n",
tl->name, tl->dir, strerror(errno));
return IPC_ECREATECDIR;
} else if (stat(tl->dir, &sb) == -1 ||
((sb.st_mode & S_IFMT) != S_IFDIR)) {
if (stat(tl->dir, &sb) == 0) {
if ((sb.st_mode & S_IFMT) != S_IFDIR) {
btpd_log(BTPD_L_ERROR,
"torrent '%s': content dir '%s' is not a directory\n",
tl->name, tl->dir);
return IPC_EBADCDIR;
}
} else if (errno == ENOENT) {
if (mkdirs(tl->dir, 0777) != 0 && errno != EEXIST) {
btpd_log(BTPD_L_ERROR, "torrent '%s': "
"failed to create content dir '%s' (%s).\n",
tl->name, tl->dir, strerror(errno));
return IPC_ECREATECDIR;
}
} else {
btpd_log(BTPD_L_ERROR,
"torrent '%s': content dir '%s' is either not a directory or"
" cannot be accessed.\n", tl->name, tl->dir);
"torrent '%s': couldn't stat content dir '%s' (%s)\n",
tl->name, tl->dir, strerror(errno));
return IPC_EBADCDIR;
}



正在加载...
取消
保存