Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
openssl
提交
befe1fbc
O
openssl
项目概览
btwise
/
openssl
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
befe1fbc
编写于
11月 01, 2008
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix bss_log.c on Windows.
上级
5e4430e7
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
12 addition
and
41 deletion
+12
-41
crypto/bio/bss_log.c
crypto/bio/bss_log.c
+12
-41
未找到文件。
crypto/bio/bss_log.c
浏览文件 @
befe1fbc
...
...
@@ -70,7 +70,6 @@
#if defined(OPENSSL_SYS_WINCE)
#elif defined(OPENSSL_SYS_WIN32)
# include <process.h>
#elif defined(OPENSSL_SYS_VMS)
# include <opcdef.h>
# include <descrip.h>
...
...
@@ -122,18 +121,6 @@ static int MS_CALLBACK slg_free(BIO *data);
static
void
xopenlog
(
BIO
*
bp
,
char
*
name
,
int
level
);
static
void
xsyslog
(
BIO
*
bp
,
int
priority
,
const
char
*
string
);
static
void
xcloselog
(
BIO
*
bp
);
#ifdef OPENSSL_SYS_WIN32
LONG
(
WINAPI
*
go_for_advapi
)()
=
RegOpenKeyEx
;
HANDLE
(
WINAPI
*
register_event_source
)()
=
NULL
;
BOOL
(
WINAPI
*
deregister_event_source
)()
=
NULL
;
BOOL
(
WINAPI
*
report_event
)()
=
NULL
;
#define DL_PROC(m,f) (GetProcAddress( m, f ))
#ifdef UNICODE
#define DL_PROC_X(m,f) DL_PROC( m, f "W" )
#else
#define DL_PROC_X(m,f) DL_PROC( m, f "A" )
#endif
#endif
static
BIO_METHOD
methods_slg
=
{
...
...
@@ -249,35 +236,20 @@ static int MS_CALLBACK slg_puts(BIO *bp, const char *str)
static
void
xopenlog
(
BIO
*
bp
,
char
*
name
,
int
level
)
{
if
(
!
register_event_source
)
{
HANDLE
advapi
;
if
(
!
(
advapi
=
GetModuleHandle
(
"advapi32"
))
)
return
;
register_event_source
=
(
HANDLE
(
WINAPI
*
)())
DL_PROC_X
(
advapi
,
"RegisterEventSource"
);
deregister_event_source
=
(
BOOL
(
WINAPI
*
)())
DL_PROC
(
advapi
,
"DeregisterEventSource"
);
report_event
=
(
BOOL
(
WINAPI
*
)())
DL_PROC_X
(
advapi
,
"ReportEvent"
);
if
(
!
(
register_event_source
&&
deregister_event_source
&&
report_event
)
)
{
register_event_source
=
NULL
;
deregister_event_source
=
NULL
;
report_event
=
NULL
;
return
;
}
}
bp
->
ptr
=
(
char
*
)
register_event_source
(
NULL
,
name
);
if
(
GetVersion
()
<
0x80000000
)
bp
->
ptr
=
RegisterEventSourceA
(
NULL
,
name
);
else
bp
->
ptr
=
NULL
;
}
static
void
xsyslog
(
BIO
*
bp
,
int
priority
,
const
char
*
string
)
{
LPCSTR
lpszStrings
[
2
];
WORD
evtype
=
EVENTLOG_ERROR_TYPE
;
int
pid
=
_getpid
();
char
pidbuf
[
DECIMAL_SIZE
(
pid
)
+
4
];
char
pidbuf
[
DECIMAL_SIZE
(
DWORD
)
+
4
];
if
(
bp
->
ptr
==
NULL
)
return
;
switch
(
priority
)
{
...
...
@@ -301,19 +273,18 @@ static void xsyslog(BIO *bp, int priority, const char *string)
break
;
}
sprintf
(
pidbuf
,
"[%
d] "
,
pid
);
sprintf
(
pidbuf
,
"[%
u] "
,
GetCurrentProcessId
()
);
lpszStrings
[
0
]
=
pidbuf
;
lpszStrings
[
1
]
=
string
;
if
(
report_event
&&
bp
->
ptr
)
report_event
(
bp
->
ptr
,
evtype
,
0
,
1024
,
NULL
,
2
,
0
,
ReportEventA
(
bp
->
ptr
,
evtype
,
0
,
1024
,
NULL
,
2
,
0
,
lpszStrings
,
NULL
);
}
static
void
xcloselog
(
BIO
*
bp
)
{
if
(
deregister_event_source
&&
bp
->
ptr
)
deregister_event_s
ource
((
HANDLE
)(
bp
->
ptr
));
if
(
bp
->
ptr
)
DeregisterEventS
ource
((
HANDLE
)(
bp
->
ptr
));
bp
->
ptr
=
NULL
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录