Got questions, comments, patches, etc.?
Contact Jason Woofenden
gitweb
/
st.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Enabling enacs and adding compatibility to xterm and urxvt for alternative
[st.git]
/
st.c
diff --git
a/st.c
b/st.c
index
2d080e5
..
efe309f
100644
(file)
--- a/
st.c
+++ b/
st.c
@@
-278,7
+278,7
@@
static void tmoveto(int, int);
static void tnew(int, int);
static void tnewline(int);
static void tputtab(bool);
static void tnew(int, int);
static void tnewline(int);
static void tputtab(bool);
-static void tputc(char*);
+static void tputc(char*, int);
static void treset(void);
static int tresize(int, int);
static void tscrollup(int, int);
static void treset(void);
static int tresize(int, int);
static void tscrollup(int, int);
@@
-884,7
+884,7
@@
ttyread(void) {
while(buflen >= UTF_SIZ || isfullutf8(ptr,buflen)) {
charsize = utf8decode(ptr, &utf8c);
utf8encode(&utf8c, s);
while(buflen >= UTF_SIZ || isfullutf8(ptr,buflen)) {
charsize = utf8decode(ptr, &utf8c);
utf8encode(&utf8c, s);
- tputc(s);
+ tputc(s, charsize);
ptr += charsize;
buflen -= charsize;
}
ptr += charsize;
buflen -= charsize;
}
@@
-1641,11
+1641,11
@@
tputtab(bool forward) {
}
void
}
void
-tputc(char *c) {
+tputc(char *c, int len) {
char ascii = *c;
if(iofd != -1)
char ascii = *c;
if(iofd != -1)
- write(iofd, c, 1);
+ write(iofd, c, len);
if(term.esc & ESC_START) {
if(term.esc & ESC_CSI) {
if(term.esc & ESC_START) {
if(term.esc & ESC_CSI) {
@@
-1700,6
+1700,7
@@
tputc(char *c) {
strescseq.type = ascii;
term.esc |= ESC_STR;
break;
strescseq.type = ascii;
term.esc |= ESC_STR;
break;
+ case ')':
case '(':
term.esc |= ESC_ALTCHARSET;
break;
case '(':
term.esc |= ESC_ALTCHARSET;
break;