We checked the same condition in the "if" branch so it was never true in the "else if" one. Removing this condition makes the "else if" branch viable. --- ed.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ed.c b/ed.c index 3f878eb..12411ee 100644 --- a/ed.c +++ b/ed.c @@ -1318,7 +1318,7 @@ sighup(int dummy) line2 = lastln; if (!setjmp(savesp)) { dowrite("ed.hup", 1); - } else if (home && !setjmp(savesp)) { + } else if (home) { n = snprintf(fname, sizeof(fname), "%s/%s", home, "ed.hup"); if (n < sizeof(fname) && n > 0) -- 2.6.3