Просмотр исходного кода

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 лет назад
Родитель
Сommit
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;
}



Загрузка…
Отмена
Сохранить