Mercurial > pidgin
changeset 30836:237e2c2874e6
Add a function that will help debug of SlpMessages.
author | masca@cpw.pidgin.im |
---|---|
date | Wed, 30 Jun 2010 20:41:58 +0000 |
parents | 56ef12440d52 |
children | f13f06f1f515 |
files | libpurple/protocols/msn/slpmsg.c libpurple/protocols/msn/slpmsg.h |
diffstat | 2 files changed, 34 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/protocols/msn/slpmsg.c Tue Jun 29 23:33:52 2010 +0000 +++ b/libpurple/protocols/msn/slpmsg.c Wed Jun 30 20:41:58 2010 +0000 @@ -327,3 +327,35 @@ return base; } + +void msn_slpmsg_show_readable(MsnSlpMessage *slpmsg) +{ + GString *str; + + str = g_string_new(NULL); + + g_string_append_printf(str, "Session ID: %u\r\n", slpmsg->header->session_id); + g_string_append_printf(str, "ID: %u\r\n", slpmsg->header->id); + g_string_append_printf(str, "Offset: %" G_GUINT64_FORMAT "\r\n", slpmsg->header->offset); + g_string_append_printf(str, "Total size: %" G_GUINT64_FORMAT "\r\n", slpmsg->header->total_size); + g_string_append_printf(str, "Length: %u\r\n", slpmsg->header->length); + g_string_append_printf(str, "Flags: 0x%x\r\n", slpmsg->header->flags); + g_string_append_printf(str, "ACK ID: %u\r\n", slpmsg->header->ack_id); + g_string_append_printf(str, "SUB ID: %u\r\n", slpmsg->header->ack_sub_id); + g_string_append_printf(str, "ACK Size: %" G_GUINT64_FORMAT "\r\n", slpmsg->header->ack_size); + + if (purple_debug_is_verbose() && slpmsg->buffer != NULL) { + g_string_append_len(str, slpmsg->buffer, slpmsg->size); + + if (slpmsg->buffer[slpmsg->size - 1] == '\0') { + str->len--; + g_string_append(str, " 0x00"); + } + g_string_append(str, "\r\n"); + + } + + g_string_append_printf(str, "Footer: %u\r\n", slpmsg->footer->value); + + purple_debug_info("msn", "SlpMessage %s:\n{%s}\n", slpmsg->info, str->str); +}
--- a/libpurple/protocols/msn/slpmsg.h Tue Jun 29 23:33:52 2010 +0000 +++ b/libpurple/protocols/msn/slpmsg.h Wed Jun 30 20:41:58 2010 +0000 @@ -172,4 +172,6 @@ */ char *msn_slpmsg_serialize(MsnSlpMessage *slpmsg, size_t *ret_size); +void msn_slpmsg_show_readable(MsnSlpMessage *slpmsg); + #endif /* _MSN_SLPMSG_H_ */