--- /mnt/git/object/22f34a315b71fdeb2ac90b79f134e11b3052f07a/tree/./castor.c +++ ./castor.c @@ -409,7 +409,6 @@ } Bflush(&body); - close(fd); h->p = hist; h->n = nil; @@ -417,14 +416,14 @@ hist = h; show(c); - } + } break; case 30: - gemini_get(urlparse(nil, r->meta)); + gemini_get(urlparse(url, r->meta)); break; case 31: - gemini_get(urlparse(nil, r->meta)); + gemini_get(urlparse(url, r->meta)); break; case 40: message("Temporary failure, please try again later!"); @@ -469,6 +468,7 @@ // message("Unknown status code %d!", status); // break; } + close(fd); } void --- /mnt/git/object/22f34a315b71fdeb2ac90b79f134e11b3052f07a/tree/./url.c +++ ./url.c @@ -223,13 +223,12 @@ static Url * saneurl(Url *u) { - if(strcmp(u->scheme, "mailto") == 0 && Upath(u) != nil) - return u; - if(u == nil || u->scheme == nil || u->host == nil || Upath(u) == nil){ freeurl(u); return nil; } + if(strcmp(u->scheme, "mailto") == 0 && Upath(u) != nil) + return u; if(u->port){ /* remove default ports */ switch(atoi(u->port)){