forked from pool/libtermkey
- added TERMKEY_FORMAT_SPACEMOD, TERMKEY_FORMAT_LOWERMOD, TERMKEY_FORMAT_LOWERSPACE and TERMKEY_FORMAT_URWID shortcut; better detection of UTF-8 locales; abstract C compiler from Makefile by using $(CC). - changes: recognise ANSI and DEC mode reports, extract and yield real key events for unrecognised CSI sequences; added termkey_interpret_{modereport,csi}; bugfix handling of CPR vs F3. - recognise SGR and rxvt mouse encodings, recognise cursor position report - (0.15a includes position report bugfix; 0.15b includes 'make install' portability fix) - added termkey_{start,stop}, termkey_is_started, ship unit tests in distribution tarball for downstream to use - added termkey_new_abstract, termkey_{get,set}_buffer_size, use errno rather than fprintf() to stderr, optionally use libncursesw if unibilium fails - added termkey_push_bytes, support filehandle-less (abstract) instances, many manpage improvements - optionally use unibilium instead of curses OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libtermkey?expand=0&rev=6
47 lines
1.2 KiB
Diff
47 lines
1.2 KiB
Diff
Index: libtermkey-0.17/termkey.c
|
|
===================================================================
|
|
--- libtermkey-0.17.orig/termkey.c
|
|
+++ libtermkey-0.17/termkey.c
|
|
@@ -283,7 +283,8 @@ static TermKey *termkey_alloc(void)
|
|
tk->nkeynames = 64;
|
|
tk->keynames = NULL;
|
|
|
|
- for(int i = 0; i < 32; i++)
|
|
+ int i;
|
|
+ for(i = 0; i < 32; i++)
|
|
tk->c0[i].sym = TERMKEY_SYM_NONE;
|
|
|
|
tk->drivers = NULL;
|
|
@@ -356,8 +357,9 @@ static int termkey_init(TermKey *tk, con
|
|
|
|
return 1;
|
|
|
|
+ struct TermKeyDriverNode *p;
|
|
abort_free_drivers:
|
|
- for(struct TermKeyDriverNode *p = tk->drivers; p; ) {
|
|
+ for(p = tk->drivers; p; ) {
|
|
(*p->driver->free_driver)(p->info);
|
|
struct TermKeyDriverNode *next = p->next;
|
|
free(p);
|
|
@@ -686,7 +688,8 @@ static TermKeyResult parse_utf8(const un
|
|
return TERMKEY_RES_KEY;
|
|
}
|
|
|
|
- for(unsigned int b = 1; b < nbytes; b++) {
|
|
+ unsigned int b;
|
|
+ for(b = 1; b < nbytes; b++) {
|
|
unsigned char cb;
|
|
|
|
if(b >= len)
|
|
@@ -1146,8 +1149,9 @@ TermKeySym termkey_register_keyname(Term
|
|
|
|
tk->keynames = new_keynames;
|
|
|
|
+ int i;
|
|
// Fill in the hole
|
|
- for(int i = tk->nkeynames; i < sym; i++)
|
|
+ for(i = tk->nkeynames; i < sym; i++)
|
|
tk->keynames[i] = NULL;
|
|
|
|
tk->nkeynames = sym + 1;
|