diff --git a/CMakeLists.txt b/CMakeLists.txt index 7be4a96b6e2e03b438208ba7ede9e832fbe7d980..1a131af85814a0d70eca8db165bf3f4d84f54108 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,7 @@ set(HOME ${CMAKE_CURRENT_SOURCE_DIR}) set(SDK_NAME common) set(COMPILE_LIST FALSE CACHE BOOL "是否编译list相关接口") +add_compile_options("-Wall" "-Werror") add_subdirectory(src) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f34830248f5b998c4790bdc41fe7d5357db93f67..b4991781422d09eee3e7344a63bb5629ccb111a7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,5 +1,4 @@ include_directories(../include/) - set(LIB_SHARED "${SDK_NAME}_shared") set(LIB_STATIC "${SDK_NAME}_static") diff --git a/src/common_base64.c b/src/common_base64.c index 6288d19da0c470058456f7d7d47d737cba6db8dd..acd9bff733e3d30a6a9331e439fccd5e7f626982 100644 --- a/src/common_base64.c +++ b/src/common_base64.c @@ -20,6 +20,7 @@ static int global_static_get_decode_number(char decode) { return 0; } } + return -1; } int base64_encode(char out[], int *olen, int osize, char in[], int inlen) { diff --git a/src/common_interface.c b/src/common_interface.c index 8a7b90389f47fcec3e3d0fc070f211c3345832ca..0c67f06a1195ea43f30cb09b661adbc8e45e71af 100644 --- a/src/common_interface.c +++ b/src/common_interface.c @@ -71,22 +71,13 @@ int common_judge_path(const char *path, int path_len) } /** - * 对数组进行快速排序 + * 快速排序函数 */ -int quick_sort(int *arr, int left, int right){ - if(left == right) { - return COM_OK; - } - if(right - left == 1) { - return COM_OK; - } - if(arr == NULL) { - return COM_BAD_INPUT; +void quick_sort_function(int *arr, int left, int right){ + if(left == right && right - left == 1 && left >= right) { + return ; } - if(left >= right){ - return COM_BAD_INPUT; - } - int l = left; + int l = 0; int r = right; int key = arr[left]; while(l < r){ @@ -101,8 +92,22 @@ int quick_sort(int *arr, int left, int right){ arr[r] = arr[l]; arr[l] = key; } - quick_sort(arr, left, l-1); - quick_sort(arr, l+1, right); + quick_sort_function(arr, left, l-1); + quick_sort_function(arr, l+1, right); +} + +/** + * 调用快速排序,返回对应信息 +*/ +int quick_sort(int *arr, int left, int right){ + if(arr == NULL) { + return COM_BAD_INPUT; + } + if(left >= right){ + return COM_BAD_INPUT; + } + quick_sort_function(arr,left,right); + return COM_OK; } static uint64_t internal_byte_common_trans(uint64_t number, common_byte_type byte_type, int position) {