- /* full header */
- do_connect_host(c, location);
- send_HTTP_redirect(c, location);
- }
- else
- { /* relative header - same host */
- char *args = 0;
- char *nlocation = odr_malloc(c->odr_in, strlen(location)
- + strlen(c->host_port) + 3);
- strcpy(nlocation, c->host_port);
- cs_get_host_args(nlocation, (const char **) &args);
- if (!args || !*args)
- args = nlocation + strlen(nlocation);
- else
- args--;
- strcpy(args, location);
- send_HTTP_redirect(c, nlocation);
+ if (do_connect_host(c, location) == zoom_complete)
+ return; /* connect failed.. */