Skip to content

Commit

Permalink
fixed fiber's errors;
Browse files Browse the repository at this point in the history
add feature in some modules.
  • Loading branch information
zhengshuxin committed Mar 31, 2017
1 parent eca0d39 commit d167d8f
Show file tree
Hide file tree
Showing 40 changed files with 502 additions and 532 deletions.
6 changes: 6 additions & 0 deletions changes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
�޸���ʷ�б���
------------------------------------------------------------------------
106) 2017.3.30
106.1) compile: ��������ͷ�ļ��к궨�壬������ͬ�ı��뷽ʽ

105) 2017.3.26
105.1) cmake �� vs ���������б���ͨ��

104) 2017.3.25
104.1) ������������
lib_acl.a --> libacl.a
Expand Down
86 changes: 52 additions & 34 deletions lib_acl/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,57 +9,30 @@ if (${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
message(FATAL_ERROR "Please into another dir to build!")
endif()

add_definitions(
"-W"
"-fPIC"
"-Wall"
"-Werror"
"-Wshadow"
"-Wpointer-arith"
"-Waggregate-return"
"-Wmissing-prototypes"
"-D_REENTRANT"
"-D_USE_FAST_MACRO"
"-DACL_WRITEABLE_CHECK"
"-Wno-long-long"
"-Wuninitialized"
"-D_POSIX_PTHREAD_SEMANTICS"
"-DACL_PREPARE_COMPILE"
"-Wno-invalid-source-encoding"
"-Wstrict-prototypes"
)

if (CMAKE_BUILD_TYPE STREQUAL "")
set(CMAKE_BUILD_TYPE "DEBUG")
else()
string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE)
endif()

if (CMAKE_BUILD_TYPE STREQUAL "RELEASE")
add_definitions("-O3")
else()
add_definitions("-g")
endif()

#string(TOUPPER ${CMAKE_SYSTEM_NAME} CMAKE_SYSTEM_NAME)
if (CMAKE_SYSTEM_NAME MATCHES "Android")
add_definitions("-DANDROID")
set(UNIX_OS true)
elseif (CMAKE_SYSTEM_NAME MATCHES "Linux")
set(UNIX_OS true)
elseif (CMAKE_SYSTEM_NAME MATCHES "Darwin")
set(UNIX_OS true)
elseif (CMAKE_SYSTEM_NAME MATCHES "Windows")
set(WIN_OS true)
else()
message(FATAL_ERROR "unknown CMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}")
endif()

##############################################################################

set(src ${CMAKE_CURRENT_SOURCE_DIR}/src)

include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
)

set(src ${CMAKE_CURRENT_SOURCE_DIR}/src)
set(sources
${src}
${src}/stdlib
${src}/stdlib/debug
${src}/stdlib/memory
Expand Down Expand Up @@ -100,6 +73,47 @@ foreach(iter ${sources})
aux_source_directory(${iter} lib_src)
endforeach()

##############################################################################

if (CMAKE_BUILD_TYPE STREQUAL "")
set(CMAKE_BUILD_TYPE "DEBUG")
else()
string(TOUPPER CMAKE_BUILD_TYPE CMAKE_BUILD_TYPE)
endif()

if (${UNIX_OS})
add_definitions(
"-W"
"-fPIC"
"-Wall"
"-Werror"
"-Wshadow"
"-Wpointer-arith"
"-Waggregate-return"
"-Wmissing-prototypes"
"-D_REENTRANT"
"-D_USE_FAST_MACRO"
"-DACL_WRITEABLE_CHECK"
"-Wno-long-long"
"-Wuninitialized"
"-D_POSIX_PTHREAD_SEMANTICS"
"-DACL_PREPARE_COMPILE"
"-Wno-invalid-source-encoding"
"-Wstrict-prototypes"
)

if (CMAKE_BUILD_TYPE STREQUAL "RELEASE")
add_definitions("-O3")
else()
add_definitions("-g")
endif()
elseif (${WIN_OS})
add_definitions(
"-Yc"
"-DACL_WRITEABLE_CHECK"
"-DACL_PREPARE_COMPILE")
endif()

if (CMAKE_SYSTEM_NAME MATCHES "Android")
set(CMAKE_SHARED_LINKER_FLAGS "-shared")
else()
Expand All @@ -109,6 +123,10 @@ else()
add_library(acl_static STATIC ${lib_src})
SET_TARGET_PROPERTIES(acl_static PROPERTIES OUTPUT_NAME "acl")

if (${WIN_OS})
set(CMAKE_SHARED_LINKER_FLAGS "/DYNAMICBASE ws2_32.lib IPHlpApi.lib")
endif()

set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${lib_output_path})
endif()

Expand Down
3 changes: 2 additions & 1 deletion lib_acl/acl.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1934,7 +1934,7 @@
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
ONLY_ACTIVE_ARCH = NO;
SDKROOT = iphoneos;
};
name = Debug;
Expand Down Expand Up @@ -1972,6 +1972,7 @@
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
MTL_ENABLE_DEBUG_INFO = NO;
ONLY_ACTIVE_ARCH = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
};
Expand Down
4 changes: 4 additions & 0 deletions lib_acl/changes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
�޸���ʷ�б���

577) 2017.3.30
577.1) feature: json ������ڴ��� json �ַ���ʱĬ�ϲ��Զ����ӿո񣬵�����������
���ò����Ա����Զ����ӿո�Ӷ�ʹ json �ַ������ɶ�

576) 2017.3.11
576.1) bugfix: acl_scan_dir.c �к��� acl_scan_dir_push �� windows �´������⣬
�������ѭ��
Expand Down
1 change: 1 addition & 0 deletions lib_acl/include/json/acl_json.h
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ struct ACL_JSON {
int finish; /**< 是否分析结束 */
unsigned flag; /**< 标志位 */
#define ACL_JSON_FLAG_PART_WORD (1 << 0) /**< 是否兼容半个汉字 */
#define ACL_JSON_FLAG_ADD_SPACE (1 << 1) /**< 创建 json 时是否添空格 */

/* public: for acl_iterator, 通过 acl_foreach 可以列出所有子节点 */

Expand Down
18 changes: 12 additions & 6 deletions lib_acl/include/stdlib/acl_define_win32.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,21 @@
abort(); \
} while(0)

# ifdef ACL_DLL
# ifdef ACL_EXPORTS
#ifdef ACL_LIB
# ifndef ACL_API
# define ACL_API
# endif
#elif defined(ACL_DLL) || defined(_WINDLL)
# if defined(ACL_EXPORTS) || defined(acl_EXPORTS)
# ifndef ACL_API
# define ACL_API __declspec(dllexport)
# else
# define ACL_API __declspec(dllimport)
# endif
# else
# define ACL_API
# elif !defined(ACL_API)
# define ACL_API __declspec(dllimport)
# endif
#elif !defined(ACL_API)
# define ACL_API
#endif

/**
* see WINSOCK2.H, 用户需要预先定义此值,因其默认值为64,此外,该值不能设得太大,
Expand Down
7 changes: 4 additions & 3 deletions lib_acl/include/stdlib/acl_mymalloc.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,10 @@ extern "C" {
* @param _ptr_ {void*} 动态内存地址
*/
#define acl_myfree(_ptr_) do { \
acl_free_glue(__FILE__, __LINE__, (_ptr_)); \
(_ptr_) = NULL; \
if (_ptr_) { \
acl_free_glue(__FILE__, __LINE__, (_ptr_)); \
(_ptr_) = NULL; \
} \
} while (0)

/**
Expand All @@ -84,4 +86,3 @@ extern "C" {
#endif

#endif

28 changes: 20 additions & 8 deletions lib_acl/src/json/acl_json_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -303,15 +303,20 @@ void acl_json_building(ACL_JSON *json, size_t length,

node = (ACL_JSON_NODE*) iter.data;
prev = acl_json_node_prev(node);
if (prev != NULL)
acl_vstring_strcat(buf, ", ");
if (prev != NULL) {
if ((json->flag & ACL_JSON_FLAG_ADD_SPACE))
acl_vstring_strcat(buf, ", ");
else
acl_vstring_strcat(buf, ",");
}

/* 只有当标签的对应值为 JSON 对象或数组对象时 tag_node 非空 */
if (node->tag_node != NULL) {
if (LEN(node->ltag) > 0) {
json_escape_append(buf, STR(node->ltag));
ACL_VSTRING_ADDCH(buf, ':');
ACL_VSTRING_ADDCH(buf, ' ');
if ((json->flag & ACL_JSON_FLAG_ADD_SPACE))
ACL_VSTRING_ADDCH(buf, ' ');
}

/* '{' or '[' */
Expand All @@ -323,7 +328,8 @@ void acl_json_building(ACL_JSON *json, size_t length,
else if (LEN(node->ltag) > 0) {
json_escape_append(buf, STR(node->ltag));
ACL_VSTRING_ADDCH(buf, ':');
ACL_VSTRING_ADDCH(buf, ' ');
if ((json->flag & ACL_JSON_FLAG_ADD_SPACE))
ACL_VSTRING_ADDCH(buf, ' ');

switch (node->type & ~ACL_JSON_T_LEAF) {
case ACL_JSON_T_NULL:
Expand Down Expand Up @@ -430,15 +436,20 @@ ACL_VSTRING *acl_json_build(ACL_JSON *json, ACL_VSTRING *buf)
acl_foreach(iter, json) {
node = (ACL_JSON_NODE*) iter.data;
prev = acl_json_node_prev(node);
if (prev != NULL)
acl_vstring_strcat(buf, ", ");
if (prev != NULL) {
if ((json->flag & ACL_JSON_FLAG_ADD_SPACE))
acl_vstring_strcat(buf, ", ");
else
acl_vstring_strcat(buf, ",");
}

/* 只有当标签的对应值为 JSON 对象或数组对象时 tag_node 非空 */
if (node->tag_node != NULL) {
if (LEN(node->ltag) > 0) {
json_escape_append(buf, STR(node->ltag));
ACL_VSTRING_ADDCH(buf, ':');
ACL_VSTRING_ADDCH(buf, ' ');
if ((json->flag & ACL_JSON_FLAG_ADD_SPACE))
ACL_VSTRING_ADDCH(buf, ' ');
}

/* '{' or '[' */
Expand All @@ -450,7 +461,8 @@ ACL_VSTRING *acl_json_build(ACL_JSON *json, ACL_VSTRING *buf)
else if (LEN(node->ltag) > 0) {
json_escape_append(buf, STR(node->ltag));
ACL_VSTRING_ADDCH(buf, ':');
ACL_VSTRING_ADDCH(buf, ' ');
if ((json->flag & ACL_JSON_FLAG_ADD_SPACE))
ACL_VSTRING_ADDCH(buf, ' ');

switch (node->type & ~ACL_JSON_T_LEAF) {
case ACL_JSON_T_NULL:
Expand Down
1 change: 1 addition & 0 deletions lib_acl/src/master/framework/master_warning.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#include "StdAfx.h"
#include "stdlib/acl_define.h"

#ifdef ACL_UNIX
Expand Down
4 changes: 2 additions & 2 deletions lib_acl/src/stdlib/sys/gettimeofday.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@
# else
# define EPOCHFILETIME (116444736000000000LL)
# endif

/*
#ifndef ACL_DLL
int _daylight;
long _timezone;
#endif

*/
static void dummy(void *ptr acl_unused)
{

Expand Down
Loading

0 comments on commit d167d8f

Please sign in to comment.