|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
通常来讲,非常实用,不用模板创建的话,也可以直接复制粘贴进去使用哦!
, S) R! `% ?9 s" j4 R# H; M# g& |$ [0 g' J' n
[mw_shl_code=c,true]
. f& E( ^1 a& X1 L+ ^+ i#include <stdarg.h>" u, G( G. p! I: u
& _+ d2 a# Q! b4 R% P2 Y( a% x
static void ECHO(const char *format, ...)
+ t, a. t$ ]# P! s k1 S" z4 N{/ Q% \ N! p! i2 F$ H" @4 Q: X( J P
char msg[UF_UI_MAX_STRING_LEN+1];5 X7 E1 Y- W3 f2 R. G; W% Y3 R
va_list args;
8 f3 |0 J1 O$ b8 B v" P va_start(args, format);
5 t# G N5 K: i" v& y) r/ J/ V* { vsnprintf(msg, sizeof(msg), format, args);
' K9 L$ S6 G8 h: T- p7 p; m va_end(args);/ }/ o" c S1 j3 T+ s$ Q
UF_UI_open_listing_window();
# [; L7 ]* m: m! P9 { UF_UI_write_listing_window(msg);: d4 t0 k" p7 S; Z8 Q
UF_print_syslog(msg, FALSE);
- O0 T8 j7 `- \: O/ m}
! T. b* I& G/ O7 s9 u }8 z# f
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))7 F/ Y; ~0 ]$ o9 B. K& d
# \0 U9 y1 Z9 ^/ H* k2 [static int report_error( const char *file, int line, const char *call, int irc)
, E, v4 l2 _2 ?5 }% {{! j, ^0 ^6 j$ w3 S P$ f8 g: ?! T
if (irc)
$ b) G4 |* S7 a/ Y2 K {" P0 I% K- y7 {3 P7 N6 i. Y
char err[133];# Q `5 U" e5 K( \1 \
1 ^2 m2 S' K, e/ M* z* F" g5 Z
UF_get_fail_message(irc, err);7 T' Z' _8 y% N4 O9 _# z. q/ ?
ECHO("*** ERROR code %d at line %d in %s:\n",. s0 U m- j$ `5 D ]: K' [" q8 `
irc, line, file);8 m2 Q/ u5 N$ H. t, q% c
ECHO("+++ %s\n", err);
/ d9 f! _5 V/ a4 p, Y% B" O9 f P ECHO("%s;\n", call);% e: i5 Y, R3 \5 R& T9 ^6 l. Z7 Q1 e
}) Z- ^. s' s0 _5 O! }* ]
! B& H+ U9 b' t, o return(irc);
1 Q. U! h+ \: Z9 d$ m( H( c$ @}[/mw_shl_code]2 X" h* l9 I( ?& B
9 M0 q, L1 J6 s& F4 M% m. i2 G |
|