Skip to content

Commit 5b3f25f

Browse files
authored
Fix display name parsing
Properly handle the screen number.
1 parent d2f26b5 commit 5b3f25f

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

xinfo.c

+8-4
Original file line numberDiff line numberDiff line change
@@ -462,10 +462,14 @@ static void parse_x_display_name(const char *full_name, char *hostname,
462462
*number = strtoul(curr, &end, 10);
463463
if (errno != 0)
464464
die("Invalid X display sequence number in display name");
465-
curr = end;
466-
*screen = strtoul(curr, 0, 10);
467-
if (errno != 0)
468-
die("Invalid X screen number in display name");
465+
if(*end == '\0') {
466+
*screen = 0;
467+
} else {
468+
curr = end + 1; /* Skip the dot */
469+
*screen = strtoul(curr, 0, 10);
470+
if (errno != 0)
471+
die("Invalid X screen number in display name");
472+
}
469473
}
470474

471475
static int get_socket_for_display(const char *full_display_name) {

0 commit comments

Comments
 (0)