From: Robert Siemborski Date: Mon, 17 Jul 2000 03:04:54 +0000 (+0000) Subject: more intelligent filename selection in die() X-Git-Tag: v0.9.13~5 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=fcf32bf3d1fa149c787b53f0e5c66beccfa72cdc;p=nano.git more intelligent filename selection in die() git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@109 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- diff --git a/ChangeLog b/ChangeLog index 8ac2543c..b56268c9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,6 +11,8 @@ Current CVS: - nano.c: main(): - TABSIZE now set before first call to edit_refresh (Bill Soudan) + die(): + - More intelligent emergency-save filename selection (Rob) - search.c: search_init(): - Added " (to replace)" statement to end of search string if diff --git a/nano.c b/nano.c index d0b41477..c02ba86e 100644 --- a/nano.c +++ b/nano.c @@ -94,10 +94,15 @@ void die(char *msg, ...) va_end(ap); /* if we can't save we have REAL bad problems, - * but we might as well TRY. FIXME: This should probabally base it - * off of the current filename */ - write_file("nano.save", 0); - + * but we might as well TRY. */ + if(filename[0] == '\0') { + write_file("nano.save", 0); + } else { + char buf[BUFSIZ]; + strncpy(buf,filename,BUFSIZ); + strncat(buf,".save",BUFSIZ - strlen(buf)); + write_file(buf, 0); + } /* Restore the old term settings */ tcsetattr(0, TCSANOW, &oldterm);