mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Reactivated "Fixed handling symbolic links in cRecordings::ScanVideoDir()"
This commit is contained in:
parent
573449e935
commit
adc88b3790
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: recording.c 2.46 2012/01/26 10:02:29 kls Exp $
|
* $Id: recording.c 2.47 2012/02/13 11:49:43 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "recording.h"
|
#include "recording.h"
|
||||||
@ -1112,7 +1112,7 @@ void cRecordings::ScanVideoDir(const char *DirName, bool Foreground, int LinkLev
|
|||||||
if (strcmp(e->d_name, ".") && strcmp(e->d_name, "..")) {
|
if (strcmp(e->d_name, ".") && strcmp(e->d_name, "..")) {
|
||||||
cString buffer = AddDirectory(DirName, e->d_name);
|
cString buffer = AddDirectory(DirName, e->d_name);
|
||||||
struct stat st;
|
struct stat st;
|
||||||
if (stat(buffer, &st) == 0) {
|
if (lstat(buffer, &st) == 0) {
|
||||||
int Link = 0;
|
int Link = 0;
|
||||||
if (S_ISLNK(st.st_mode)) {
|
if (S_ISLNK(st.st_mode)) {
|
||||||
if (LinkLevel > MAX_LINK_LEVEL) {
|
if (LinkLevel > MAX_LINK_LEVEL) {
|
||||||
@ -1120,6 +1120,8 @@ void cRecordings::ScanVideoDir(const char *DirName, bool Foreground, int LinkLev
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
Link = 1;
|
Link = 1;
|
||||||
|
if (stat(buffer, &st) != 0)
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
if (S_ISDIR(st.st_mode)) {
|
if (S_ISDIR(st.st_mode)) {
|
||||||
if (endswith(buffer, deleted ? DELEXT : RECEXT)) {
|
if (endswith(buffer, deleted ? DELEXT : RECEXT)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user