comp_lib.c

来自「开源的ssl算法openssl,版本0.9.8H」· C语言 代码 · 共 73 行

C
73
字号
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <openssl/objects.h>#include <openssl/comp.h>COMP_CTX *COMP_CTX_new(COMP_METHOD *meth)	{	COMP_CTX *ret;	if ((ret=(COMP_CTX *)OPENSSL_malloc(sizeof(COMP_CTX))) == NULL)		{		/* ZZZZZZZZZZZZZZZZ */		return(NULL);		}	memset(ret,0,sizeof(COMP_CTX));	ret->meth=meth;	if ((ret->meth->init != NULL) && !ret->meth->init(ret))		{		OPENSSL_free(ret);		ret=NULL;		}	return(ret);	}void COMP_CTX_free(COMP_CTX *ctx)	{	if(ctx == NULL)	    return;	if (ctx->meth->finish != NULL)		ctx->meth->finish(ctx);	OPENSSL_free(ctx);	}int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen,	     unsigned char *in, int ilen)	{	int ret;	if (ctx->meth->compress == NULL)		{		/* ZZZZZZZZZZZZZZZZZ */		return(-1);		}	ret=ctx->meth->compress(ctx,out,olen,in,ilen);	if (ret > 0)		{		ctx->compress_in+=ilen;		ctx->compress_out+=ret;		}	return(ret);	}int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen,	     unsigned char *in, int ilen)	{	int ret;	if (ctx->meth->expand == NULL)		{		/* ZZZZZZZZZZZZZZZZZ */		return(-1);		}	ret=ctx->meth->expand(ctx,out,olen,in,ilen);	if (ret > 0)		{		ctx->expand_in+=ilen;		ctx->expand_out+=ret;		}	return(ret);	}

⌨️ 快捷键说明

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