Skip to content

Commit 2ac3eef

Browse files
author
zhengshuxin
committed
Optimize htable module
1 parent 2486695 commit 2ac3eef

18 files changed

+327
-259
lines changed

lib_acl/include/stdlib/acl_htable.h

+5-13
Original file line numberDiff line numberDiff line change
@@ -146,14 +146,12 @@ ACL_API ACL_HTABLE_INFO *acl_htable_enter(ACL_HTABLE *table,
146146
* @param key 键, 在函数内部会复制此 key 键
147147
* @param value 用户自己的特定数据项(可以由类型硬转化而来, 但是此数据项必须
148148
* 不能堆栈变量)
149-
* @param callback 如果该函数指针不为空,则当添加成功后便调用该函数
150-
* @param arg callback 的参数之一
151-
* @return {int} 0 表示 添加成功,-1 表示添加失败
149+
* @return 所分配的哈希表项的指针, == NULL: 表示内部分配内存出错, 为严重的错误
152150
* 注:如果在添加时该哈希争键存在,则返回已经存在的哈希项,使用者应该通过调用
153151
* acl_htable_last_errno() 来查看是否重复添加同一个键值(ACL_HTABLE_STAT_DUPLEX_KEY)
154152
*/
155-
ACL_API int acl_htable_enter_r(ACL_HTABLE *table, const char *key, void *value,
156-
void (*callback)(ACL_HTABLE_INFO *ht, void *arg), void *arg);
153+
ACL_API ACL_HTABLE_INFO *acl_htable_enter_r(ACL_HTABLE *table,
154+
const char *key, void *value);
157155

158156
/**
159157
* 由所给的 key 键查寻某一特定哈希项
@@ -169,13 +167,10 @@ ACL_API ACL_HTABLE_INFO *acl_htable_locate(ACL_HTABLE *table, const char *key);
169167
* 函数内部会自动保证互斥操作
170168
* @param table 哈希表指针
171169
* @param key 键
172-
* @param callback 查到所要求的键值后如果该指针非空则调用之
173-
* @param arg callback 参数之一
174170
* @return 不为空指针: 表示查到了对应于 key 键的哈希项
175171
* 为空: 表示未查到对应于 key 键的哈希项
176172
*/
177-
ACL_API int acl_htable_locate_r(ACL_HTABLE *table, const char *key,
178-
void (*callback)(ACL_HTABLE_INFO *ht, void *arg), void *arg);
173+
ACL_API ACL_HTABLE_INFO *acl_htable_locate_r(ACL_HTABLE *table, const char *key);
179174

180175
/**
181176
* 由所给的 key 键查寻用户的数据项
@@ -191,13 +186,10 @@ ACL_API void *acl_htable_find(ACL_HTABLE *table, const char *key);
191186
* 函数内部会自动保证互斥操作
192187
* @param table 哈希表指针
193188
* @param key 键
194-
* @param callback 当查到所要求的键值后,如果该函数指针不为空则调用之
195-
* @param arg callback 的参数之一
196189
* @return 不为空: 表示查到了对应于 key 键的数据项, 用户可以根据用户自己的
197190
* 数据类型进行转换; 为空: 表示未查到对应于 key 键的数据项
198191
*/
199-
ACL_API int acl_htable_find_r(ACL_HTABLE *table, const char *key,
200-
void (*callback)(void *value, void *arg), void *arg);
192+
ACL_API void *acl_htable_find_r(ACL_HTABLE *table, const char *key);
201193

202194
/**
203195
* 根据所给的 key 键删除某一哈希项

lib_acl/lib_acl.rc

+4-4
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ END
5252
//
5353

5454
VS_VERSION_INFO VERSIONINFO
55-
FILEVERSION 3,6,1,1
56-
PRODUCTVERSION 3,6,1,1
55+
FILEVERSION 3,6,1,2
56+
PRODUCTVERSION 3,6,1,2
5757
FILEFLAGSMASK 0x17L
5858
#ifdef _DEBUG
5959
FILEFLAGS 0x1L
@@ -70,12 +70,12 @@ BEGIN
7070
BEGIN
7171
VALUE "Comments", "����Ϊ��ƽ̨��C�⣬����������ͨѶ����������ܵȹ���"
7272
VALUE "FileDescription", "acl ��"
73-
VALUE "FileVersion", "3.6.1.1"
73+
VALUE "FileVersion", "3.6.1.2"
7474
VALUE "InternalName", "lib_acl"
7575
VALUE "LegalCopyright", "zsx (C) 2022"
7676
VALUE "OriginalFilename", "lib_acl.lib"
7777
VALUE "ProductName", " acl ��"
78-
VALUE "ProductVersion", "3, 6, 1, 1"
78+
VALUE "ProductVersion", "3, 6, 1, 2"
7979
END
8080
END
8181
BLOCK "VarFileInfo"

lib_acl/lib_acl_vc2017.rc

+4-4
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ END
5252
//
5353

5454
VS_VERSION_INFO VERSIONINFO
55-
FILEVERSION 3,6,1,1
56-
PRODUCTVERSION 3,6,1,1
55+
FILEVERSION 3,6,1,2
56+
PRODUCTVERSION 3,6,1,2
5757
FILEFLAGSMASK 0x17L
5858
#ifdef _DEBUG
5959
FILEFLAGS 0x1L
@@ -70,12 +70,12 @@ BEGIN
7070
BEGIN
7171
VALUE "Comments", "����Ϊ��ƽ̨��C�⣬����������ͨѶ����������ܵȹ���"
7272
VALUE "FileDescription", "acl ��"
73-
VALUE "FileVersion", "3.6.1.1"
73+
VALUE "FileVersion", "3.6.1.2"
7474
VALUE "InternalName", "lib_acl"
7575
VALUE "LegalCopyright", "zsx (C) 2022"
7676
VALUE "OriginalFilename", "lib_acl.lib"
7777
VALUE "ProductName", " acl ��"
78-
VALUE "ProductVersion", "3, 6, 1, 1"
78+
VALUE "ProductVersion", "3, 6, 1, 2"
7979
END
8080
END
8181
BLOCK "VarFileInfo"

lib_acl/lib_acl_vc2019.rc

+4-4
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ END
5252
//
5353

5454
VS_VERSION_INFO VERSIONINFO
55-
FILEVERSION 3,6,1,1
56-
PRODUCTVERSION 3,6,1,1
55+
FILEVERSION 3,6,1,2
56+
PRODUCTVERSION 3,6,1,2
5757
FILEFLAGSMASK 0x17L
5858
#ifdef _DEBUG
5959
FILEFLAGS 0x1L
@@ -70,12 +70,12 @@ BEGIN
7070
BEGIN
7171
VALUE "Comments", "����Ϊ��ƽ̨��C�⣬����������ͨѶ����������ܵȹ���"
7272
VALUE "FileDescription", "acl ��"
73-
VALUE "FileVersion", "3.6.1.1"
73+
VALUE "FileVersion", "3.6.1.2"
7474
VALUE "InternalName", "lib_acl"
7575
VALUE "LegalCopyright", "zsx (C) 2022"
7676
VALUE "OriginalFilename", "lib_acl.lib"
7777
VALUE "ProductName", " acl ��"
78-
VALUE "ProductVersion", "3, 6, 1, 1"
78+
VALUE "ProductVersion", "3, 6, 1, 2"
7979
END
8080
END
8181
BLOCK "VarFileInfo"

lib_acl/samples/cache2/test.sh

100644100755
File mode changed.

lib_acl/src/init/acl_init.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
#include "init.h"
2727

28-
static char *version = "3.6.1-1 20230321-10:42";
28+
static char *version = "3.6.1-2 20230322-15:35";
2929

3030
const char *acl_version(void)
3131
{

0 commit comments

Comments
 (0)