]> git.wh0rd.org Git - nano.git/commitdiff
make write_marked() always call write_file() with nonamechange set to
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Fri, 28 May 2004 00:15:28 +0000 (00:15 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Fri, 28 May 2004 00:15:28 +0000 (00:15 +0000)
TRUE (and hence no longer take a namechange parameter itself) to fix a
bug where writing a selection would change the current filename, and
make die_save_file() do the same since we don't need to change the
current filename if we're writing emergency backup files

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1770 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
src/files.c
src/nano.c
src/proto.h

index ba4195307e4e0fd0b57c71d43962bddf83bab4ac..58f7797500153d03a0f8365ce468d1347c0b7497 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -70,6 +70,11 @@ CVS code -
        - Rearrange the NANO_SMALL #ifdef so that the code to set the
          MODIFIED flag in open_files->flags is included only once.
          (DLR)
+  write_marked()
+       - Call write_file() with nonamechange set to TRUE so that we
+         don't erroneously change the current filename when writing a
+         selection, and don't take a nonamechange parameter anymore
+         since we don't use it. (DLR)
   do_writeout()
        - Refactor so that no recursion is needed if we try to exit with
          a modified file that has no name when TEMP_OPT is set. (DLR)
@@ -86,6 +91,10 @@ CVS code -
        - Since all of the calls to finish() use 0 for the value of
          sigage, and the return value of finish() is never used, make
          it accept and return void. (David Benbennick)
+  die_save_file()
+       - Call write_file() with nonamechange set to TRUE since we don't
+         need to change the current filename if we're writing emergency
+         backup files. (DLR)
   do_early_abort()
        - Removed, as it's no longer called anywhere. (David Benbennick)
   open_pipe()
index b6af395b7d9db79e403851ecde57900a65e17ea1..c958be6165ef7ddee45f7f69ee93340199e96300 100644 (file)
@@ -1395,8 +1395,8 @@ int copy_file(FILE *inn, FILE *out)
  * append == 1 means we are appending instead of overwriting.
  * append == 2 means we are prepending instead of overwriting.
  *
- * nonamechange means don't change the current filename, it is ignored
- * if tmp is nonzero or if we're appending/prepending.
+ * nonamechange means don't change the current filename.  It is ignored
+ * if tmp is FALSE or if we're appending/prepending.
  *
  * Return -1 on error, 1 on success. */
 int write_file(const char *name, int tmp, int append, int nonamechange)
@@ -1737,11 +1737,11 @@ int write_file(const char *name, int tmp, int append, int nonamechange)
 #ifndef NANO_SMALL
 /* Write a marked selection from a file out.  First, set fileage and
  * filebot as the top and bottom of the mark, respectively.  Then call
- * write_file() with the values of name, temp, append, and nonamechange.
- * Finally, set fileage and filebot back to their old values and
- * return. */
-int write_marked(const char *name, int tmp, int append, int
-       nonamechange)
+ * write_file() with the values of name, temp, and append, and with
+ * nonamechange set to TRUE so that we don't change the current
+ * filename.  Finally, set fileage and filebot back to their old values
+ * and return. */
+int write_marked(const char *name, int tmp, int append)
 {
     int retval = -1;
     filestruct *fileagebak = fileage;
@@ -1783,7 +1783,7 @@ int write_marked(const char *name, int tmp, int append, int
     if (filebot->data[0] != '\0' && filebot->next != NULL)
        filebot = filebot->next;
 
-    retval = write_file(name, tmp, append, nonamechange);
+    retval = write_file(name, tmp, append, TRUE);
 
     /* Now restore everything. */
     fileage->data -= topx;
@@ -1945,7 +1945,7 @@ int do_writeout(int exiting)
        /* Here's where we allow the selected text to be written to
         * a separate file. */
        if (!ISSET(RESTRICTED) && !exiting && ISSET(MARK_ISSET))
-           i = write_marked(answer, FALSE, append, FALSE);
+           i = write_marked(answer, FALSE, append);
        else
 #endif /* !NANO_SMALL */
            i = write_file(answer, FALSE, append, FALSE);
index 76c0a5d018749fb23b02bde2f09b56f0c4fd454e..e50f67221f32816e97822cd3deef0e18aa67d561 100644 (file)
@@ -172,7 +172,7 @@ void die_save_file(const char *die_filename)
        free(buf);
     }
     if (ret[0] != '\0')
-       i = write_file(ret, 1, 0, 0);
+       i = write_file(ret, TRUE, FALSE, TRUE);
 
     if (i != -1)
        fprintf(stderr, _("\nBuffer written to %s\n"), ret);
@@ -1808,10 +1808,10 @@ int do_spell(void)
 
 #ifndef NANO_SMALL
     if (ISSET(MARK_ISSET))
-       i = write_marked(temp, 1, 0, 0);
+       i = write_marked(temp, TRUE, FALSE);
     else
 #endif
-       i = write_file(temp, 1, 0, 0);
+       i = write_file(temp, TRUE, FALSE, FALSE);
 
     if (i == -1) {
        statusbar(_("Unable to write temp file: %s"), strerror(errno));
index 2680642baa6feee26dff60ab0834e130834acd1c..90da56b99e81076b0124f45321b6718d52ad8271 100644 (file)
@@ -188,8 +188,7 @@ void init_backup_dir(void);
 #endif
 int write_file(const char *name, int tmp, int append, int nonamechange);
 #ifndef NANO_SMALL
-int write_marked(const char *name, int tmp, int append, int
-       nonamechange);
+int write_marked(const char *name, int tmp, int append);
 #endif
 int do_writeout(int exiting);
 int do_writeout_void(void);