Dolda2000 GitWeb
/
doldaconnect.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Send password.
[doldaconnect.git]
/
lib
/
uimisc.c
diff --git
a/lib/uimisc.c
b/lib/uimisc.c
index
d989e1e
..
e0a37ef
100644
(file)
--- a/
lib/uimisc.c
+++ b/
lib/uimisc.c
@@
-1218,14
+1218,22
@@
void dc_uimisc_handlenotify(struct dc_response *resp)
if((fn = dc_findfnetnode(ires->argv[0].val.num)) != NULL)
{
if((peer = dc_fnetfindpeer(fn, ires->argv[1].val.str)) == NULL)
if((fn = dc_findfnetnode(ires->argv[0].val.num)) != NULL)
{
if((peer = dc_fnetfindpeer(fn, ires->argv[1].val.str)) == NULL)
- addpeer(fn, ires->argv[1].val.str, ires->argv[2].val.str);
+ {
+ peer = addpeer(fn, ires->argv[1].val.str, ires->argv[2].val.str);
+ if(fn->newpeercb != NULL)
+ fn->newpeercb(peer);
+ }
}
break;
case 631:
if((fn = dc_findfnetnode(ires->argv[0].val.num)) != NULL)
{
if((peer = dc_fnetfindpeer(fn, ires->argv[1].val.str)) != NULL)
}
break;
case 631:
if((fn = dc_findfnetnode(ires->argv[0].val.num)) != NULL)
{
if((peer = dc_fnetfindpeer(fn, ires->argv[1].val.str)) != NULL)
+ {
+ if(fn->delpeercb != NULL)
+ fn->delpeercb(peer);
delpeer(peer);
delpeer(peer);
+ }
}
break;
case 632:
}
break;
case 632:
@@
-1238,7
+1246,7
@@
void dc_uimisc_handlenotify(struct dc_response *resp)
free(peer->nick);
peer->nick = swcsdup(ires->argv[2].val.str);
}
free(peer->nick);
peer->nick = swcsdup(ires->argv[2].val.str);
}
- for(i =
3
; i < resp->rlines[0].argc; i += 3)
+ for(i =
4
; i < resp->rlines[0].argc; i += 3)
{
switch(wcstol(resp->rlines[0].argv[i + 1], NULL, 10))
{
{
switch(wcstol(resp->rlines[0].argv[i + 1], NULL, 10))
{
@@
-1253,6
+1261,8
@@
void dc_uimisc_handlenotify(struct dc_response *resp)
break;
}
}
break;
}
}
+ if(fn->chpeercb != NULL)
+ fn->chpeercb(peer);
}
}
break;
}
}
break;