summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2007-09-01 03:10:43 +0000
committerRich Felker <dalias@aerifal.cx>2007-09-01 03:10:43 +0000
commit585c2f95ca03cae1f2792684ad673f7ed69accdb (patch)
treebdbd98e571b0016cab9541e865675ed002f4f872
parent5cfd4a4c4c49ff88e2d55f3397443e3f936c67c0 (diff)
downloaduuterm-585c2f95ca03cae1f2792684ad673f7ed69accdb.tar.gz
lame partial support for input methods that give long input strings
-rw-r--r--uuterm.h2
-rw-r--r--xlib.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/uuterm.h b/uuterm.h
index defe16f..9663a64 100644
--- a/uuterm.h
+++ b/uuterm.h
@@ -66,7 +66,7 @@ struct uudisp
int w, h;
int inlen;
unsigned char *intext;
- unsigned char inbuf[16];
+ unsigned char inbuf[64];
int blink;
void *font;
long priv[64];
diff --git a/xlib.c b/xlib.c
index 63ba063..743f1a3 100644
--- a/xlib.c
+++ b/xlib.c
@@ -224,7 +224,7 @@ void uudisp_next_event(struct uudisp *d, void *fds)
KeySym ks;
size_t r, l = sizeof(d->inbuf);
unsigned char *s = d->inbuf;
- char tmp[32], mbtmp[sizeof(tmp)*MB_LEN_MAX];
+ char tmp[64], mbtmp[sizeof(tmp)*MB_LEN_MAX];
wchar_t wtmp[sizeof(tmp)];
int status;
int i, n;
@@ -286,6 +286,8 @@ void uudisp_next_event(struct uudisp *d, void *fds)
if (p->ic) {
r = XmbLookupString(p->ic, (void *)&ev, tmp, sizeof(tmp), &ks, &status);
switch(status) {
+ case XBufferOverflow:
+ break; /* FIXME */
case XLookupKeySym:
r = 0;
break;