_dbus_write_uuid_file: factor out function to write a known UUID
authorSimon McVittie <simon.mcvittie@collabora.co.uk>
Fri, 25 Apr 2014 17:30:19 +0000 (18:30 +0100)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Mon, 28 Apr 2014 13:59:29 +0000 (14:59 +0100)
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77941
Reviewed-by: Lennart Poettering
dbus/dbus-internals.c
dbus/dbus-internals.h

index e248259..575a087 100644 (file)
@@ -745,10 +745,18 @@ _dbus_read_uuid_file_without_creating (const DBusString *filename,
   return FALSE;
 }
 
-static dbus_bool_t
-_dbus_create_uuid_file_exclusively (const DBusString *filename,
-                                    DBusGUID         *uuid,
-                                    DBusError        *error)
+/**
+ * Write the give UUID to a file.
+ *
+ * @param filename the file to write
+ * @param uuid the UUID to save
+ * @param error used to raise an error
+ * @returns #FALSE on error
+ */
+dbus_bool_t
+_dbus_write_uuid_file (const DBusString *filename,
+                       const DBusGUID   *uuid,
+                       DBusError        *error)
 {
   DBusString encoded;
 
@@ -757,8 +765,6 @@ _dbus_create_uuid_file_exclusively (const DBusString *filename,
       _DBUS_SET_OOM (error);
       return FALSE;
     }
-
-  _dbus_generate_uuid (uuid);
   
   if (!_dbus_uuid_encode (uuid, &encoded))
     {
@@ -825,7 +831,8 @@ _dbus_read_uuid_file (const DBusString *filename,
   else
     {
       dbus_error_free (&read_error);
-      return _dbus_create_uuid_file_exclusively (filename, uuid, error);
+      _dbus_generate_uuid (uuid);
+      return _dbus_write_uuid_file (filename, uuid, error);
     }
 }
 
index c5a3c9b..c64d756 100644 (file)
@@ -361,6 +361,10 @@ dbus_bool_t _dbus_read_uuid_file (const DBusString *filename,
                                   dbus_bool_t       create_if_not_found,
                                   DBusError        *error);
 
+dbus_bool_t _dbus_write_uuid_file (const DBusString *filename,
+                                   const DBusGUID   *uuid,
+                                   DBusError        *error);
+
 dbus_bool_t _dbus_get_local_machine_uuid_encoded (DBusString *uuid_str);
 
 #define _DBUS_PASTE2(a, b) a ## b