From 0f50c54b5ec2c8d2ca681021deaedc0cffdf7f1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigrid=20Solveig=20Hafl=C3=ADnud=C3=B3ttir?= Date: Sun, 14 Nov 2021 14:27:15 +0000 Subject: [PATCH] kbdfs: allow X and x to be used not just for hex composition --- sys/src/cmd/aux/kbdfs/kbdfs.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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