From 5aafe04f6de2dda8984c9be7d3563266b0737d80 Mon Sep 17 00:00:00 2001 From: "U-DESKTOP-T772REH\\wangyu" Date: Wed, 20 Jun 2018 00:41:13 +0800 Subject: [PATCH] --enable-color, fix a segment fault --- main.cpp | 5 ++++- misc.cpp | 9 +++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/main.cpp b/main.cpp index a6837e5..1f820b1 100755 --- a/main.cpp +++ b/main.cpp @@ -597,7 +597,8 @@ void udp_accept_cb(struct ev_loop *loop, struct ev_io *watcher, int revents) socklen_t udp_new_addr_len = sizeof(sockaddr_in); if ((recv_len = recvfrom(udp_fd, buf, max_data_len+1, 0, (struct sockaddr *) &udp_new_addr_in, &udp_new_addr_len)) == -1) { - mylog(log_warn,"recv_from error,this shouldnt happen at client,but lets try to continue\n"); + mylog(log_debug,"recv_from error,this shouldnt happen at client,but lets try to continue\n"); + return ; //myexit(1); }; @@ -1069,6 +1070,8 @@ int main(int argc, char *argv[]) ev_signal signal_watcher_sigpipe; ev_signal_init(&signal_watcher_sigpipe, sigpipe_cb, SIGPIPE); ev_signal_start(loop, &signal_watcher_sigpipe); +#else + enable_log_color=0; #endif ev_signal signal_watcher_sigterm; diff --git a/misc.cpp b/misc.cpp index 875b24e..0ec9e10 100644 --- a/misc.cpp +++ b/misc.cpp @@ -231,6 +231,10 @@ int process_log_level(int argc,char *argv[])//process --log-level and --disable } } } + if(strcmp(argv[i],"--enable-color")==0) + { + enable_log_color=1; + } if(strcmp(argv[i],"--disable-color")==0) { enable_log_color=0; @@ -260,6 +264,7 @@ void process_arg(int argc, char *argv[]) //process all options {"cipher-mode", required_argument, 0, 1}, {"raw-mode", required_argument, 0, 1}, {"disable-color", no_argument, 0, 1}, + {"enable-color", no_argument, 0, 1}, {"log-position", no_argument, 0, 1}, {"disable-bpf", no_argument, 0, 1}, {"disable-anti-replay", no_argument, 0, 1}, @@ -565,6 +570,10 @@ void process_arg(int argc, char *argv[]) //process all options { //enable_log_color=0; } + else if(strcmp(long_options[option_index].name,"enable-color")==0) + { + //enable_log_color=0; + } else if(strcmp(long_options[option_index].name,"debug")==0) { debug_flag=1;