diff --git a/chat.h b/chat.h index a4d1366..5502665 100644 --- a/chat.h +++ b/chat.h @@ -40,8 +40,8 @@ void selfNick(const char *nick); void selfUser(const char *user); void selfJoin(const char *join); -void eventWait(char *const argv[]); -void eventPipe(char *const argv[]); +void eventWait(const char *argv[static 2]); +void eventPipe(const char *argv[static 2]); void eventLoop(int ui, int irc); struct Tag { diff --git a/event.c b/event.c index cad170f..e9864ff 100644 --- a/event.c +++ b/event.c @@ -33,18 +33,18 @@ static struct { int fd; } spawn; -void eventWait(char *const argv[]) { +void eventWait(const char *argv[static 2]) { uiHide(); pid_t pid = fork(); if (pid < 0) err(EX_OSERR, "fork"); if (!pid) { - execvp(argv[0], argv); + execvp(argv[0], (char *const *)argv); err(EX_CONFIG, "%s", argv[0]); } spawn.wait = true; } -void eventPipe(char *const argv[]) { +void eventPipe(const char *argv[static 2]) { if (spawn.pipe) { uiLog(TagStatus, UIHot, L"event: existing pipe"); return; @@ -62,7 +62,7 @@ void eventPipe(char *const argv[]) { dup2(rw[1], STDOUT_FILENO); dup2(rw[1], STDERR_FILENO); close(rw[1]); - execvp(argv[0], argv); + execvp(argv[0], (char *const *)argv); perror(argv[0]); exit(EX_CONFIG); } diff --git a/input.c b/input.c index 7866c5a..84ca71c 100644 --- a/input.c +++ b/input.c @@ -144,8 +144,7 @@ static void inputClose(struct Tag tag, char *params) { static void inputMan(struct Tag tag, char *params) { (void)tag; (void)params; - char *argv[] = { "man", "1", "chatte", NULL }; - eventWait(argv); + eventWait((const char *[]) { "man", "1", "chatte", NULL }); } static const struct { diff --git a/url.c b/url.c index b62baba..de2ebd9 100644 --- a/url.c +++ b/url.c @@ -91,14 +91,14 @@ void urlOpenMatch(struct Tag tag, const char *substr) { struct Entry entry = ringEntry(i); if (!entry.url || entry.tag != tag.id) continue; if (!strstr(entry.url, substr)) continue; - eventPipe((char *[]) { "open", entry.url, NULL }); + eventPipe((const char *[]) { "open", entry.url, NULL }); break; } } void urlOpenRange(struct Tag tag, size_t at, size_t to) { size_t argc = 1; - char *argv[2 + RingLen] = { "open" }; + const char *argv[2 + RingLen] = { "open" }; size_t tagIndex = 0; for (size_t i = RingLen - 1; i < RingLen; --i) { struct Entry entry = ringEntry(i);