diff options
| author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-03-20 18:03:18 +0000 | 
|---|---|---|
| committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-03-20 18:03:18 +0000 | 
| commit | 81ee561d520e38535fb6947ac0e3fba808e6de4b (patch) | |
| tree | 122a46d40947e854fa643938c89ae7a6889eb52a /protocols/yahoo/libyahoo2.c | |
| parent | 33304688895db5751f9ef087ff92b0a9dc284627 (diff) | |
| parent | 0baed0da940c0d82280a5674d7fa8ad06d449384 (diff) | |
Merging head. Most changes are not so relevant because they're to IM
modules.
Diffstat (limited to 'protocols/yahoo/libyahoo2.c')
| -rw-r--r-- | protocols/yahoo/libyahoo2.c | 6 | 
1 files changed, 5 insertions, 1 deletions
| diff --git a/protocols/yahoo/libyahoo2.c b/protocols/yahoo/libyahoo2.c index 5b2ff44e..1bfc2e59 100644 --- a/protocols/yahoo/libyahoo2.c +++ b/protocols/yahoo/libyahoo2.c @@ -1343,7 +1343,11 @@ static void yahoo_process_status(struct yahoo_input_data *yid,  			break;  		case 301:	/* End buddy */  			if (!strcmp(pair->value, "315") && u) { -				users = y_list_prepend(users, u); +				/* Sometimes user info comes in an odd format with no +				   "begin buddy" but *with* an "end buddy". Don't add +				   it twice. */ +				if (!y_list_find(users, u)) +					users = y_list_prepend(users, u);  				u = yd->half_user = NULL;  			}  			break; | 
