Annotation of ports/net/irssi-xmpp/patches/patch-src_core_xep_version_c, Revision 1.1.1.1
1.1 yason 1: $gate: patch-src_core_xep_version_c,v 1.1 2010/04/04 16:58:12 dukzcry Exp $
2: Send arch info on version os info request in addition to os name
3:
4: --- src/core/xep/version.c.orig Fri Apr 3 15:21:35 2009
5: +++ src/core/xep/version.c Sun Apr 4 20:48:27 2010
6: @@ -44,6 +44,8 @@ send_version(XMPP_SERVER_REC *server, const char *dest
7: LmMessageNode *node;
8: struct utsname u;
9: char *recoded;
10: + unsigned char *sysdescr;
11: + size_t sysname_len;
12:
13: recoded = xmpp_recode_out(dest);
14: lmsg = lm_message_new_with_sub_type(recoded, LM_MESSAGE_TYPE_IQ,
15: @@ -58,8 +60,18 @@ send_version(XMPP_SERVER_REC *server, const char *dest
16: IRSSI_XMPP_PACKAGE);
17: lm_message_node_add_child(node, "version",
18: IRSSI_XMPP_VERSION);
19: - if (uname(&u) == 0)
20: - lm_message_node_add_child(node, "os", u.sysname);
21: + if (uname(&u) == 0) {
22: + sysname_len = strlen(u.sysname);
23: + sysdescr = g_malloc(sysname_len + strlen(u.machine) + 2);
24: +
25: + memmove(sysdescr, u.sysname, sysname_len);
26: + sysdescr[sysname_len] = '/';
27: + memmove(sysdescr + sysname_len + 1, u.machine, strlen(u.machine));
28: + sysdescr[sysname_len + strlen(u.machine) + 1] = '\0';
29: + lm_message_node_add_child(node, "os", sysdescr);
30: + g_free(sysdescr);
31: + sysdescr = NULL;
32: + }
33: }
34: signal_emit("xmpp send iq", 2, server, lmsg);
35: lm_message_unref(lmsg);
CVSweb