Bläddra i källkod

Let btpd remove torrent data by itself instead of calling rm.

master
Richard Nyberg 16 år sedan
förälder
incheckning
4457c1268a
1 ändrade filer med 15 tillägg och 4 borttagningar
  1. +15
    -4
      btpd/tlib.c

+ 15
- 4
btpd/tlib.c Visa fil

@@ -62,11 +62,22 @@ int
tlib_del(struct tlib *tl)
{
char relpath[RELPATH_SIZE];
char cmd[PATH_MAX];
char path[PATH_MAX];
DIR *dir;
struct dirent *de;
assert(tl->tp == NULL);
snprintf(cmd, PATH_MAX, "rm -r torrents/%s",
bin2hex(tl->hash, relpath, 20));
system(cmd);
snprintf(path, PATH_MAX, "torrents/%s", bin2hex(tl->hash, relpath, 20));
if ((dir = opendir(path)) != NULL) {
while ((de = readdir(dir)) != NULL) {
if (strcmp(".", de->d_name) == 0 || strcmp("..", de->d_name) == 0)
continue;
snprintf(path, PATH_MAX, "torrents/%s/%s", relpath, de->d_name);
remove(path);
}
closedir(dir);
}
snprintf(path, PATH_MAX, "torrents/%s", relpath);
remove(path);
tlib_kill(tl);
return 0;
}


Laddar…
Avbryt
Spara