core: Remove newlines from modified description doc
authorZeeshan Ali (Khattak) <zeeshanak@gnome.org>
Wed, 15 Sep 2010 11:49:09 +0000 (14:49 +0300)
committerZeeshan Ali (Khattak) <zeeshanak@gnome.org>
Wed, 15 Sep 2010 11:57:22 +0000 (14:57 +0300)
libxml insists on adding a newline after the xml header node, don't
let it do that for the sake of IOP.

src/rygel/rygel-root-device-factory.vala

index 94bf6ca..3eb1ad4 100644 (file)
@@ -294,17 +294,26 @@ internal class Rygel.RootDeviceFactory {
 
     private void save_modified_desc (XMLDoc doc,
                                      string desc_path) throws GLib.Error {
-        FileStream f = FileStream.open (desc_path, "w+");
-        int res = -1;
+        var file = FileStream.open (desc_path, "w+");
 
-        if (f != null)
-            res = doc.doc.dump (f);
+        if (unlikely (file == null)) {
+            var message = _("Failed to write modified description to %s");
+
+            throw new IOError.FAILED (message, desc_path);
+        }
+
+        string mem = null;
+        int len = -1;
+        doc.doc.dump_memory_format (out mem, out len, false);
 
-        if (f == null || res == -1) {
+        if (unlikely (len <= 0)) {
             var message = _("Failed to write modified description to %s");
 
             throw new IOError.FAILED (message, desc_path);
         }
+
+        // Make sure we don't have any newlines
+        file.puts (mem.replace ("\n", ""));
     }
 
     private bool check_path_exist (string path) {