From d818e59009ee8136ce63dd4287ce1e967b13e8b8 Mon Sep 17 00:00:00 2001 From: YuQing <384681@qq.com> Date: Sat, 30 Nov 2019 15:33:59 +0800 Subject: [PATCH] add function get_gzip_command_filename --- HISTORY | 2 ++ INSTALL | 3 ++- src/logger.c | 17 ++--------------- src/shared_func.c | 20 ++++++++++++++++++++ src/shared_func.h | 5 +++++ 5 files changed, 31 insertions(+), 16 deletions(-) diff --git a/HISTORY b/HISTORY index b2e392f..e68c91b 100644 --- a/HISTORY +++ b/HISTORY @@ -1,4 +1,6 @@ +Version 1.42 2019-11-30 + * add function get_gzip_command_filename Version 1.41 2019-09-30 * change CIDR network_bits range from [16, 32) to [10, 32) diff --git a/INSTALL b/INSTALL index 6328176..72862c1 100644 --- a/INSTALL +++ b/INSTALL @@ -9,7 +9,8 @@ Chinese language: http://www.fastken.com/ # download libfastcommon source codes and install it, # github address: https://github.com/happyfish100/libfastcommon.git # gitee address: https://gitee.com/fastdfs100/libfastcommon.git -# command lines as: +# the command lines as: + git clone https://github.com/happyfish100/libfastcommon.git cd libfastcommon; git checkout V1.0.41 ./make.sh clean && ./make.sh && ./make.sh install diff --git a/src/logger.c b/src/logger.c index 0784bfa..ea39a92 100644 --- a/src/logger.c +++ b/src/logger.c @@ -689,7 +689,6 @@ int log_delete_old_files(void *args) static void* log_gzip_func(void *args) { LogContext *pContext; - char *gzip; char cmd[MAX_PATH_SIZE + 128]; struct log_filename_array filename_array; char log_filepath[MAX_PATH_SIZE]; @@ -698,19 +697,6 @@ static void* log_gzip_func(void *args) int i; pContext = (LogContext *)args; - if (access("/bin/gzip", F_OK) == 0) - { - gzip = "/bin/gzip"; - } - else if (access("/usr/bin/gzip", F_OK) == 0) - { - gzip = "/usr/bin/gzip"; - } - else - { - gzip = "gzip"; - } - if (log_get_prefix_len(pContext, &prefix_len) != 0) { return NULL; @@ -735,7 +721,8 @@ static void* log_gzip_func(void *args) snprintf(full_filename, sizeof(full_filename), "%s%s", log_filepath, filename_array.filenames[i]); - snprintf(cmd, sizeof(cmd), "%s %s", gzip, full_filename); + snprintf(cmd, sizeof(cmd), "%s %s", + get_gzip_command_filename(), full_filename); if (system(cmd) == -1) { fprintf(stderr, "execute %s fail\n", cmd); diff --git a/src/shared_func.c b/src/shared_func.c index c6bcfb4..b2971eb 100644 --- a/src/shared_func.c +++ b/src/shared_func.c @@ -2846,3 +2846,23 @@ char *resolve_path(const char *from, const char *filename, } return full_filename; } + +const char *get_gzip_command_filename() +{ + if (access("/usr/bin/gzip", F_OK) == 0) + { + return "/usr/bin/gzip"; + } + else if (access("/bin/gzip", F_OK) == 0) + { + return "/bin/gzip"; + } + else if (access("/usr/local/bin/gzip", F_OK) == 0) + { + return "/usr/local/bin/gzip"; + } + else + { + return "gzip"; + } +} diff --git a/src/shared_func.h b/src/shared_func.h index 7ddbf01..0ed530c 100644 --- a/src/shared_func.h +++ b/src/shared_func.h @@ -851,6 +851,11 @@ char *format_http_date(time_t t, BufferInfo *buffer); char *resolve_path(const char *from, const char *filename, char *full_filename, const int size); +/** get gzip command full filename + * return: the gzip command full filename +*/ +const char *get_gzip_command_filename(); + #ifdef __cplusplus } #endif