keysym: Coding style cleanup
Mostly tab-to-space conversion plus a few style nits. Dropped the register keywords as I'm pretty sure modern compilers can be trusted to do the right thing.master
parent
83f198f1ae
commit
56c3e7440e
69
src/keysym.c
69
src/keysym.c
|
@ -36,20 +36,20 @@ authorization from the authors.
|
||||||
|
|
||||||
#include "ks_tables.h"
|
#include "ks_tables.h"
|
||||||
|
|
||||||
char *XkbcKeysymToString(KeySym ks)
|
char *
|
||||||
|
XkbcKeysymToString(KeySym ks)
|
||||||
{
|
{
|
||||||
register int i, n;
|
int i, n, h, idx;
|
||||||
int h;
|
|
||||||
register int idx;
|
|
||||||
const unsigned char *entry;
|
const unsigned char *entry;
|
||||||
unsigned char val1, val2, val3, val4;
|
unsigned char val1, val2, val3, val4;
|
||||||
|
|
||||||
if (!ks || (ks & ((unsigned long) ~0x1fffffff)) != 0)
|
if (!ks || (ks & ((unsigned long) ~0x1fffffff)) != 0)
|
||||||
return ((char *)NULL);
|
return NULL;
|
||||||
|
|
||||||
if (ks == XK_VoidSymbol)
|
if (ks == XK_VoidSymbol)
|
||||||
ks = 0;
|
ks = 0;
|
||||||
if (ks <= 0x1fffffff)
|
|
||||||
{
|
if (ks <= 0x1fffffff) {
|
||||||
val1 = ks >> 24;
|
val1 = ks >> 24;
|
||||||
val2 = (ks >> 16) & 0xff;
|
val2 = (ks >> 16) & 0xff;
|
||||||
val3 = (ks >> 8) & 0xff;
|
val3 = (ks >> 8) & 0xff;
|
||||||
|
@ -57,14 +57,17 @@ char *XkbcKeysymToString(KeySym ks)
|
||||||
i = ks % VTABLESIZE;
|
i = ks % VTABLESIZE;
|
||||||
h = i + 1;
|
h = i + 1;
|
||||||
n = VMAXHASH;
|
n = VMAXHASH;
|
||||||
while ((idx = hashKeysym[i]))
|
|
||||||
{
|
while ((idx = hashKeysym[i])) {
|
||||||
entry = &_XkeyTable[idx];
|
entry = &_XkeyTable[idx];
|
||||||
|
|
||||||
if ((entry[0] == val1) && (entry[1] == val2) &&
|
if ((entry[0] == val1) && (entry[1] == val2) &&
|
||||||
(entry[2] == val3) && (entry[3] == val4))
|
(entry[2] == val3) && (entry[3] == val4))
|
||||||
return ((char *)entry + 4);
|
return ((char *)entry + 4);
|
||||||
|
|
||||||
if (!--n)
|
if (!--n)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
i += h;
|
i += h;
|
||||||
if (i >= VTABLESIZE)
|
if (i >= VTABLESIZE)
|
||||||
i -= VTABLESIZE;
|
i -= VTABLESIZE;
|
||||||
|
@ -75,52 +78,55 @@ char *XkbcKeysymToString(KeySym ks)
|
||||||
KeySym val = ks & 0xffffff;
|
KeySym val = ks & 0xffffff;
|
||||||
char *s;
|
char *s;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (val & 0xff0000)
|
if (val & 0xff0000)
|
||||||
i = 10;
|
i = 10;
|
||||||
else
|
else
|
||||||
i = 6;
|
i = 6;
|
||||||
|
|
||||||
s = malloc(i);
|
s = malloc(i);
|
||||||
if (s == NULL)
|
if (!s)
|
||||||
return s;
|
return s;
|
||||||
|
|
||||||
i--;
|
i--;
|
||||||
s[i--] = '\0';
|
s[i--] = '\0';
|
||||||
for (; i; i--){
|
for (; i; i--) {
|
||||||
val1 = val & 0xf;
|
val1 = val & 0xf;
|
||||||
val >>= 4;
|
val >>= 4;
|
||||||
if (val1 < 10)
|
if (val1 < 10)
|
||||||
s[i] = '0'+ val1;
|
s[i] = '0' + val1;
|
||||||
else
|
else
|
||||||
s[i] = 'A'+ val1 - 10;
|
s[i] = 'A' + val1 - 10;
|
||||||
}
|
}
|
||||||
s[i] = 'U';
|
s[i] = 'U';
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
return ((char *) NULL);
|
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
KeySym
|
KeySym
|
||||||
XkbcStringToKeysym(const char *s)
|
XkbcStringToKeysym(const char *s)
|
||||||
{
|
{
|
||||||
register int i, n;
|
int i, n, h, c, idx;
|
||||||
int h;
|
unsigned long sig = 0;
|
||||||
register unsigned long sig = 0;
|
const char *p = s;
|
||||||
register const char *p = s;
|
|
||||||
register int c;
|
|
||||||
register int idx;
|
|
||||||
const unsigned char *entry;
|
const unsigned char *entry;
|
||||||
unsigned char sig1, sig2;
|
unsigned char sig1, sig2;
|
||||||
KeySym val;
|
KeySym val;
|
||||||
|
|
||||||
while ((c = *p++))
|
while ((c = *p++))
|
||||||
sig = (sig << 1) + c;
|
sig = (sig << 1) + c;
|
||||||
|
|
||||||
i = sig % KTABLESIZE;
|
i = sig % KTABLESIZE;
|
||||||
h = i + 1;
|
h = i + 1;
|
||||||
sig1 = (sig >> 8) & 0xff;
|
sig1 = (sig >> 8) & 0xff;
|
||||||
sig2 = sig & 0xff;
|
sig2 = sig & 0xff;
|
||||||
n = KMAXHASH;
|
n = KMAXHASH;
|
||||||
while ((idx = hashString[i]))
|
|
||||||
{
|
while ((idx = hashString[i])) {
|
||||||
entry = &_XkeyTable[idx];
|
entry = &_XkeyTable[idx];
|
||||||
|
|
||||||
if ((entry[0] == sig1) && (entry[1] == sig2) &&
|
if ((entry[0] == sig1) && (entry[1] == sig2) &&
|
||||||
!strcmp(s, (char *)entry + 6))
|
!strcmp(s, (char *)entry + 6))
|
||||||
{
|
{
|
||||||
|
@ -130,8 +136,10 @@ XkbcStringToKeysym(const char *s)
|
||||||
val = XK_VoidSymbol;
|
val = XK_VoidSymbol;
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!--n)
|
if (!--n)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
i += h;
|
i += h;
|
||||||
if (i >= KTABLESIZE)
|
if (i >= KTABLESIZE)
|
||||||
i -= KTABLESIZE;
|
i -= KTABLESIZE;
|
||||||
|
@ -139,20 +147,29 @@ XkbcStringToKeysym(const char *s)
|
||||||
|
|
||||||
if (*s == 'U') {
|
if (*s == 'U') {
|
||||||
val = 0;
|
val = 0;
|
||||||
|
|
||||||
for (p = &s[1]; *p; p++) {
|
for (p = &s[1]; *p; p++) {
|
||||||
c = *p;
|
c = *p;
|
||||||
if ('0' <= c && c <= '9') val = (val<<4)+c-'0';
|
|
||||||
else if ('a' <= c && c <= 'f') val = (val<<4)+c-'a'+10;
|
if ('0' <= c && c <= '9')
|
||||||
else if ('A' <= c && c <= 'F') val = (val<<4)+c-'A'+10;
|
val = (val << 4) + c - '0';
|
||||||
else return NoSymbol;
|
else if ('a' <= c && c <= 'f')
|
||||||
|
val = (val << 4) + c - 'a' + 10;
|
||||||
|
else if ('A' <= c && c <= 'F')
|
||||||
|
val = (val << 4) + c - 'A' + 10;
|
||||||
|
else
|
||||||
|
return NoSymbol;
|
||||||
|
|
||||||
if (val > 0x10ffff)
|
if (val > 0x10ffff)
|
||||||
return NoSymbol;
|
return NoSymbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (val < 0x20 || (val > 0x7e && val < 0xa0))
|
if (val < 0x20 || (val > 0x7e && val < 0xa0))
|
||||||
return NoSymbol;
|
return NoSymbol;
|
||||||
if (val < 0x100)
|
if (val < 0x100)
|
||||||
return val;
|
return val;
|
||||||
return val | 0x01000000;
|
return val | 0x01000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NoSymbol;
|
return NoSymbol;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue