diff src/protocols/oscar/im.c @ 2703:441b84ab7f4e

[gaim-migrate @ 2716] it's not what you think committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Sat, 10 Nov 2001 01:48:17 +0000
parents 81d658e6ac1e
children 03bf072c6238
line wrap: on
line diff
--- a/src/protocols/oscar/im.c	Sat Nov 10 01:30:13 2001 +0000
+++ b/src/protocols/oscar/im.c	Sat Nov 10 01:48:17 2001 +0000
@@ -107,6 +107,8 @@
  *   AIM_IMFLAGS_AWAY  -- Marks the message as an autoresponse
  *   AIM_IMFLAGS_ACK   -- Requests that the server send an ack
  *                        when the message is received (of type 0x0004/0x000c)
+ *   AIM_IMFLAGS_OFFLINE--If destination is offline, store it until they are
+ *                        online (probably ICQ only).
  *   AIM_IMFLAGS_UNICODE--Instead of ASCII7, the passed message is
  *                        made up of UNICODE duples.  If you set
  *                        this, you'd better be damn sure you know
@@ -305,11 +307,8 @@
 		aimbs_put16(&fr->data, 0x0000);
 	}
 
-	/*
-	 * Set the Buddy Icon Requested flag.
-	 */
-	if (args->flags & AIM_IMFLAGS_BUDDYREQ) {
-		aimbs_put16(&fr->data, 0x0009);
+	if (args->flags & AIM_IMFLAGS_OFFLINE) {
+		aimbs_put16(&fr->data, 0x0006);
 		aimbs_put16(&fr->data, 0x0000);
 	}
 
@@ -325,6 +324,14 @@
 		aimbs_put32(&fr->data, args->iconstamp);
 	}
 
+	/*
+	 * Set the Buddy Icon Requested flag.
+	 */
+	if (args->flags & AIM_IMFLAGS_BUDDYREQ) {
+		aimbs_put16(&fr->data, 0x0009);
+		aimbs_put16(&fr->data, 0x0000);
+	}
+
 	aim_tx_enqueue(sess, fr);
 
 #if 1 /* XXX do this with autoconf or something... */
@@ -861,6 +868,11 @@
 
 			args.icbmflags |= AIM_IMFLAGS_AWAY;
 
+		} else if (type == 0x0006) { /* Message was received offline. */
+
+			/* XXX not sure if this actually gets sent. */
+			args.icbmflags |= AIM_IMFLAGS_OFFLINE;
+
 		} else if (type == 0x0008) { /* I-HAVE-A-REALLY-PURTY-ICON Flag */
 
 			args.iconlen = aimbs_get32(bs);