Changeset 133
- Timestamp:
- 26/10/08 19:19:54 (3 months ago)
- Location:
- jggtrans/src
- Files:
-
- 2 modified
-
sessions.c (modified) (4 diffs)
-
users.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
jggtrans/src/sessions.c
r129 r133 295 295 } 296 296 297 void session_broken(Session *s){ 298 299 if (s->req_id){ 300 jabber_iq_send_error(s->s,s->jid,NULL,s->req_id,502,_("Remote Server Error")); 301 } 302 else{ 303 GList *it; 304 presence_send(s->s,NULL,s->user->jid,0,NULL,"Connection broken",0); 305 for(it=s->user->contacts;it;it=it->next){ 306 Contact *c=(Contact *)it->data; 307 308 if (!GG_S_NA(c->status) && c->status!=-1){ 309 char *ujid; 310 ujid=jid_build_full(c->uin); 311 presence_send(s->s,ujid,s->user->jid,0,NULL,"Transport disconnected",0); 312 g_free(ujid); 313 } 314 } 315 } 316 s->connected=0; 317 session_schedule_reconnect(s); 318 session_remove(s); 319 } 320 297 321 gboolean session_error(Session *s){ 298 322 GgServer *serv; … … 327 351 return FALSE; 328 352 329 s->timeout_func=0;330 g_warning(N_("Session timeout for %s"),s->jid);331 332 353 session_broken(s); 333 354 return FALSE; … … 342 363 serv=(GgServer*)s->current_server->data; 343 364 user_load_locale(s->user); 365 366 s->timeout_func=0; 367 g_warning(N_("Session timeout for %s"),s->jid); 344 368 345 369 if(serv->port!=1){ … … 354 378 return session_error(s); 355 379 } 356 357 void session_broken(Session *s){358 359 if (s->req_id){360 jabber_iq_send_error(s->s,s->jid,NULL,s->req_id,502,_("Remote Server Error"));361 }362 else{363 GList *it;364 presence_send(s->s,NULL,s->user->jid,0,NULL,"Connection broken",0);365 for(it=s->user->contacts;it;it=it->next){366 Contact *c=(Contact *)it->data;367 368 if (!GG_S_NA(c->status) && c->status!=-1){369 char *ujid;370 ujid=jid_build_full(c->uin);371 presence_send(s->s,ujid,s->user->jid,0,NULL,"Transport disconnected",0);372 g_free(ujid);373 }374 }375 }376 s->connected=0;377 session_schedule_reconnect(s);378 session_remove(s);379 }380 381 380 382 381 gboolean session_ping(gpointer data){ -
jggtrans/src/users.c
r120 r133 214 214 215 215 userlist=xmlnode_insert_tag(xml,"userlist"); 216 for(it=g_list_first(u->contacts);it;it= it->next){216 for(it=g_list_first(u->contacts);it;it=g_list_next(it)){ 217 217 c=(Contact *)it->data; 218 218 ctag=xmlnode_insert_tag(userlist,"contact"); … … 536 536 537 537 g_assert(u!=NULL); 538 for(it=g_list_first(u->contacts);it;it= it->next){538 for(it=g_list_first(u->contacts);it;it=g_list_next(it)){ 539 539 c=(Contact *)it->data; 540 540 if (c->uin==uin) return c; … … 640 640 u=user_get_by_jid(de->d_name); 641 641 if(u){ 642 if(u->subscribe==SUB_FROM || u->subscribe==SUB_BOTH) 642 if(u->subscribe==SUB_FROM || u->subscribe==SUB_BOTH){ 643 643 presence_send_probe(s,NULL,de->d_name); 644 } 644 645 user_free(u); 645 646 } … … 647 648 } 648 649 closedir(dir); 649 650 g_message(L_("Done probing all registered users"));651 650 652 651 return 0; … … 723 722 g_message(L_("%sConfirmed: %i"),space,u->confirmed); 724 723 g_message(L_("%sContacts:"),space); 725 for(it=g_list_first(u->contacts);it;it= it->next){724 for(it=g_list_first(u->contacts);it;it=g_list_next(it)){ 726 725 c=(Contact *)it->data; 727 726 g_message(L_("%sContact: %p"),space1,c);
