Browse Source

Fix error handling in termo_strfkey()

If in any case snprintf() returned a negative value,
we would mishandle it.
master
Přemysl Eric Janouch 6 years ago
parent
commit
ef29b7587d
  1. 1
      README.adoc
  2. 4
      termo.c

1
README.adoc

@ -5,6 +5,7 @@ termo
input. ncurses does a really terrible job at that, mainly wrt. mouse support
which seems to be utterly broken. If you can drag things in a terminal
application, such as in VIM, I can assure you it's not using ncurses for that.
(At least not with ncurses older than 6.0.)
Since terminal I/O is really complicated and full of special cases, this project
doesn't aspire to also replace the output part of ncurses, but is rather

4
termo.c

@ -1444,7 +1444,7 @@ termo_strfkey (termo_t *tk, char *buffer, size_t len,
termo_key_t *key, termo_format_t format)
{
size_t pos = 0;
size_t l = 0;
int l = 0;
struct modnames *mods = &modnames[
!!(format & TERMO_FORMAT_LONGMOD) +
@ -1477,7 +1477,7 @@ termo_strfkey (termo_t *tk, char *buffer, size_t len,
{
l = snprintf (buffer + pos, len - pos,
wrapbracket ? "<^%c>" : "^%c", (char) codepoint);
if(l <= 0)
if (l <= 0)
return pos;
pos += l;
return pos;

Loading…
Cancel
Save