summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBobby Bingham <koorogi@koorogi.info>2015-08-24 21:45:08 -0500
committerBobby Bingham <koorogi@koorogi.info>2015-08-29 13:05:50 -0500
commit03af1408410e3e1ab0952e1fab6d7acf94b014ef (patch)
tree466b9b3c84587aaaafaf873280db147878dcd59e
parent87b3c456c7cc68719dcc33045a6f6866630f692f (diff)
use xor instead of incrementing blink
Because blink is a signed integer, an eventual overflow would result in undefined behavior.
-rw-r--r--dblbuf.c2
-rw-r--r--main.c2
-rw-r--r--xlib.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/dblbuf.c b/dblbuf.c
index f6cbd88..afa180c 100644
--- a/dblbuf.c
+++ b/dblbuf.c
@@ -176,7 +176,7 @@ void uudisp_refresh(struct uudisp *d, struct uuterm *t)
blit_slice(d, idx, x1, x2);
}
- if (d->blink & 1) {
+ if (d->blink) {
unsigned long rev = expand_color(d, 15);
int idx = t->rows[t->y]->idx;
b->slices[idx].colors[2*t->x] ^= rev;
diff --git a/main.c b/main.c
index 784f7f2..422d707 100644
--- a/main.c
+++ b/main.c
@@ -66,7 +66,7 @@ int main(int argc, char *argv[])
tv.tv_sec = 0;
tv.tv_usec = 250000;
if (select(max, &fds, &wfds, NULL, &tv) <= 0) {
- d.blink++;
+ d.blink ^= 1;
FD_ZERO(&fds);
}
diff --git a/xlib.c b/xlib.c
index d5c078c..a94e8f8 100644
--- a/xlib.c
+++ b/xlib.c
@@ -405,7 +405,7 @@ void uudisp_refresh(struct uudisp *d, struct uuterm *t)
int x1, x2, idx, y;
/* Clean up cursor first.. */
- if (p->curs_on && (!(d->blink&1) || t->x != p->curs_x || t->y != p->curs_y)) {
+ if (p->curs_on && (!d->blink || t->x != p->curs_x || t->y != p->curs_y)) {
idx = t->rows[p->curs_y]->idx;
if ((unsigned)p->slices_y[idx] < d->h)
blit_slice(d, idx, p->curs_x, p->curs_x);