diff options
author | Ørjan Malde <red@foxi.me> | 2021-04-19 20:51:54 +0200 |
---|---|---|
committer | Lucio Andrés Illanes Albornoz <lucio@lucioillanes.de> | 2021-04-19 20:57:47 +0200 |
commit | 4268d2a24f801d928dd628f8fa6832437ecbccf0 (patch) | |
tree | f4f1625e5b2b4bd2787ce9dfd5223eb1c105f89d /patches/irssi-1.2.3.local.patch | |
parent | bfca625dbad1ae9c9fac2c56a1f7e446c686431a (diff) | |
download | midipix_build-4268d2a24f801d928dd628f8fa6832437ecbccf0.tar.bz2 midipix_build-4268d2a24f801d928dd628f8fa6832437ecbccf0.tar.xz |
groups/241.native_packages_inet.group: irssi: bump to v1.2.3
Signed-off-by: Lucio Andrés Illanes Albornoz <lucio@lucioillanes.de>
Diffstat (limited to 'patches/irssi-1.2.3.local.patch')
-rw-r--r-- | patches/irssi-1.2.3.local.patch | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/patches/irssi-1.2.3.local.patch b/patches/irssi-1.2.3.local.patch new file mode 100644 index 00000000..0dfa06df --- /dev/null +++ b/patches/irssi-1.2.3.local.patch @@ -0,0 +1,87 @@ +--- irssi-0.8.20/src/core/pidwait.c.orig 2016-08-11 14:59:21.000000000 +0200 ++++ irssi-0.8.20/src/core/pidwait.c 2016-12-18 01:14:30.017866300 +0100 +@@ -39,8 +39,10 @@ + void pidwait_add(int pid) + { + if (g_hash_table_lookup(child_pids, GINT_TO_POINTER(pid)) == NULL) { ++#ifndef __midipix__ + int id = g_child_watch_add_full(10, pid, sig_child, NULL, NULL); + g_hash_table_insert(child_pids, GINT_TO_POINTER(pid), GINT_TO_POINTER(id)); ++#endif + pids = g_slist_append(pids, GINT_TO_POINTER(pid)); + } + } +--- irssi-0.8.20/src/core/servers.c.orig 2016-09-14 13:46:13.000000000 +0200 ++++ irssi-0.8.20/src/core/servers.c 2016-12-18 01:17:03.451031500 +0100 +@@ -407,6 +407,36 @@ + /* connect with unix socket */ + server_real_connect(server, NULL, server->connrec->address); + } else { ++ #ifdef __midipix__ ++ IPADDR ip4, ip6, *ip; ++ ++ connect_address = server->connrec->proxy != NULL ? ++ server->connrec->proxy : server->connrec->address; ++ if (net_gethostbyname(connect_address, &ip4, &ip6) == -1) { ++ g_warning("net_gethostbyname(): -1"); ++ g_free(server->tag); ++ g_free(server->nick); ++ return FALSE; ++ } else if (server->connrec->family == 0) { ++ /* prefer IPv4 addresses */ ++ ip = ip4.family != 0 ? &ip4 : &ip6; ++ } else if (server->connrec->family == AF_INET6) { ++ /* IPv6 address, use if possible */ ++ if (ip6.family != 0) { ++ ip = &ip6; ++ } else { ++ ip = &ip4; ++ } ++ } else { ++ /* IPv4 address, use if possible */ ++ if (ip4.family != 0) { ++ ip = &ip4; ++ } else { ++ ip = &ip6; ++ } ++ } ++ server_real_connect(server, ip, NULL); ++ #else + /* resolve host name */ + if (pipe(fd) != 0) { + g_warning("server_connect(): pipe() failed."); +@@ -433,6 +463,7 @@ + lookup_servers = g_slist_append(lookup_servers, server); + + signal_emit("server looking", 1, server); ++ #endif + } + return TRUE; + } +--- irssi-0.8.20/src/fe-common/core/fe-exec.c.orig 2016-09-14 13:46:13.000000000 +0200 ++++ irssi-0.8.20/src/fe-common/core/fe-exec.c 2016-12-18 01:14:30.018866300 +0100 +@@ -288,6 +288,9 @@ + } + } + ++#ifdef __midipix__ ++static void sig_pidwait(void *pid, void *statusp); ++#endif + static void process_exec(PROCESS_REC *rec, const char *cmd) + { + const char *shell_args[4] = { "/bin/sh", "-c", NULL, NULL }; +@@ -535,6 +538,14 @@ + (GInputFunction) sig_exec_input_reader, + rec); + processes = g_slist_append(processes, rec); ++#ifdef __midipix__ ++ int status; ++ waitpid(rec->pid, &status, 0); ++ while (rec->read_tag != -1) { ++ sig_exec_input_reader(rec); ++ } ++ sig_pidwait((void *)rec->pid, &status); ++#endif + + if (rec->target == NULL && interactive) + rec->target_item = exec_wi_create(active_win, rec); |