base_error.c.svn-base

来自「SumatraPDF是一款小型开源的pdf阅读工具。虽然玲珑小巧(只有800多K」· SVN-BASE 代码 · 共 72 行

SVN-BASE
72
字号
#include "fitz-base.h"voidfz_droperror(fz_error *eo){    if (eo->cause)	fz_droperror(eo->cause);    fz_free(eo);}voidfz_printerror(fz_error *eo){#if 1    if (eo->cause)    {        fz_printerror(eo->cause);        fprintf(stderr, "| %s:%d: %s(): %s\n", eo->file, eo->line, eo->func, eo->msg);    }    else    {        fprintf(stderr, "+ %s:%d: %s(): %s\n", eo->file, eo->line, eo->func, eo->msg);    }#else    fprintf(stderr, "+ %s:%d: %s(): %s\n", eo->file, eo->line, eo->func, eo->msg);    eo = eo->cause;    while (eo)    {        fprintf(stderr, "| %s:%d: %s(): %s\n", eo->file, eo->line, eo->func, eo->msg);        eo = eo->cause;    }#endif}voidfz_warn(char *fmt, ...){    va_list ap;    fprintf(stderr, "warning: ");    va_start(ap, fmt);    vfprintf(stderr, fmt, ap);    va_end(ap);    fprintf(stderr, "\n");}fz_error *fz_throwimp(fz_error *cause, const char *func, const char *file, int line, char *fmt, ...){    va_list ap;    fz_error *eo;    eo = fz_malloc(sizeof(fz_error));    if (!eo)        return fz_outofmem; /* oops. we're *really* out of memory here. */    va_start(ap, fmt);    vsnprintf(eo->msg, sizeof eo->msg, fmt, ap);    eo->msg[sizeof(eo->msg) - 1] = '\0';    va_end(ap);    strlcpy(eo->func, func, sizeof eo->func);    strlcpy(eo->file, file, sizeof eo->file);    eo->line = line;    eo->cause = cause;    return eo;}

⌨️ 快捷键说明

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