stm_filter.c
来自「SumatraPDF是一款小型开源的pdf阅读工具。虽然玲珑小巧(只有800多K」· C语言 代码 · 共 62 行
C
62 行
#include "fitz-base.h"#include "fitz-stream.h"fz_error fz_kioneedin = { "<ioneedin>", "<internal>", "<internal>", 0, nil };fz_error fz_kioneedout = { "<ioneedout>", "<internal>", "<internal>", 0, nil };fz_error fz_kiodone = { "<iodone>", "<internal>", "<internal>", 0, nil };fz_error *fz_process(fz_filter *f, fz_buffer *in, fz_buffer *out){ fz_error *reason; unsigned char *oldrp; unsigned char *oldwp; assert(!out->eof); oldrp = in->rp; oldwp = out->wp; if (f->done) return fz_iodone; reason = f->process(f, in, out); assert(in->rp <= in->wp); assert(out->wp <= out->ep); f->consumed = in->rp > oldrp; f->produced = out->wp > oldwp; f->count += out->wp - oldwp; /* iodone or error */ if (reason != fz_ioneedin && reason != fz_ioneedout) { if (reason != fz_iodone) reason = fz_rethrow(reason, "cannot process filter"); out->eof = 1; f->done = 1; } return reason;}fz_filter *fz_keepfilter(fz_filter *f){ f->refs ++; return f;}voidfz_dropfilter(fz_filter *f){ if (--f->refs == 0) { if (f->drop) f->drop(f); fz_free(f); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?