X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flibsystemd-bus%2Fbus-introspect.c;h=92deb75dfdcb747ff16c4bcf363226a1c34bf4c9;hp=8dc9a2de1550cb7a374a44e2353dfa713b931a67;hb=40ca29a1370379d43e44c0ed425eecc7218dcbca;hpb=29ddb38fea134c6132e4f2dd608e9da3871eaebe diff --git a/src/libsystemd-bus/bus-introspect.c b/src/libsystemd-bus/bus-introspect.c index 8dc9a2de1..92deb75df 100644 --- a/src/libsystemd-bus/bus-introspect.c +++ b/src/libsystemd-bus/bus-introspect.c @@ -103,9 +103,9 @@ static int introspect_write_arguments(struct introspect *i, const char *signatur fprintf(i->f, " f, " direction=\"%s\">\n", direction); + fprintf(i->f, " direction=\"%s\"/>\n", direction); else - fputs(">\n", i->f); + fputs("/>\n", i->f); signature += l; } @@ -128,9 +128,9 @@ int introspect_write_interface(struct introspect *i, const char *interface, cons break; case _SD_BUS_VTABLE_METHOD: - fprintf(i->f, " \n", v->method.member); - introspect_write_arguments(i, v->method.signature, "in"); - introspect_write_arguments(i, v->method.result, "out"); + fprintf(i->f, " \n", v->x.method.member); + introspect_write_arguments(i, strempty(v->x.method.signature), "in"); + introspect_write_arguments(i, strempty(v->x.method.result), "out"); introspect_write_flags(i, v->type, v->flags); fputs(" \n", i->f); break; @@ -138,16 +138,16 @@ int introspect_write_interface(struct introspect *i, const char *interface, cons case _SD_BUS_VTABLE_PROPERTY: case _SD_BUS_VTABLE_WRITABLE_PROPERTY: fprintf(i->f, " \n", - v->property.member, - v->property.signature, + v->x.property.member, + v->x.property.signature, v->type == _SD_BUS_VTABLE_WRITABLE_PROPERTY ? "readwrite" : "read"); introspect_write_flags(i, v->type, v->flags); fputs(" \n", i->f); break; case _SD_BUS_VTABLE_SIGNAL: - fprintf(i->f, " \n", v->signal.member); - introspect_write_arguments(i, v->signal.signature, NULL); + fprintf(i->f, " \n", v->x.signal.member); + introspect_write_arguments(i, strempty(v->x.signal.signature), NULL); introspect_write_flags(i, v->type, v->flags); fputs(" \n", i->f); break;