|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
通常来讲,非常实用,不用模板创建的话,也可以直接复制粘贴进去使用哦!
! X$ H( T/ A( ^! C+ q9 J9 n2 D& G" r+ x* O- K% A
[mw_shl_code=c,true]
; @6 ^, x# B% U6 Q#include <stdarg.h>
, r9 f' f0 E7 y( c- A0 X1 \7 A( i9 W
9 O8 Z' `) T) |! \5 m, vstatic void ECHO(const char *format, ...)6 D8 q o, W9 P: u- B# x' ?# v
{
6 R! K/ U' q8 k1 ~) {4 [1 H char msg[UF_UI_MAX_STRING_LEN+1];
% U% R. E# \& H/ y/ e" z2 J va_list args;; F0 m) G- C0 ^" B7 Q% y, y2 A
va_start(args, format);
' s* t3 ^: A2 j3 Z9 j1 w vsnprintf(msg, sizeof(msg), format, args);2 o2 [1 P/ D% r: W' }4 k' ?0 {6 H4 |
va_end(args);/ U9 |& n& [0 z9 ~; @* n
UF_UI_open_listing_window();
2 N3 }/ J( ^. Z5 _ UF_UI_write_listing_window(msg);
/ f. N& Z% Y; S2 H) e# e% Q UF_print_syslog(msg, FALSE);
* y- r$ t" I6 }- w# H8 s4 V* l3 b}& v6 i$ Q! v' n# u5 `" k" p
' N, d- c7 W u+ }
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))' T( \% }2 y" \; b
# A$ r1 |' Z2 ^" _2 F3 p2 r; J
static int report_error( const char *file, int line, const char *call, int irc)
$ _% h# O4 {9 P" ]{$ n2 h8 k: Q4 O% m- ?- H& R+ [" M
if (irc)3 F/ E! [8 y; a5 X6 v2 U7 B& P- V
{
6 U' H4 O. k! a0 I2 W5 z1 `0 r char err[133];
5 X+ @% ~: C, n( ]$ \+ o& g& p) E
% W1 P: G7 p% W& z& c$ { UF_get_fail_message(irc, err);
# Y; w, J+ b" I- H8 ^2 a: y ECHO("*** ERROR code %d at line %d in %s:\n",7 u7 u; k5 j! ^; X9 z' P; I; g1 b
irc, line, file);
* [1 @. o$ O5 m" D/ t4 P; V6 ` ECHO("+++ %s\n", err);$ q5 N3 L$ v. |$ R. ?6 e' I) Y& B
ECHO("%s;\n", call);
9 [! g4 n4 ^8 n) d5 h9 a }0 K, C4 N* Q) c1 d3 o* b( X
8 ]( m% h7 s2 h% D* L5 I. c return(irc);
& Q8 a5 [. H& j+ a& ?}[/mw_shl_code]; _ l) e: j- |
8 l" B% ]2 ^ \# L, ?4 A
|
|