From e0d6f79eb246123f6920bb437e0acb68a5181105 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Mon, 10 Mar 1997 00:43:36 +0000 Subject: [PATCH] (der_match_tag_and_length): new function git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@1345 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/asn1/der_get.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/lib/asn1/der_get.c b/lib/asn1/der_get.c index 9563a17c0..d738cde42 100644 --- a/lib/asn1/der_get.c +++ b/lib/asn1/der_get.c @@ -6,7 +6,6 @@ #include #include #include -#include #include "der.h" /* @@ -127,6 +126,29 @@ der_match_tag (unsigned char *p, int len, Der_class class, Der_type type, return -1; } +int +der_match_tag_and_length (unsigned char *p, int len, + Der_class class, Der_type type, int tag, + int *length_ret) +{ + int ret = 0; + int l; + + l = der_match_tag (p, len, class, type, tag); + if (l < 0) + return l; + p += l; + len -= l; + ret += l; + l = der_get_length (p, len, length_ret); + if (l < 0) + return l; + p += l; + len -= l; + ret += l; + return ret; +} + int decode_integer (unsigned char *p, int len, unsigned *num) {