43 lines
1.1 KiB
Diff
43 lines
1.1 KiB
Diff
# User Mikael Berthe <mikael.berthe@lilotux.net>
|
|
# Date 1194208892 -3600
|
|
Fix Awareness Snapshots with recent Sametime servers
|
|
|
|
With recent Sametime servers there seem to be 2 bytes
|
|
after the Snapshot Message Blocks.
|
|
This patch tries to use the end of block offset provided
|
|
by the server.
|
|
|
|
diff -r be8d8f1d3ebc src/common.c
|
|
--- a/src/common.c Sun Nov 04 18:48:00 2007 +0100
|
|
+++ b/src/common.c Tue Nov 06 11:46:26 2007 +0100
|
|
@@ -878,23 +878,24 @@ gboolean mwAwareIdBlock_equal(const stru
|
|
/* 8.4.2.4 Snapshot */
|
|
|
|
void mwAwareSnapshot_get(struct mwGetBuffer *b, struct mwAwareSnapshot *idb) {
|
|
- guint32 junk;
|
|
- char *empty = NULL;
|
|
+ guint32 end_of_block;
|
|
|
|
g_return_if_fail(b != NULL);
|
|
g_return_if_fail(idb != NULL);
|
|
|
|
- guint32_get(b, &junk);
|
|
+ guint32_get(b, &end_of_block);
|
|
mwAwareIdBlock_get(b, &idb->id);
|
|
mwString_get(b, &idb->group);
|
|
gboolean_get(b, &idb->online);
|
|
-
|
|
- g_free(empty);
|
|
|
|
if(idb->online) {
|
|
mwString_get(b, &idb->alt_id);
|
|
mwUserStatus_get(b, &idb->status);
|
|
mwString_get(b, &idb->name);
|
|
+ }
|
|
+
|
|
+ if( b->ptr < b->buf + end_of_block ) {
|
|
+ mwGetBuffer_advance(b, b->buf + end_of_block - b->ptr);
|
|
}
|
|
}
|
|
|