shishi_asn1_read_optional(3) API function


#include <shishi.h>

int shishi_asn1_read_optional(Shishi * handle, Shishi_asn1 node, const char * field, char ** data, size_t * datalen);


Shishi * handle
shishi handle as allocated by shishi_init().
Shishi_asn1 node
ASN.1 variable to read field from.
const char * field
name of field in node to read.
char ** data
newly allocated output buffer that will hold ASN.1 field data.
size_t * datalen
actual size of output buffer.


Extract data stored in a ASN.1 field into a newly allocated buffer. If the field does not exist (i.e., SHISHI_ASN1_NO_ELEMENT), this function set datalen to 0 and succeeds. Can be useful to read ASN.1 fields which are marked OPTIONAL in the grammar, if you want to avoid special error handling in your code.


Returns SHISHI_OK if successful, SHISHI_ASN1_NO_VALUE if the field has no value, ot SHISHI_ASN1_ERROR otherwise.


Report bugs to <[email protected]>.


Copyright © 2002-2010 Simon Josefsson.
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.