From 35169e2e538e04da2facc360a6ddcc018451afcd Mon Sep 17 00:00:00 2001 From: Benedikt Galbavy Date: Fri, 20 Oct 2023 15:25:17 +0200 Subject: [PATCH] better error handling --- server.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/server.cpp b/server.cpp index e5f4354..816dece 100644 --- a/server.cpp +++ b/server.cpp @@ -71,7 +71,16 @@ int main (int argc, char* argv[]) fs::path spool_dir = fs::path(argv[2]); - fs::create_directory(spool_dir); + if (fs::exists(spool_dir) && !fs::is_directory(spool_dir)) { + printf("%s is not a directory\n", spool_dir.c_str()); + printUsage(); + return EXIT_FAILURE; + } + + if (fs::create_directory(spool_dir)) { + printf("%s does not exist, creating new...\n", spool_dir.c_str()); + } + fs::create_directory(spool_dir/"users"); fs::create_directory(spool_dir/"messages"); @@ -182,7 +191,7 @@ inline bool isInteger(const std::string & s) void printUsage() { - printf("printUsage\n"); + printf("Usage: \n"); } void *clientCommunication(void *data)