libpurple/protocols/yahoo/yahoo.c

changeset 16606
b31fca4f6f60
parent 16545
5188ffbaeb6e
child 16746
72faf41c3c4f
child 16755
ee84a2827356
equal deleted inserted replaced
16589:b95c957c50ec 16606:b31fca4f6f60
343 case 192: /* Pictures, aka Buddy Icons, checksum */ 343 case 192: /* Pictures, aka Buddy Icons, checksum */
344 { 344 {
345 /* FIXME: Please, if you know this protocol, 345 /* FIXME: Please, if you know this protocol,
346 * FIXME: fix up the strtol() stuff if possible. */ 346 * FIXME: fix up the strtol() stuff if possible. */
347 int cksum = strtol(pair->value, NULL, 10); 347 int cksum = strtol(pair->value, NULL, 10);
348 const char *locksum = NULL;
348 PurpleBuddy *b; 349 PurpleBuddy *b;
349 350
350 if (!name) 351 if (!name)
351 break; 352 break;
352 353
361 362
362 if (!f) 363 if (!f)
363 break; 364 break;
364 365
365 yahoo_friend_set_buddy_icon_need_request(f, FALSE); 366 yahoo_friend_set_buddy_icon_need_request(f, FALSE);
366 if (b && cksum != strtol(purple_buddy_icons_get_checksum_for_user(b), NULL, 10)) 367 if (b && (locksum = purple_buddy_icons_get_checksum_for_user(b)) != NULL &&
368 cksum != strtol(locksum, NULL, 10))
367 yahoo_send_picture_request(gc, name); 369 yahoo_send_picture_request(gc, name);
368 370
369 break; 371 break;
370 } 372 }
371 case 16: /* Custom error message */ 373 case 16: /* Custom error message */

mercurial