[BACK]Return to patch-src_core_xep_version_c CVS log [TXT][DIR] Up to [local] / ports / net / irssi-xmpp / patches

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