vf_parse_init3
Vf_parse_init()
Usage
#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. |
Overview
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) until the final call to vf_parse_end() => after a vf_parse_init() you _must_ vf_parse_end().
Returns
TRUE iff parser allocated successfully.
Releases
10 releases since Debian 3.1 (Sarge); the text changed 2 times.