| Fix message sizes for web extension communication - surf - surf browser, a WebK… | |
| git clone git://git.suckless.org/surf | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit b48be75179e5e2839b60f713111a1789b868cede | |
| parent 2ea91766bbd2f0689df3fbc9793c10c4376c0389 | |
| Author: Quentin Rameau <[email protected]> | |
| Date: Sun, 17 Mar 2024 08:06:01 +0100 | |
| Fix message sizes for web extension communication | |
| Diffstat: | |
| M surf.c | 11 ++++++----- | |
| M webext-surf.c | 6 +++--- | |
| 2 files changed, 9 insertions(+), 8 deletions(-) | |
| --- | |
| diff --git a/surf.c b/surf.c | |
| @@ -1853,21 +1853,22 @@ zoom(Client *c, const Arg *a) | |
| static void | |
| msgext(Client *c, char type, const Arg *a) | |
| { | |
| - static char msg[MSGBUFSZ]; | |
| + static unsigned char msg[MSGBUFSZ]; | |
| int ret; | |
| if (spair[0] < 0) | |
| return; | |
| - if ((ret = snprintf(msg, sizeof(msg), "%c%c%c", c->pageid, type, a->i)) | |
| - >= sizeof(msg)) { | |
| + ret = snprintf(msg, sizeof(msg), "%c%c%c", | |
| + (unsigned char)c->pageid, type, (signed char)a->i); | |
| + if (ret >= sizeof(msg)) { | |
| fprintf(stderr, "surf: message too long: %d\n", ret); | |
| return; | |
| } | |
| if (send(spair[0], msg, ret, 0) != ret) | |
| - fprintf(stderr, "surf: error sending: %u%c%d (%d)\n", | |
| - c->pageid, type, a->i, ret); | |
| + fprintf(stderr, "surf: error sending: %hhu/%c/%d (%d)\n", | |
| + (unsigned char)c->pageid, type, a->i, ret); | |
| } | |
| void | |
| diff --git a/webext-surf.c b/webext-surf.c | |
| @@ -39,7 +39,7 @@ readsock(GIOChannel *s, GIOCondition c, gpointer unused) | |
| } | |
| if (msgsz < 2) { | |
| - fprintf(stderr, "webext: readsock: message too short: %d\n", | |
| + fprintf(stderr, "webext: readsock: message too short: %lu\n", | |
| msgsz); | |
| return TRUE; | |
| } | |
| @@ -54,7 +54,7 @@ readsock(GIOChannel *s, GIOCondition c, gpointer unused) | |
| if (msgsz != 3) | |
| return TRUE; | |
| snprintf(js, sizeof(js), | |
| - "window.scrollBy(window.innerWidth/100*%d,0);", | |
| + "window.scrollBy(window.innerWidth/100*%hhd,0);", | |
| msg[2]); | |
| jsc_context_evaluate(jsc, js, -1); | |
| break; | |
| @@ -62,7 +62,7 @@ readsock(GIOChannel *s, GIOCondition c, gpointer unused) | |
| if (msgsz != 3) | |
| return TRUE; | |
| snprintf(js, sizeof(js), | |
| - "window.scrollBy(0,window.innerHeight/100*%d);", | |
| + "window.scrollBy(0,window.innerHeight/100*%hhd);", | |
| msg[2]); | |
| jsc_context_evaluate(jsc, js, -1); | |
| break; |