aboutsummaryrefslogtreecommitdiff
path: root/src/capi.c
diff options
context:
space:
mode:
authorJorge Arellano Cid <jcid@dillo.org>2009-08-06 18:05:39 -0400
committerJorge Arellano Cid <jcid@dillo.org>2009-08-06 18:05:39 -0400
commitaba097ef997ac29b792f1fa7258a09df3a434b77 (patch)
tree0da6b1afe0bf860af8e3fd1bd490bf4fd1e03dee /src/capi.c
parent5ea64c055392281a0e8cabbd08692c41220bb9fc (diff)
Interim bugfix patch for the new CCC OpAbort
Diffstat (limited to 'src/capi.c')
-rw-r--r--src/capi.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/capi.c b/src/capi.c
index 49e0ab80..5da85fce 100644
--- a/src/capi.c
+++ b/src/capi.c
@@ -582,11 +582,17 @@ void a_Capi_ccc(int Op, int Branch, int Dir, ChainLink *Info,
conn->InfoSend = NULL;
/* remove the cache entry for this URL */
a_Cache_entry_remove_by_url(conn->url);
- if (Data2 && !strcmp(Data2, "DpidERROR"))
- a_UIcmd_set_msg(conn->bw,
- "ERROR: can't start dpid daemon "
- "(URL scheme = '%s')!",
- conn->url ? URL_SCHEME(conn->url) : "");
+ if (Data2) {
+ if (!strcmp(Data2, "DpidERROR")) {
+ a_UIcmd_set_msg(conn->bw,
+ "ERROR: can't start dpid daemon "
+ "(URL scheme = '%s')!",
+ conn->url ? URL_SCHEME(conn->url) : "");
+ } else if (!strcmp(Data2, "Both") && conn->InfoRecv) {
+ /* abort the other branch too */
+ a_Capi_ccc(OpAbort, 2, BCK, conn->InfoRecv, NULL, NULL);
+ }
+ }
/* finish conn */
Capi_conn_unref(conn);
dFree(Info);