.TH LIBCONTACTS_PARSE_CONTACT 3 LIBCONTACTS .SH NAME libcontacts_parse_contact \- Parse a contact file .SH SYNOPSIS .nf #include int libcontacts_parse_contact(char *\fIdata\fP, struct libcontacts_contact *\fIcontact\fP); .fi .PP Link with .IR -lcontacts . .SH DESCRIPTION The .BR libcontacts_parse_contact () function parses the content of a contact file. The file content shall be NUL-terminated and given in the .I data parameter. The resulting contact information will be stored in the .IR *contact . The user is responsable for deallocating the result when it's no longer needed, using the .BR libcontacts_contact_destroy (3) function, or manually with .BR free (3), and the various functions references in the .B SEE ALSO section. .PP Note that the file contents do not contain the contact ID, so .I contact->id will be set to .IR NULL . .PP Also note that the contents of .I data may be modified by the function during the execution of the function, it will however be restored before the function returns. .SH RETURN VALUE The .BR libcontacts_parse_contact () function returns 0 upon successful completion; otherwise -1 is returned and .I errno is set appropriately to indicate the error. .SH ERRORS The .BR libcontacts_parse_contact () function may fail for any reason specified for the .BR open_memstream (3) and .BR fprintf (3) (other than .IR EILSEQ ) functions. .SH SEE ALSO .BR libcontacts.h (0), .BR libcontacts (7) .BR libcontacts_load_contact (3), .BR libcontacts_format_contact (3), .BR libcontacts_get_file (3), .BR libcontacts_contact_destroy (3), .BR libcontacts_address_destroy (3), .BR libcontacts_birthday_destroy (3), .BR libcontacts_block_destroy (3), .BR libcontacts_chat_destroy (3), .BR libcontacts_email_destroy (3), .BR libcontacts_number_destroy (3), .BR libcontacts_organisation_destroy (3), .BR libcontacts_pgpkey_destroy (3), .BR libcontacts_site_destroy (3), .BR contacts (5),