Xinqi Bao's Git
projects
/
st.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
There is no need for a full dirt redraw.
[st.git]
/
st.c
diff --git
a/st.c
b/st.c
index
e20a1e0
..
392f12d
100644
(file)
--- a/
st.c
+++ b/
st.c
@@
-1257,7
+1257,7
@@
ttyread(void) {
/* process every complete utf8 char */
buflen += ret;
ptr = buf;
/* process every complete utf8 char */
buflen += ret;
ptr = buf;
- while(
charsize = utf8decode(ptr, &unicodep, buflen
)) {
+ while(
(charsize = utf8decode(ptr, &unicodep, buflen)
)) {
utf8encode(unicodep, s, UTF_SIZ);
tputc(s, charsize);
ptr += charsize;
utf8encode(unicodep, s, UTF_SIZ);
tputc(s, charsize);
ptr += charsize;
@@
-2263,9
+2263,10
@@
tdumpsel(void)
{
char *ptr;
{
char *ptr;
- ptr = getsel();
- tprinter(ptr, strlen(ptr));
- free(ptr);
+ if((ptr = getsel())) {
+ tprinter(ptr, strlen(ptr));
+ free(ptr);
+ }
}
void
}
void
@@
-3439,7
+3440,6
@@
void
redraw(int timeout) {
struct timespec tv = {0, timeout * 1000};
redraw(int timeout) {
struct timespec tv = {0, timeout * 1000};
- tfulldirt();
draw();
if(timeout > 0) {
draw();
if(timeout > 0) {