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

📄 check-65.c

📁 RSA加密/解密算法源码 asn1c-0.9.12
💻 C
字号:
#undef	NDEBUG#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <string.h>#include <assert.h>#include <T.h>#include <T1.h>uint8_t buf1[] = {	32 | ((2 << 6) + 2),	/* [2], constructed */	6,	32 | ((2 << 6) + 3),	/* [3], constructed */	4,	32 | ((2 << 6) + 4),	/* [4], constructed */	2,	0  | ((2 << 6) + 6),	/* [6], primitive */	0};uint8_t buf2[] = {	32 | ((2 << 6) + 0),	/* [0], constructed */	23,	32 | ((2 << 6) + 1),	/* [1], constructed */	6,	32 | ((2 << 6) + 4),	/* [4], constructed */	4,	0  | ((2 << 6) + 6),	/* [6], primitive */	2,  0xC0,  0x00,	32 | ((2 << 6) + 2),	/* [2], constructed */	6,	32 | ((2 << 6) + 4),	/* [4], constructed */	4,	0  | ((2 << 6) + 6),	/* [6], primitive */	2,  0x80,  0x00,	32 | ((2 << 6) + 3),	/* [3], constructed */	5,	0  | ((2 << 6) + 6),	/* [6], primitive */	3,  0x80,  0x01,  0x02,};static voidcheck_1(int is_ok, uint8_t *buf, int size, size_t consumed) {	asn_TYPE_descriptor_t *td = &asn_DEF_T1;	asn_dec_rval_t rval;	T1_t t, *tp;	tp = memset(&t, 0, sizeof(t));	fprintf(stderr, "Buf %p\n", buf);	rval = ber_decode(0, td, (void **)&tp, buf, size);	fprintf(stderr, "Returned code %d, consumed %d\n",		(int)rval.code, (int)rval.consumed);	if(is_ok) {		assert(rval.code == RC_OK);		assert(rval.consumed == consumed);	} else {		if(rval.code == RC_OK) {		}		assert(rval.consumed <= consumed);	}}static voidcheck_2(int is_ok, uint8_t *buf, int size, size_t consumed) {	asn_TYPE_descriptor_t *td = &asn_DEF_T;	asn_dec_rval_t rval;	T_t t, *tp;	tp = memset(&t, 0, sizeof(t));	fprintf(stderr, "Buf %p\n", buf);	rval = ber_decode(0, td, (void **)&tp, buf, size);	fprintf(stderr, "Returned code %d, consumed %d\n",		(int)rval.code, (int)rval.consumed);	if(is_ok) {		assert(rval.code == RC_OK);		assert(rval.consumed == consumed);	} else {		if(rval.code == RC_OK) {		}		assert(rval.consumed <= consumed);	}}intmain(int ac, char **av) {	(void)ac;	/* Unused argument */	(void)av;	/* Unused argument */	check_1(1, buf1, sizeof(buf1), sizeof(buf1));	check_1(0, buf1, sizeof(buf1) - 1, sizeof(buf1) - 1);	check_2(1, buf2, sizeof(buf2), sizeof(buf2));	check_2(0, buf2, sizeof(buf2) - 1, sizeof(buf2) - 1);	return 0;}

⌨️ 快捷键说明

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