From 668e80a7ec02e0f550a94dca8fd82e70e9ea4ccd Mon Sep 17 00:00:00 2001 From: geommer Date: Wed, 23 Mar 2016 11:13:14 +0200 Subject: [PATCH] set correct length for monitor name. Fixes #36 --- src/ya_exec.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ya_exec.c b/src/ya_exec.c index 9561e65..91071c9 100644 --- a/src/ya_exec.c +++ b/src/ya_exec.c @@ -621,6 +621,7 @@ int ya_init_randr() { ya_monitor_t *tmpmon; char *tname; + int tname_len; for (int i=0; i < mon_num; i++) { op_reply = xcb_randr_get_output_info_reply(ya.c, @@ -635,14 +636,15 @@ int ya_init_randr() { tmpmon->pos = (xcb_rectangle_t){crtc_reply->x, crtc_reply->y, crtc_reply->width, crtc_reply->height}; tname = (char *)xcb_randr_get_output_info_name(op_reply); - strncpy(tmpmon->name, tname, CMONLEN); + tname_len = xcb_randr_get_output_info_name_length(op_reply); + strncpy(tmpmon->name, tname, tname_len); tmpmon->name[CMONLEN-1] = '\0'; if (ya.curmon) { ya.curmon->next_mon = tmpmon; tmpmon->prev_mon = ya.curmon; } ya.curmon = tmpmon; - //printf("%s %d %d %d %d\n", tmpmon->name, tmpmon->pos.x, + //printf("%s %d %d %d %d %d\n", tmpmon->name, tname_len, tmpmon->pos.x, // tmpmon->pos.y, tmpmon->pos.width, tmpmon->pos.height); } return 0;