No need to wait for so long.
This also brings all the pledge code on one screen and helps show how
ircConnect() is the only relevant part in between initial and final
promises.
---
chat.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/chat.c b/chat.c
index 6cc7a6b..dc6eaad 100644
--- a/chat.c
+++ b/chat.c
@@ -315,6 +315,12 @@ int main(int argc, char *argv[]) {
int irc = ircConnect(bind, host, port);
+#ifdef __OpenBSD__
+ error = pledge(promisesFinal, NULL);
+ if (error) err(EX_OSERR, "pledge");
+ free(promisesFinal);
+#endif
+
if (pass) ircFormat("PASS :%s\r\n", pass);
if (sasl) ircFormat("CAP REQ :sasl\r\n");
ircFormat("CAP LS\r\n");
@@ -343,12 +349,6 @@ int main(int argc, char *argv[]) {
fcntl(execPipe[1], F_SETFD, FD_CLOEXEC);
}
-#ifdef __OpenBSD__
- error = pledge(promisesFinal, NULL);
- if (error) err(EX_OSERR, "pledge");
- free(promisesFinal);
-#endif
-
struct pollfd fds[] = {
{ .events = POLLIN, .fd = STDIN_FILENO },
{ .events = POLLIN, .fd = irc },
--
2.32.0