From: Fredrik Tolf Date: Wed, 1 Sep 2010 00:31:34 +0000 (+0200) Subject: dirplex: Ignore backup files. X-Git-Tag: 0.1~42 X-Git-Url: http://www.dolda2000.com/gitweb/?p=ashd.git;a=commitdiff_plain;h=3e05e989dbb6375304b31ea562b9b3f7378a2353 dirplex: Ignore backup files. --- diff --git a/src/dirplex.c b/src/dirplex.c index 8e4ae11..75ff4a4 100644 --- a/src/dirplex.c +++ b/src/dirplex.c @@ -466,6 +466,11 @@ static void handledir(struct hthead *req, int fd, char *path) ipath = NULL; if(!strchr(inm, '.') && ((dir = opendir(path)) != NULL)) { while((dent = readdir(dir)) != NULL) { + /* Ignore backup files. + * XXX: There is probably a better and more + * extensible way to do this. */ + if(dent->d_name[strlen(dent->d_name) - 1] == '~') + continue; if((p = strchr(dent->d_name, '.')) == NULL) continue; if(strncmp(dent->d_name, inm, strlen(inm))) @@ -583,6 +588,11 @@ static void serve(struct hthead *req, int fd) if(!strchr(p, '.') && ((dir = opendir(path)) != NULL)) { while((dent = readdir(dir)) != NULL) { buf = sprintf3("%s/%s", path, dent->d_name); + /* Ignore backup files. + * XXX: There is probably a better and more + * extensible way to do this. */ + if(dent->d_name[strlen(dent->d_name) - 1] == '~') + continue; if((p3 = strchr(dent->d_name, '.')) != NULL) *p3 = 0; if(strcmp(dent->d_name, p))