X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-bus%2Fbus-introspect.c;h=9a49e431c0a4e124aab47ee453cdb5d9aef5c03f;hb=dd8243a3bad284e47714a407d7d9cfac7133f7a3;hp=c04d9b51f774cf71908bcf6355329993757a8e86;hpb=77a874a3fb6f65d2308c20827f005c43bb075752;p=elogind.git diff --git a/src/libsystemd-bus/bus-introspect.c b/src/libsystemd-bus/bus-introspect.c index c04d9b51f..9a49e431c 100644 --- a/src/libsystemd-bus/bus-introspect.c +++ b/src/libsystemd-bus/bus-introspect.c @@ -63,7 +63,7 @@ int introspect_write_child_nodes(struct introspect *i, Set *s, const char *prefi const char *e; e = object_path_startswith(node, prefix); - if (e) + if (e && e[0]) fprintf(i->f, " \n", e); free(node); @@ -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; } @@ -129,8 +129,8 @@ int introspect_write_interface(struct introspect *i, const char *interface, cons case _SD_BUS_VTABLE_METHOD: fprintf(i->f, " \n", v->x.method.member); - introspect_write_arguments(i, v->x.method.signature, "in"); - introspect_write_arguments(i, v->x.method.result, "out"); + 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; @@ -147,7 +147,7 @@ int introspect_write_interface(struct introspect *i, const char *interface, cons case _SD_BUS_VTABLE_SIGNAL: fprintf(i->f, " \n", v->x.signal.member); - introspect_write_arguments(i, v->x.signal.signature, NULL); + introspect_write_arguments(i, strempty(v->x.signal.signature), NULL); introspect_write_flags(i, v->type, v->flags); fputs(" \n", i->f); break;