⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wbxml_log.c

📁 WAP Binary XML 简单地说
💻 C
字号:
/* * libwbxml, the WBXML Library. * Copyright (C) 2002-2005 Aymerick Jehanne <aymerick@jehanne.org> *  * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. *  * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. *  * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA *  * LGPL v2.1: http://www.gnu.org/copyleft/lesser.txt *  * Contact: libwbxml@aymerick.com * Home: http://libwbxml.aymerick.com */ /** * @file wbxml_log.c * @ingroup wbxml_log * * @author Aymerick Jehanne <libwbxml@aymerick.com> * @date 02/12/04 * * @brief Log Functions */#include "wbxml.h"#if defined( WBXML_LIB_VERBOSE ) && !defined( WBXML_USE_LEAKTRACKER )#include <stdlib.h>#include <stdio.h>#include <stdarg.h>/** Length of Log Buffer */#define WBXML_LOG_FORMAT_SIZE 1024/* Private Functions Prototypes */static void format_log_message(WB_TINY *buf, WB_UTINY type, const WB_TINY *fmt);static const WB_TINY *get_type(WB_UTINY type);/*************************************************** *    Public Functions */WBXML_DECLARE(void) wbxml_log_debug(WB_UTINY type, const WB_TINY *fmt, ...){    char buf[WBXML_LOG_FORMAT_SIZE];    va_list args;        format_log_message(buf, type, fmt);        va_start(args, fmt);    vfprintf(stderr, buf, args);       va_end(args);}WBXML_DECLARE(void) wbxml_log_warning(WB_UTINY type, const WB_TINY *fmt, ...){    char buf[WBXML_LOG_FORMAT_SIZE];    va_list args;        format_log_message(buf, type, fmt);        va_start(args, fmt);    vfprintf(stderr, buf, args);       va_end(args);}WBXML_DECLARE(void) wbxml_log_error(WB_UTINY type, const WB_TINY *fmt, ...){    char buf[WBXML_LOG_FORMAT_SIZE];    va_list args;        format_log_message(buf, type, fmt);        va_start(args, fmt);    vfprintf(stderr, buf, args);       va_end(args);}/*************************************************** *    Private Functions *//** * @brief Format a Log Message * @param buf [out] Resulting formated buffer * @param type [in] Type of Message * @param fmt [int] Message to format */static void format_log_message(WB_TINY *buf, WB_UTINY type, const WB_TINY *fmt){    WB_TINY *p, prefix[WBXML_LOG_FORMAT_SIZE];        p = prefix;        sprintf(p, "%s> ", get_type(type));        if (WBXML_STRLEN(prefix) + WBXML_STRLEN(fmt) > WBXML_LOG_FORMAT_SIZE / 2) {        sprintf(buf, "(LOG MESSAGE TOO LONG !)\n");        return;    }        sprintf(buf, "%s%s\n", prefix, fmt);    }/** * @brief Get a Message Type string * @param type [in] Type of Message * @return The string representation of the Message Type */static const WB_TINY *get_type(WB_UTINY type) {    switch (type)    {        case WBXML_PARSER:            return "WBXML Parser";                case WBXML_ENCODER:            return "WBXML Encoder";        case WBXML_CONV:            return "WBXML Converter";                default:            return "WBXML Unknown";    }}#endif /* WBXML_LIB_VERBOSE */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -