]> git.datanom.net - vcard-parser.git/blobdiff - example/vcard-example.c
Completed initialization
[vcard-parser.git] / example / vcard-example.c
index 254bca4cc31e62f4f1d2ddf2ce21a71669c9ad3b..43e5b2d22fae20abe850222308fc3522ec9f4a2b 100644 (file)
@@ -1,5 +1,56 @@
-# include <vcard.h>
+#ifdef HAVE_CONFIG_H
+#  include "config.h"
+#endif
+
+#include <stdio.h>
+#include <glib.h>
+#include <globals.h>
+#include "vcard.h"
+
+int main(int argc, char *argv[]) {
+       GError* err = NULL;
+    gchar* buffer = NULL;
+    int args;
+
+       if (argc > 1) {
+               for (args = 1; args < argc; args++) {
+                       g_file_get_contents(argv[args], &buffer, NULL, &err);
+
+                       if (err) {
+                               fprintf(stderr, "%s\n", err->message);
+                               g_error_free(err);
+                               return 1;
+                       }
+
+                       GSList* list = VCard_new_from_text(buffer, VCARD_VERSION_DETECT, FALSE);
+                       g_free(buffer);
+                       buffer = NULL;
+                       GSList* tmp = list;
+                       while (tmp) {
+                               VCard* vc = (VCard*) tmp->data;
+                               gchar* state = VCard_get_state(vc);
+                               if (g_strcmp0("OK", state) != 0)
+                                       fprintf(stderr, "%s\n", state);
+                               g_free(state);
+
+                               g_print("Search property ADR in vCard\n");
+                               GSList* prop = VCard_get_property(vc, "ADR");
+                               for (GSList* iter = prop; iter; iter = g_slist_next(iter)) {
+                                       gchar* s = (gchar*) iter->data;
+                                       g_print("%s\n", s);
+                                       g_free(s);
+                               }
+                               g_slist_free(prop);
+                               tmp = tmp->next;
+                       }
+                       VCard_print_list(list);
+                       g_print("\n");
+                       VCard_list_free(list);
+               }
+       } else {
+               g_print("Mising file argument(s)\n");
+               g_print("Usage: %s file [file ..]\n", argv[0]);
+       }
 
-int main() {
     return 0;
 }
This page took 0.030782 seconds and 5 git commands to generate.