| 345 icq_ICQLINKDelete(id->link); |
345 icq_ICQLINKDelete(id->link); |
| 346 g_slist_free(id->thru_serv); |
346 g_slist_free(id->thru_serv); |
| 347 g_free(id); |
347 g_free(id); |
| 348 } |
348 } |
| 349 |
349 |
| 350 static void icq_send_msg(struct gaim_connection *gc, char *who, char *msg, int away) { |
350 static int icq_send_msg(struct gaim_connection *gc, char *who, char *msg, int away) { |
| 351 if (!away && (strlen(msg) > 0)) { |
351 if (!away && (strlen(msg) > 0)) { |
| 352 struct icq_data *id = (struct icq_data *)gc->proto_data; |
352 struct icq_data *id = (struct icq_data *)gc->proto_data; |
| 353 GSList *l = id->thru_serv; |
353 GSList *l = id->thru_serv; |
| 354 long w = atol(who); |
354 long w = atol(who); |
| 355 while (l) { |
355 while (l) { |
| 357 break; |
357 break; |
| 358 l = l->next; |
358 l = l->next; |
| 359 } |
359 } |
| 360 icq_SendMessage(id->link, w, msg, l ? ICQ_SEND_THRUSERVER : ICQ_SEND_BESTWAY); |
360 icq_SendMessage(id->link, w, msg, l ? ICQ_SEND_THRUSERVER : ICQ_SEND_BESTWAY); |
| 361 } |
361 } |
| |
362 return 0; |
| 362 } |
363 } |
| 363 |
364 |
| 364 static void icq_keepalive(struct gaim_connection *gc) { |
365 static void icq_keepalive(struct gaim_connection *gc) { |
| 365 struct icq_data *id = (struct icq_data *)gc->proto_data; |
366 struct icq_data *id = (struct icq_data *)gc->proto_data; |
| 366 icq_KeepAlive(id->link); |
367 icq_KeepAlive(id->link); |