More functions for IRI manipulation.
[cascardo/atompub.git] / iri / iri.c
index 55803f4..d60a853 100644 (file)
--- a/iri/iri.c
+++ b/iri/iri.c
@@ -19,6 +19,8 @@
 
 #include <atompub/atom.h>
 
+#include <glib.h>
+
 struct _iri
 {
   char *scheme;
@@ -26,10 +28,28 @@ struct _iri
   char *path;
 };
 
+IRI *
+iri_new ()
+{
+  IRI *iri;
+  iri = g_slice_new (IRI);
+  iri->scheme = NULL;
+  iri->host = NULL;
+  iri->path = NULL;
+  return iri;
+}
+
 char *
 iri_get_path (IRI *iri)
 {
   return iri->path;
 }
 
-#endif
+void
+iri_set_path (IRI *iri, char *path)
+{
+  if (iri->path)
+    g_free (iri->path);
+  iri->path = g_strdup (path);
+}
+