filt_arc4.c.svn-base

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

SVN-BASE
48
字号
#include "fitz-base.h"#include "fitz-stream.h"typedef struct fz_arc4c_s fz_arc4c;struct fz_arc4c_s{	fz_filter super;	fz_arc4 arc4;};fz_error *fz_newarc4filter(fz_filter **fp, unsigned char *key, unsigned keylen){	FZ_NEWFILTER(fz_arc4c, f, arc4filter);	fz_arc4init(&f->arc4, key, keylen);	return fz_okay;}voidfz_droparc4filter(fz_filter *f){}fz_error *fz_processarc4filter(fz_filter *filter, fz_buffer *in, fz_buffer *out){	fz_arc4c *f = (fz_arc4c*)filter;	int n;	while (1)	{		if (in->rp + 1 > in->wp) {			if (in->eof)				return fz_iodone;			return fz_ioneedin;		}		if (out->wp + 1 > out->ep)			return fz_ioneedout;		n = MIN(in->wp - in->rp, out->ep - out->wp);		fz_arc4encrypt(&f->arc4, out->wp, in->rp, n);		in->rp += n;		out->wp += n;	}}

⌨️ 快捷键说明

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