From a3a3e7bdd753d0da161a44d55b02fb5c46a559c2 Mon Sep 17 00:00:00 2001 From: Juergen Gross Date: Thu, 12 Mar 2026 16:51:02 +0100 Subject: [PATCH] tools/xs-clients: fix output of "xenstore-list -p /" When calling "xenstore-list -p /" it will prepend all listed keys with "//" instead of "/". Signed-off-by: Juergen Gross Reviewed-by: Andrew Cooper --- tools/xs-clients/xenstore_client.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tools/xs-clients/xenstore_client.c b/tools/xs-clients/xenstore_client.c index b02597a506..9a25704b91 100644 --- a/tools/xs-clients/xenstore_client.c +++ b/tools/xs-clients/xenstore_client.c @@ -568,13 +568,17 @@ perform(enum mode mode, int optind, int argc, char **argv, struct xs_handle *xsh case MODE_list: { unsigned int i, num; char **list = xs_directory(xsh, xth, argv[optind], &num); + const char *pref = argv[optind]; + if (list == NULL) { warnx("could not list path %s", argv[optind]); return 1; } + if (prefix && !strcmp(pref, "/")) + pref = ""; for (i = 0; i < num; i++) { if (prefix) - output("%s/", argv[optind]); + output("%s/", pref); output("%s\n", list[i]); } free(list);