chiark / gitweb /
bus: fix synthetic error messages
[elogind.git] / src / libsystemd-bus / bus-message.c
index 2cf1a7a538af3b3b0a9090b8d0a289b5e444c1ef..264a2f63f16b3ea4d5eb4623c5de7be49b81d385 100644 (file)
@@ -682,7 +682,6 @@ fail:
         return r;
 }
 
-
 int bus_message_new_synthetic_error(
                 sd_bus *bus,
                 uint64_t serial,
@@ -712,6 +711,16 @@ int bus_message_new_synthetic_error(
                         goto fail;
         }
 
+        r = message_append_field_string(t, SD_BUS_MESSAGE_HEADER_ERROR_NAME, SD_BUS_TYPE_STRING, e->name, &t->error.name);
+        if (r < 0)
+                goto fail;
+
+        if (e->message) {
+                r = message_append_basic(t, SD_BUS_TYPE_STRING, e->message, (const void**) &t->error.message);
+                if (r < 0)
+                        goto fail;
+        }
+
         *m = t;
         return 0;