_g_dbus_get_machine_id (GError **error)
{
gchar *ret;
+ GError *first_error;
/* TODO: use PACKAGE_LOCALSTATEDIR ? */
ret = NULL;
+ first_error = NULL;
if (!g_file_get_contents ("/var/lib/dbus/machine-id",
&ret,
NULL,
- error))
+ &first_error) &&
+ !g_file_get_contents ("/etc/machine-id",
+ &ret,
+ NULL,
+ NULL))
{
- g_prefix_error (error, _("Unable to load /var/lib/dbus/machine-id: "));
+ g_propagate_prefixed_error (error, first_error,
+ _("Unable to load /var/lib/dbus/machine-id or /etc/machine-id: "));
}
else
{
+ /* ignore the error from the first try, if any */
+ g_clear_error (&first_error);
/* TODO: validate value */
g_strstrip (ret);
}