head 1.1; access; symbols pkgsrc-2026Q1:1.1.0.90 pkgsrc-2026Q1-base:1.1 pkgsrc-2025Q4:1.1.0.88 pkgsrc-2025Q4-base:1.1 pkgsrc-2025Q3:1.1.0.86 pkgsrc-2025Q3-base:1.1 pkgsrc-2025Q2:1.1.0.84 pkgsrc-2025Q2-base:1.1 pkgsrc-2025Q1:1.1.0.82 pkgsrc-2025Q1-base:1.1 pkgsrc-2024Q4:1.1.0.80 pkgsrc-2024Q4-base:1.1 pkgsrc-2024Q3:1.1.0.78 pkgsrc-2024Q3-base:1.1 pkgsrc-2024Q2:1.1.0.76 pkgsrc-2024Q2-base:1.1 pkgsrc-2024Q1:1.1.0.74 pkgsrc-2024Q1-base:1.1 pkgsrc-2023Q4:1.1.0.72 pkgsrc-2023Q4-base:1.1 pkgsrc-2023Q3:1.1.0.70 pkgsrc-2023Q3-base:1.1 pkgsrc-2023Q2:1.1.0.68 pkgsrc-2023Q2-base:1.1 pkgsrc-2023Q1:1.1.0.66 pkgsrc-2023Q1-base:1.1 pkgsrc-2022Q4:1.1.0.64 pkgsrc-2022Q4-base:1.1 pkgsrc-2022Q3:1.1.0.62 pkgsrc-2022Q3-base:1.1 pkgsrc-2022Q2:1.1.0.60 pkgsrc-2022Q2-base:1.1 pkgsrc-2022Q1:1.1.0.58 pkgsrc-2022Q1-base:1.1 pkgsrc-2021Q4:1.1.0.56 pkgsrc-2021Q4-base:1.1 pkgsrc-2021Q3:1.1.0.54 pkgsrc-2021Q3-base:1.1 pkgsrc-2021Q2:1.1.0.52 pkgsrc-2021Q2-base:1.1 pkgsrc-2021Q1:1.1.0.50 pkgsrc-2021Q1-base:1.1 pkgsrc-2020Q4:1.1.0.48 pkgsrc-2020Q4-base:1.1 pkgsrc-2020Q3:1.1.0.46 pkgsrc-2020Q3-base:1.1 pkgsrc-2020Q2:1.1.0.42 pkgsrc-2020Q2-base:1.1 pkgsrc-2020Q1:1.1.0.22 pkgsrc-2020Q1-base:1.1 pkgsrc-2019Q4:1.1.0.44 pkgsrc-2019Q4-base:1.1 pkgsrc-2019Q3:1.1.0.40 pkgsrc-2019Q3-base:1.1 pkgsrc-2019Q2:1.1.0.38 pkgsrc-2019Q2-base:1.1 pkgsrc-2019Q1:1.1.0.36 pkgsrc-2019Q1-base:1.1 pkgsrc-2018Q4:1.1.0.34 pkgsrc-2018Q4-base:1.1 pkgsrc-2018Q3:1.1.0.32 pkgsrc-2018Q3-base:1.1 pkgsrc-2018Q2:1.1.0.30 pkgsrc-2018Q2-base:1.1 pkgsrc-2018Q1:1.1.0.28 pkgsrc-2018Q1-base:1.1 pkgsrc-2017Q4:1.1.0.26 pkgsrc-2017Q4-base:1.1 pkgsrc-2017Q3:1.1.0.24 pkgsrc-2017Q3-base:1.1 pkgsrc-2017Q2:1.1.0.20 pkgsrc-2017Q2-base:1.1 pkgsrc-2017Q1:1.1.0.18 pkgsrc-2017Q1-base:1.1 pkgsrc-2016Q4:1.1.0.16 pkgsrc-2016Q4-base:1.1 pkgsrc-2016Q3:1.1.0.14 pkgsrc-2016Q3-base:1.1 pkgsrc-2016Q2:1.1.0.12 pkgsrc-2016Q2-base:1.1 pkgsrc-2016Q1:1.1.0.10 pkgsrc-2016Q1-base:1.1 pkgsrc-2015Q4:1.1.0.8 pkgsrc-2015Q4-base:1.1 pkgsrc-2015Q3:1.1.0.6 pkgsrc-2015Q3-base:1.1 pkgsrc-2015Q2:1.1.0.4 pkgsrc-2015Q2-base:1.1 pkgsrc-2015Q1:1.1.0.2 pkgsrc-2015Q1-base:1.1; locks; strict; comment @// @; 1.1 date 2015.01.20.11.34.43; author prlw1; state Exp; branches; next ; commitid skHXS9KbtzJ8VK6y; desc @@ 1.1 log @Make per room blocking optional @ text @$NetBSD$ Make per room blocking optional --- src/OptionContainer.cpp.orig 2012-09-29 20:06:45.000000000 +0000 +++ src/OptionContainer.cpp @@@@ -789,10 +789,19 @@@@ bool OptionContainer::inRoom(const std:: void OptionContainer::loadRooms() { + if (per_room_blocking_directory_location == "") + return; + DIR* d = opendir(per_room_blocking_directory_location.c_str()); if (d == NULL) { - syslog(LOG_ERR, "Could not open room definitions directory: %s", strerror(errno)); + if (!is_daemonised) { + std::cerr << "Could not open room definitions directory \"" + << per_room_blocking_directory_location << '"' + << std::endl; + } + syslog(LOG_ERR, "Could not open room definitions directory \"%s\": %s", + per_room_blocking_directory_location.c_str(), strerror(errno)); exit(1); } @@@@ -804,11 +813,29 @@@@ void OptionContainer::loadRooms() std::string filename(per_room_blocking_directory_location); filename.append(f->d_name); std::ifstream infile(filename.c_str()); + if (!infile.good()) { + if (!is_daemonised) { + std::cerr << "Could not open room definitions file \"" + << filename << '"' << std::endl; + } + syslog(LOG_ERR, "Could not open room definitions file \"%s\"", + filename.c_str()); + exit(1); + } std::string roomname; std::getline(infile, roomname); infile.close(); - roomname = roomname.substr(1); + if (roomname.size() <= 2) { + if (!is_daemonised) { + std::cerr << "Could not read room from definitions file \"" + << filename << '"' << std::endl; + } + syslog(LOG_ERR, "Could not read room from definitions file \"%s\"", + filename.c_str()); + exit(1); + } + roomname = roomname.substr(1); // remove leading '#' IPList* contents = new IPList(); contents->readIPMelangeList(filename.c_str()); @