SYNOPSIS
#include <shishi.h>int shishi_asn1_read_optional(Shishi * handle, Shishi_asn1 node, const char * field, char ** data, size_t * datalen);
ARGUMENTS
- 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.
DESCRIPTION
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.RETURN VALUE
Returns SHISHI_OK if successful, SHISHI_ASN1_NO_VALUE if the field has no value, ot SHISHI_ASN1_ERROR otherwise.REPORTING BUGS
Report bugs to <[email protected]>.COPYRIGHT
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.