diff options
-rw-r--r-- | src/xkbtext.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/xkbtext.c b/src/xkbtext.c index 4459ca7..59429b2 100644 --- a/src/xkbtext.c +++ b/src/xkbtext.c @@ -190,14 +190,14 @@ XkbVModMaskText(Display * dpy, len = strlen(tmp) + 1 + (str == buf ? 0 : 1); if (format == XkbCFile) len += 4; - if ((str - (buf + len)) <= BUFFER_SIZE) { - if (str != buf) { - if (format == XkbCFile) - *str++ = '|'; - else - *str++ = '+'; - len--; - } + if ((str - buf) + len > BUFFER_SIZE) + continue; /* Skip */ + if (str != buf) { + if (format == XkbCFile) + *str++ = '|'; + else + *str++ = '+'; + len--; } if (format == XkbCFile) sprintf(str, "%sMask", tmp); |