From ac7cd6f4431acb1f7593e63f93f064d738b9528e Mon Sep 17 00:00:00 2001 From: Markus Date: Wed, 21 Aug 2019 21:22:40 +0200 Subject: [PATCH] =?UTF-8?q?=C3=A4ndere=20von=20error=20zu=20warnung=20wenn?= =?UTF-8?q?=20-C=20datei=20nicht=20existiert=20&=20=C3=A4nderen:=20wenn=20?= =?UTF-8?q?-C=20datei=20nicht=20existeirt=20schreibe=20name=3D=20sonst=20s?= =?UTF-8?q?chreibe=20nichts=20&&=20add=20this=20to=20helpmenue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parameterManager.cpp | 19 ++++++++++++++----- parameterManager.h | 1 + programManager.cpp | 11 ++++++----- 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/parameterManager.cpp b/parameterManager.cpp index ed6c251..57c6e16 100644 --- a/parameterManager.cpp +++ b/parameterManager.cpp @@ -108,7 +108,7 @@ int loadDefaulOptions(Settings &settings) ofs << "#FarbloseAusgabe=false" << std::endl; ofs << "#OutputFile=/tmp/a" << std::endl; ofs << std::endl; - ofs << "#default-GenaueHoster=Vivo,GoUnlimited" << std::endl; + ofs << "default-GenaueHoster=Vivo,GoUnlimited" << std::endl; ofs << "#default-Sprachen=GerDub,GerSub,Eng" << std::endl; ofs << "#default-CheckSuchMuster=S%Staffel%E%Folge%" << std::endl; ofs << "#default-CheckMaxDirs=20" << std::endl; @@ -538,8 +538,10 @@ void unterOption_default_help() << " Standart: 127.0.0.1:9050" << std::endl << std::endl << "AUSGABEOPTIONEN:" << std::endl << " -o [Pfad], --output-file [Pfad]" << std::endl - << " Mit diere Option kann man ein (nichtvorhandenes) Text-Datei angeben," << std::endl - << " inwelches die umgewandelten Redirect-Links geschrieben werden." << std::endl << std::endl + << " Mit diere Option kann man ein (nichtvorhandenes) Text-Datei" << std::endl + << " angeben, inwelches die umgewandelten Redirect-Links geschrieben" << std::endl + << " werden. Beachte: Wenn die Datei von -C existiert, dann" << std::endl + << " schreibt das Programm kein 'Name: ...' in die Datei." << std::endl << " -c, --colorless" << std::endl << " Mit dieser Option kann man die farbige Ausgabe ausstellen." << std::endl << std::endl << " -d, --debug-mode" << std::endl @@ -558,8 +560,9 @@ void unterOption_default_help() << " vorkommt ( Beachte -m ). Wenn ja, wird die Folge übersprungen." << std::endl << " Tipp: Mit -o zu der gleichen Datei kann verwendet werden, um" << std::endl << " nur neue Folgen einer Serie zu downloaden." << std::endl - << " Beachte: Bei verwendung dieser Option, wird bei -o kein" << std::endl - << " 'Name: ...' in die Textdatei geschrieben." << std::endl << std::endl + << " Beachte: Bei verwendung dieser Option, wird kein" << std::endl + << " 'Name: ...' in die Datei geschrieben, wenn die" << std::endl + << " Datei beim überprüfen existiert." << std::endl << std::endl << " -m [Muster], --check-muster [Muster]" << std::endl << " Mit dieser Option kann man das Muster verändern, das bei" << std::endl << " der Option -C verwendet wird." << std::endl @@ -1017,3 +1020,9 @@ bool fileExists (const std::string& name) { return (stat (name.c_str(), &buffer) == 0 && S_ISREG(buffer.st_mode)); } + +bool nothingExists(std::string path) +{ + struct stat buffer; + return (stat(path.c_str(), &buffer) == 0) ? false : true; +} diff --git a/parameterManager.h b/parameterManager.h index fab36cd..c2d7a7b 100644 --- a/parameterManager.h +++ b/parameterManager.h @@ -72,6 +72,7 @@ void setPaths(Settings &settings); bool fileExists (const std::string& name); bool dirExists(std::string dir); +bool nothingExists(std::string path); int unterOption_help(); diff --git a/programManager.cpp b/programManager.cpp index 1737878..43ff6cc 100644 --- a/programManager.cpp +++ b/programManager.cpp @@ -628,12 +628,13 @@ int ProgramManager::listDir(std::string &list,std::string path, int maxDepth) } // Sonst normal Ordner listen else if(maxDepth <= 0) return 0; - else if(!dirExists(path)) { - std::cout << " => Error: Verzeichnis '" << path << "' existiert nicht oder ist kein Ordner oder Textdatei." << std::endl; - return -1; + else if(nothingExists(path)) { + std::cout << " => Warnug: Datei oder Verzeichnis existiert nicht: '" << path << "'" << std::endl; + return 0; } - else - maxDepth--; + + //verkleiner varibable um 1, um zu verhindern, das endlose schleife entsteht + maxDepth--; if(path[path.length()-1] != '/') path.push_back('/');