Annotation of ports/net/irssi-xmpp/patches/patch-src_core_xep_version_c, Revision 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