summaryrefslogtreecommitdiff
path: root/sys/src/cmd/aux/kbdfs
diff options
context:
space:
mode:
authorSigrid Solveig Haflínudóttir <ftrvxmtrx@gmail.com>2021-11-14 14:27:15 +0000
committerSigrid Solveig Haflínudóttir <ftrvxmtrx@gmail.com>2021-11-14 14:27:15 +0000
commit0f50c54b5ec2c8d2ca681021deaedc0cffdf7f1a (patch)
tree3ef26e2126bc71a294dee3d42490c9eefa63736c /sys/src/cmd/aux/kbdfs
parent2ab25e3ec07a11f18066e37c2841b6d294091fcb (diff)
kbdfs: allow X and x to be used not just for hex composition
Diffstat (limited to 'sys/src/cmd/aux/kbdfs')
-rw-r--r--sys/src/cmd/aux/kbdfs/kbdfs.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/src/cmd/aux/kbdfs/kbdfs.c b/sys/src/cmd/aux/kbdfs/kbdfs.c
index 3d64e1564..c0b87b2bf 100644
--- a/sys/src/cmd/aux/kbdfs/kbdfs.c
+++ b/sys/src/cmd/aux/kbdfs/kbdfs.c
@@ -787,6 +787,7 @@ Forward:
if(r == 'x' || r == 'X'){
i = (r == 'X') ? 4 : 6;
+ j = i;
r = 0;
do {
if(nextrune(rawchan, &rr))
@@ -797,14 +798,20 @@ Forward:
r = (r << 4) | (10 + (rr - 'a'));
else if(rr >= 'A' && rr <= 'F')
r = (r << 4) | (10 + (rr - 'A'));
- else
+ else{
+ if(i == j && rr != ';'){
+ r = j == 6 ? 'x' : 'X';
+ goto Nothex;
+ }
break;
+ }
} while(--i > 0);
if((i == 0 || rr == ';') && r != 0 && r <= Runemax)
goto Forward;
} else {
if(nextrune(rawchan, &rr))
continue;
+Nothex:
for(i = 0; i<nelem(tab); i++){
if(tab[i].ld[0] != r)
continue;