diff --git a/src/logger.cpp b/src/logger.cpp index a1305ab..00dcb55 100644 --- a/src/logger.cpp +++ b/src/logger.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -37,35 +38,9 @@ std::string getTime(int type) void writeLog(int type, std::string content, int level) { - //placeholder - /* - if(print_debug_info) - std::cerr< global_log_level) return; - //std::cerr< std::string { diff --git a/src/misc.h b/src/misc.h index 08a7605..dbc002e 100644 --- a/src/misc.h +++ b/src/misc.h @@ -69,7 +69,7 @@ public: template void define(const T &value) { if(_M_VALUE == -1) - set(value); + *this = value; } bool get(const bool &def_value = false) @@ -85,12 +85,6 @@ public: return _M_VALUE; } - bool set(const tribool &value) - { - _M_VALUE = value._M_VALUE; - return _M_VALUE; - } - bool set(const std::string &str) { switch(hash_(str)) @@ -185,11 +179,12 @@ template static inline void eraseElements(T &target) T().swap(target); } -template static inline T to_number(const std::string &str, T def_value) +template static inline T to_number(const U &value, T def_value = T()) { T retval = 0.0; char c; - std::stringstream ss(str); + std::stringstream ss; + ss << value; if(!(ss >> retval)) return def_value; else if(ss >> c) diff --git a/src/socket.h b/src/socket.h index ed86f27..225cc5c 100644 --- a/src/socket.h +++ b/src/socket.h @@ -23,6 +23,7 @@ #ifndef SA_INTERRUPT #define SA_INTERRUPT 0 //ignore this setting #endif +#define SD_BOTH SHUT_RDWR #ifndef __hpux #include #endif /* __hpux */ diff --git a/src/subexport.cpp b/src/subexport.cpp index 6cab035..e18d77c 100644 --- a/src/subexport.cpp +++ b/src/subexport.cpp @@ -991,10 +991,11 @@ void preprocessNodes(std::vector &nodes, extra_settings &ext) { std::for_each(nodes.begin(), nodes.end(), [ext](nodeInfo &x) { - x.remarks = nodeRename(x, ext.rename_array); if(ext.remove_emoji) x.remarks = trim(removeEmoji(x.remarks)); + x.remarks = nodeRename(x, ext.rename_array); + if(ext.add_emoji) x.remarks = addEmoji(x, ext.emoji_array); }); diff --git a/src/webserver_libevent.cpp b/src/webserver_libevent.cpp index 2fe1d24..62b7ef7 100644 --- a/src/webserver_libevent.cpp +++ b/src/webserver_libevent.cpp @@ -287,6 +287,7 @@ int start_web_server_multi(void *argv) for (i = 0; i < nthreads; i++) event_base_loopbreak(base[i]); //stop the loop + shutdown(nfd, SD_BOTH); //stop accept call closesocket(nfd); //close listener socket return 0;