]> andersk Git - libfaim.git/commitdiff
- Wed Aug 29 16:59:24 PDT 2001
authormid <mid>
Thu, 30 Aug 2001 00:08:58 +0000 (00:08 +0000)
committermid <mid>
Thu, 30 Aug 2001 00:08:58 +0000 (00:08 +0000)
  - Pass up entire icon triplet (checksum/length/timestamp) in all cases
     that it is recieved.
  - Eric was paying more attention than I am.

CHANGES
include/aim.h
src/im.c

diff --git a/CHANGES b/CHANGES
index 1e335e391da1b8726e639794a1b33144db5a86ec..864512c7d0673e83116b39f763fb9c25b8751d78 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,11 @@
 
 No release numbers
 ------------------
+ - Wed Aug 29 16:59:24 PDT 2001
+  - Pass up entire icon triplet (checksum/length/timestamp) in all cases
+     that it is recieved.
+  - Eric was paying more attention than I am.
+
  - Sat Aug 25 19:46:38 PDT 2001
   - Pass "Maximum visible message length" to client in chat info update
     - This is the real maximum message length now.  There is still a
index 30e15b65ff74d0fd73b92d4c41a9935535df63cb..3148acff9b04acd4f38b457e880478911b2e4323 100644 (file)
@@ -674,6 +674,8 @@ struct aim_incomingim_ch1_args {
        int finlen;
        unsigned char fingerprint[10];
        time_t iconstamp;
+       unsigned long iconlength;
+       unsigned long iconchecksum;  
        int extdatalen;
        unsigned char *extdata;
 };
@@ -683,6 +685,7 @@ struct aim_incomingim_ch2_args {
        unsigned short status;
        union {
                struct {
+                       unsigned long checksum;
                        unsigned int length;
                        time_t timestamp;
                        unsigned char *icon;
index b2f39cdff52243b18bc390770ddc81f3921db207..143f4d765a04ab32317ec2c11cfcbc24e105bb0e 100644 (file)
--- a/src/im.c
+++ b/src/im.c
@@ -578,6 +578,8 @@ static int incomingim_ch1(struct aim_session_t *sess, aim_module_t *mod,  struct
 
                } else if ((type == 0x0008) && (length == 0x000c)) { /* I-HAVE-A-REALLY-PURTY-ICON Flag */
 
+                       args.iconchecksum = aimutil_get32(data+i);
+                       args.iconlength = aimutil_get32(data+i+4);
                        args.iconstamp = aimutil_get32(data+i+8);
                        args.icbmflags |= AIM_IMFLAGS_HASICON;
 
@@ -655,11 +657,11 @@ static int incomingim_ch2(struct aim_session_t *sess, aim_module_t *mod,  struct
        }
 
        /* 
-       * What follows may be TLVs or nothing, depending on the
-       * purpose of the message.
-       *
-       * Ack packets for instance have nothing more to them.
-       */
+        * What follows may be TLVs or nothing, depending on the
+        * purpose of the message.
+        *
+        * Ack packets for instance have nothing more to them.
+        */
        list2 = aim_readtlvchain(block1->value+2+8+16, block1->length-2-8-16);
 
        if (!list2 || ((args.reqclass != AIM_CAPS_IMIMAGE) && !(aim_gettlv(list2, 0x2711, 1)))) {
@@ -719,7 +721,7 @@ static int incomingim_ch2(struct aim_session_t *sess, aim_module_t *mod,  struct
 
                miscinfo = aim_gettlv(list2, 0x2711, 1);
 
-               /* aimutil_get32(miscinfo->value+curpos); i don't know what this is */
+               args.info.icon.checksum = aimutil_get32(miscinfo->value+curpos);
                curpos += 4;
                args.info.icon.length = aimutil_get32(miscinfo->value+curpos);
                curpos += 4;
This page took 0.071301 seconds and 5 git commands to generate.