]> git.datanom.net - vcard-parser.git/blob - example/vcard-example.c
New function
[vcard-parser.git] / example / vcard-example.c
1 #ifdef HAVE_CONFIG_H
2 # include "config.h"
3 #endif
4
5 #include <stdio.h>
6 #include <glib.h>
7 #include <globals.h>
8 #include "vcard.h"
9
10 int main(int argc, char *argv[]) {
11 GError* err = NULL;
12 gchar* buffer = NULL;
13 int args;
14
15 if (argc > 1) {
16 for (args = 1; args < argc; args++) {
17 g_file_get_contents(argv[args], &buffer, NULL, &err);
18
19 if (err) {
20 fprintf(stderr, "%s\n", err->message);
21 g_error_free(err);
22 return 1;
23 }
24
25 GSList* list = VCard_new_from_text(buffer, VCARD_VERSION_DETECT, FALSE);
26 g_free(buffer);
27 buffer = NULL;
28 GSList* tmp = list;
29 while (tmp) {
30 VCard* vc = (VCard*) tmp->data;
31 gchar* state = VCard_get_state(vc);
32 if (g_strcmp0("OK", state) != 0)
33 fprintf(stderr, "%s\n", state);
34 g_free(state);
35
36 g_print("Search property ADR in vCard\n");
37 GSList* prop = VCard_get_property(vc, "ADR");
38 for (GSList* iter = prop; iter; iter = g_slist_next(iter)) {
39 gchar* s = (gchar*) iter->data;
40 g_print("%s\n", s);
41 g_free(s);
42 }
43 g_slist_free(prop);
44 tmp = tmp->next;
45 }
46 VCard_print_list(list);
47 g_print("\n");
48 VCard_list_free(list);
49 }
50 } else {
51 g_print("Mising file argument(s)\n");
52 g_print("Usage: %s file [file ..]\n", argv[0]);
53 }
54
55 return 0;
56 }
This page took 0.061526 seconds and 6 git commands to generate.