From 76641edfa227b8ff9ce52357d5681fd6ec90e250 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 12 Oct 2023 15:07:07 +0200 Subject: [PATCH] varlinkctl: generate slightly more useful error messages --- src/varlinkctl/varlinkctl.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/varlinkctl/varlinkctl.c b/src/varlinkctl/varlinkctl.c index a656bfcaf00..33c85b87ff3 100644 --- a/src/varlinkctl/varlinkctl.c +++ b/src/varlinkctl/varlinkctl.c @@ -475,12 +475,20 @@ static int verb_validate_idl(int argc, char *argv[], void *userdata) { } r = varlink_idl_parse(text, &line, &column, &vi); + if (r == -EBADMSG) + return log_error_errno(r, "%s:%u:%u: Bad syntax.", fname, line, column); + if (r == -ENETUNREACH) + return log_error_errno(r, "%s:%u:%u: Failed to parse interface description due an unresolved type.", fname, line, column); if (r < 0) return log_error_errno(r, "%s:%u:%u: Failed to parse interface description: %m", fname, line, column); r = varlink_idl_consistent(vi, LOG_ERR); + if (r == -EUCLEAN) + return log_error_errno(r, "Interface is inconsistent."); + if (r == -ENOTUNIQ) + return log_error_errno(r, "Field or symbol not unique in interface."); if (r < 0) - return r; + return log_error_errno(r, "Failed to check interface for consistency: %m"); pager_open(arg_pager_flags); -- 2.47.3