Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
阿啄debugIT
libfastcommon
提交
f9936ec4
L
libfastcommon
项目概览
阿啄debugIT
/
libfastcommon
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
libfastcommon
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f9936ec4
编写于
7月 14, 2015
作者:
Y
yuqing
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ini_file_reader.c realloc change to malloc and memcpy
上级
d8840696
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
27 addition
and
11 deletion
+27
-11
HISTORY
HISTORY
+2
-1
src/Makefile.in
src/Makefile.in
+1
-1
src/ini_file_reader.c
src/ini_file_reader.c
+24
-9
未找到文件。
HISTORY
浏览文件 @
f9936ec4
Version 1.17 2015-07-1
3
Version 1.17 2015-07-1
4
* ini_file_reader.c change PJWHash to Time33Hash and increase capacity
* ini_file_reader.c realloc change to malloc and memcpy
Version 1.16 2015-07-01
* fast_mblock add fast_mblock_delay_free
...
...
src/Makefile.in
浏览文件 @
f9936ec4
...
...
@@ -36,7 +36,7 @@ all: $(ALL_OBJS) $(ALL_PRGS) $(ALL_LIBS)
libfastcommon.so
:
$(COMPILE)
-o
$@
$<
-shared
$(FAST_SHARED_OBJS)
libfastcommon.a
:
$(FAST_STATIC_OBJS)
ar rcs
$@
$
<
ar rcs
$@
$
(FAST_STATIC_OBJS)
.o
:
$(COMPILE)
-o
$@
$<
$(STATIC_OBJS)
$(LIB_PATH)
$(INC_PATH)
.c
:
...
...
src/ini_file_reader.c
浏览文件 @
f9936ec4
...
...
@@ -19,8 +19,8 @@
#include "http_func.h"
#include "ini_file_reader.h"
#define _LINE_BUFFER_SIZE 512
#define _
ALLOC_ITEMS_ONCE
32
#define _LINE_BUFFER_SIZE
512
#define _
INIT_ALLOC_ITEM_COUNT
32
static
int
iniDoLoadFromFile
(
const
char
*
szFilename
,
\
IniContext
*
pContext
);
...
...
@@ -416,19 +416,34 @@ static int iniDoLoadItemsFromBuffer(char *content, IniContext *pContext)
if
(
pSection
->
count
>=
pSection
->
alloc_count
)
{
pSection
->
alloc_count
+=
_ALLOC_ITEMS_ONCE
;
pSection
->
items
=
(
IniItem
*
)
realloc
(
pSection
->
items
,
sizeof
(
IniItem
)
*
pSection
->
alloc_count
);
if
(
pSection
->
items
==
NULL
)
int
bytes
;
IniItem
*
pNew
;
if
(
pSection
->
alloc_count
==
0
)
{
pSection
->
alloc_count
=
_INIT_ALLOC_ITEM_COUNT
;
}
else
{
pSection
->
alloc_count
*=
2
;
}
bytes
=
sizeof
(
IniItem
)
*
pSection
->
alloc_count
;
pNew
=
(
IniItem
*
)
malloc
(
bytes
);
if
(
pNew
==
NULL
)
{
logError
(
"file: "
__FILE__
", line: %d, "
\
"realloc %d bytes fail"
,
__LINE__
,
\
(
int
)
sizeof
(
IniItem
)
*
\
pSection
->
alloc_count
);
"malloc %d bytes fail"
,
__LINE__
,
bytes
);
result
=
errno
!=
0
?
errno
:
ENOMEM
;
break
;
}
if
(
pSection
->
count
>
0
)
{
memcpy
(
pNew
,
pSection
->
items
,
sizeof
(
IniItem
)
*
pSection
->
count
);
free
(
pSection
->
items
);
}
pSection
->
items
=
pNew
;
pItem
=
pSection
->
items
+
pSection
->
count
;
memset
(
pItem
,
0
,
sizeof
(
IniItem
)
*
\
(
pSection
->
alloc_count
-
pSection
->
count
));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录