Provided by: libvformat-dev_1.13-10_amd64
NAME
vf_parse_init - vf_parse_init()
SYNOPSIS
#include <../vformat/vf_iface.h> extern bool_t vf_parse_init ( VF_PARSER_T **pp_parser, VF_OBJECT_T **pp_object );
PARAMETERS
VF_PARSER_T **pp_parser Ptr to allocated parser. VF_OBJECT_T **pp_object The object we're parsing into.
DESCRIPTION
Allocate and initialise a parser. To parse a VCARD (or any vObject) a user allocates a parser, pushes data through it using vf_parse_text() and finally calls vf_parse_end(): VF_PARSER_T *p_parser; if (vf_parse_init(&p_parser, pp_object)) { do { char buffer[...]; Int numchars; numchars = get_chars_from_somewhere(buffer, ...); Ret = vf_parse_text(p_parser, buffer, numchars); } while (ret && (0 < charsread)) ; if (!vf_parse_end(p_parser)) { ret = FALSE; } } A parser allocated by vf_parse_init(), must be deallocated by calling vf_parse_end() whether or not parsing succeeds. Also, parsing may not be complete (ie. Values may be held buffered and not evaluated fully or assigned to a VF_OBJECT_T) untill the final call to vf_parse_end() => after a vf_parse_init() you _must_ vf_parse_end().
RETURNS
TRUE iff parser allocated successfully.
SEE ALSO
vf_parse_text(3), vf_parse_end(3), vf_read_file(3), vf_write_file(3), vf_get_next_object(3), vf_create_object(3), vf_get_object_type(3), vf_get_property(3), vf_get_property_ex(3), vf_get_next_property(3), vf_get_prop_value(3), vf_set_prop_value(3), vf_get_prop_value_string(3), vf_get_prop_name_string(3), vf_set_prop_name_string(3), vf_get_prop_name(3), vf_get_prop_value_object(3), vf_set_prop_value_object(3), vf_set_prop_value_string(3), vf_set_prop_value_base64(3), vf_get_prop_value_base64(3), vf_set_property_from_file(3), vf_delete_object(3), vf_delete_prop(3), vf_find_prop_qual_index(3), vf_is_modified(3), vf_find_charset(3), vf_date_string_to_time(3), vf_period_string_to_time(3), vf_period_time_to_string(3), vf_set_prop_value_time(3), vf_get_prop_value_time(3)