source: anotherchoice/tags/jsp-1.4.4-full-UTF8/library/vasyslog.c@ 26

Last change on this file since 26 was 26, checked in by ykominami, 10 years ago

initial

File size: 3.8 KB
Line 
1/*
2 * TOPPERS/JSP Kernel
3 * Toyohashi Open Platform for Embedded Real-Time Systems/
4 * Just Standard Profile Kernel
5 *
6 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
7 * Toyohashi Univ. of Technology, JAPAN
8 * Copyright (C) 2004-2005 by Embedded and Real-Time Systems Laboratory
9 * Graduate School of Information Science, Nagoya Univ., JAPAN
10 *
11 * 上記著作権者
12は,以下の (1)〜(4) の条件か,Free Software Foundation
13 * によってå…
14¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public License の Version 2 に記
15 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
16 * を改変したものを含む.以下同じ)を使用・複製・改変・再é…
17å¸ƒï¼ˆä»¥ä¸‹ï¼Œ
18 * 利用と呼ぶ)することを無償で許諾する.
19 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
20 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
21 * スコード中に含まれていること.
22 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
23 * 用できる形で再é…
24å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
25å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
26 * 者
27マニュアルなど)に,上記の著作権表示,この利用条件および下記
28 * の無保証規定を掲載すること.
29 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
30 * 用できない形で再é…
31å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
32 * と.
33 * (a) 再é…
34å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
35マニュアルなど)に,上記の著
36 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
37 * (b) 再é…
38å¸ƒã®å½¢æ…
39‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
40 * 報告すること.
41 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
42 * 害からも,上記著作権者
43およびTOPPERSプロジェクトをå…
44è²¬ã™ã‚‹ã“と.
45 *
46 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
47お
48 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
49 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
50 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
51 *
52 * @(#) $Id: vasyslog.c,v 1.7 2005/11/24 11:46:02 hiro Exp $
53 */
54
55/*
56 * 可変数引数のシステムログライブラリ
57 */
58
59#include <t_services.h>
60#include <stdarg.h>
61
62ER
63syslog(UINT prio, const char *format, ...)
64{
65 SYSLOG log;
66 va_list ap;
67 int i;
68 int c;
69 BOOL lflag;
70
71 log.logtype = LOG_TYPE_COMMENT;
72 log.loginfo[0] = (VP_INT) format;
73 i = 1;
74 va_start(ap, format);
75
76 while ((c = *format++) != '\0' && i < TMAX_LOGINFO) {
77 if (c != '%') {
78 continue;
79 }
80
81 lflag = FALSE;
82 c = *format++;
83 while ('0' <= c && c <= '9') {
84 c = *format++;
85 }
86 if (c == 'l') {
87 lflag = TRUE;
88 c = *format++;
89 }
90 switch (c) {
91 case 'd':
92 log.loginfo[i++] = lflag ?
93 (VP_INT) va_arg(ap, long) :
94 (VP_INT) va_arg(ap, int);
95 break;
96 case 'u':
97 case 'x':
98 case 'X':
99 log.loginfo[i++] = lflag ?
100 (VP_INT) va_arg(ap, unsigned long) :
101 (VP_INT) va_arg(ap, unsigned int);
102 break;
103 case 'p':
104 log.loginfo[i++] = (VP_INT) va_arg(ap, void *);
105 break;
106 case 'c':
107 log.loginfo[i++] = (VP_INT) va_arg(ap, int);
108 break;
109 case 's':
110 log.loginfo[i++] = (VP_INT) va_arg(ap, const char *);
111 break;
112 case '\0':
113 format--;
114 break;
115 default:
116 break;
117 }
118 }
119 va_end(ap);
120 return(vwri_log(prio, &log));
121}
Note: See TracBrowser for help on using the repository browser.