vasyslog.c

可変数引数のシステムログライブラリ [詳細]

#include <t_services.h>
#include <stdarg.h>

vasyslog.cのインクルード依存関係図

ソースコードを見る。

関数

ER syslog (UINT prio, const char *format,...)


説明

可変数引数のシステムログライブラリ

vasyslog.c で定義されています。


関数

ER syslog ( UINT  prio,
const char *  format,
  ... 
)

vasyslog.c49 行で定義されています。

参照先 FALSELOG_TYPE_COMMENTSYSLOG::loginfoSYSLOG::logtypeTMAX_LOGINFOTRUEvwri_log().

00050 {
00051         SYSLOG  log;
00052         va_list ap;
00053         int     i;
00054         int     c;
00055         BOOL    lflag;
00056 
00057         log.logtype = LOG_TYPE_COMMENT;
00058         log.loginfo[0] = (VP_INT) format;
00059         i = 1;
00060         va_start(ap, format);
00061 
00062         while ((c = *format++) != '\0' && i < TMAX_LOGINFO) {
00063                 if (c != '%') {
00064                         continue;
00065                 }
00066 
00067                 lflag = FALSE;
00068                 c = *format++;
00069                 while ('0' <= c && c <= '9') {
00070                         c = *format++;
00071                 }
00072                 if (c == 'l') {
00073                         lflag = TRUE;
00074                         c = *format++;
00075                 }
00076                 switch (c) {
00077                 case 'd':
00078                         log.loginfo[i++] = lflag ?
00079                                         (VP_INT) va_arg(ap, long) :
00080                                         (VP_INT) va_arg(ap, int);
00081                         break;
00082                 case 'u':
00083                 case 'x':
00084                 case 'X':
00085                         log.loginfo[i++] = lflag ?
00086                                         (VP_INT) va_arg(ap, unsigned long) :
00087                                         (VP_INT) va_arg(ap, unsigned int);
00088                         break;
00089                 case 'p':
00090                         log.loginfo[i++] = (VP_INT) va_arg(ap, void *);
00091                         break;
00092                 case 'c':
00093                         log.loginfo[i++] = (VP_INT) va_arg(ap, int);
00094                         break;
00095                 case 's':
00096                         log.loginfo[i++] = (VP_INT) va_arg(ap, const char *);
00097                         break;
00098                 case '\0':
00099                         format--;
00100                         break;
00101                 default:
00102                         break;
00103                 }
00104         }
00105         va_end(ap);
00106         return(vwri_log(prio, &log));
00107 }

関数の呼び出しグラフ:


Copyright © 2006 by TAKAGI Nobuhisa.
Copyright © 2006 by Kijineko Inc..
このページは Mon Dec 18 17:21:13 2006 に Doxygen によって生成されました。
データ入力からプログラム開発まで!様々なスキルを持ったメンバーが登録しています【@SOHO】