(decode_unsigned): add
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@8126 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 1998, 1999 Kungliga Tekniska H<>gskolan
|
* Copyright (c) 1997 - 2000 Kungliga Tekniska H<>gskolan
|
||||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -224,6 +224,33 @@ decode_integer (const unsigned char *p, size_t len,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
decode_unsigned (const unsigned char *p, size_t len,
|
||||||
|
unsigned *num, size_t *size)
|
||||||
|
{
|
||||||
|
size_t ret = 0;
|
||||||
|
size_t l, reallen;
|
||||||
|
int e;
|
||||||
|
|
||||||
|
e = der_match_tag (p, len, UNIV, PRIM, UT_Integer, &l);
|
||||||
|
if (e) return e;
|
||||||
|
p += l;
|
||||||
|
len -= l;
|
||||||
|
ret += l;
|
||||||
|
e = der_get_length (p, len, &reallen, &l);
|
||||||
|
if (e) return e;
|
||||||
|
p += l;
|
||||||
|
len -= l;
|
||||||
|
ret += l;
|
||||||
|
e = der_get_unsigned (p, reallen, num, &l);
|
||||||
|
if (e) return e;
|
||||||
|
p += l;
|
||||||
|
len -= l;
|
||||||
|
ret += l;
|
||||||
|
if(size) *size = ret;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
decode_general_string (const unsigned char *p, size_t len,
|
decode_general_string (const unsigned char *p, size_t len,
|
||||||
general_string *str, size_t *size)
|
general_string *str, size_t *size)
|
||||||
|
Reference in New Issue
Block a user