More functions for IRI manipulation.
authorThadeu Lima de Souza Cascardo <cascardo@minaslivre.org>
Sat, 26 Jan 2008 23:36:19 +0000 (21:36 -0200)
committerThadeu Lima de Souza Cascardo <cascardo@minaslivre.org>
Sat, 26 Jan 2008 23:36:19 +0000 (21:36 -0200)
include/atompub/iri.h
iri/iri.c

index ffc377e..c2e09ee 100644 (file)
@@ -24,6 +24,8 @@
 
 typedef struct _iri IRI;
 
+IRI * iri_new ();
 char * iri_get_path (IRI *);
+void iri_set_path (IRI *, char *);
 
 #endif
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);
+}
+