commit bf0e47dc3751b7cb2155c03f604e2ef23d203fce
parent 5d552195ea5435a7d7ebc3985aefd464751ca8ea
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date: Mon, 1 Aug 2005 18:27:10 +0000
miscellaneous enum cleanups, including making the file-writing
functions' append parameter an enum instead of an int
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2966 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
5 files changed, 44 insertions(+), 35 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -148,6 +148,8 @@ CVS code -
- Assert that filename isn't NULL, and don't do anything special
if it's blank, as the the former case shouldn't occur, and the
latter case is now handled elsewhere. (DLR)
+ write_file(), write_marked_file(), do_writeout()
+ - Make append an append_type enum instead of an int. (DLR)
input_tab()
- Make columns an int instead of a size_t, since it's limited by
COLS. (DLR)
@@ -222,6 +224,8 @@ CVS code -
(DLR)
- Move stdlib.h, dirent.h, regex.h, and assert.h includes here,
as every source file needs them. (DLR)
+ - Rename the updown enum scroll_dir and the centernone enum
+ update_type for clarity, and add an append_type enum. (DLR)
- rcfile.c:
nregcomp()
- Return TRUE when the compilation succeeds and FALSE otherwise,
diff --git a/src/files.c b/src/files.c
@@ -1130,15 +1130,15 @@ int copy_file(FILE *inn, FILE *out)
* tmp means we are writing a temporary file in a secure fashion. We
* use it when spell checking or dumping the file on an error.
*
- * append == 1 means we are appending instead of overwriting.
- * append == 2 means we are prepending instead of overwriting.
+ * append == APPEND means we are appending instead of overwriting.
+ * append == PREPEND means we are prepending instead of overwriting.
*
* nonamechange means don't change the current filename. It is ignored
* if tmp is FALSE or if we're appending/prepending.
*
* Return 0 on success or -1 on error. */
-int write_file(const char *name, FILE *f_open, bool tmp, int append,
- bool nonamechange)
+int write_file(const char *name, FILE *f_open, bool tmp, append_type
+ append, bool nonamechange)
{
int retval = -1;
/* Instead of returning in this function, you should always
@@ -1213,9 +1213,9 @@ int write_file(const char *name, FILE *f_open, bool tmp, int append,
* aren't appending, prepending, or writing a selection, we backup
* only if the file has not been modified by someone else since nano
* opened it. */
- if (ISSET(BACKUP_FILE) && !tmp && realexists && ((append != 0 ||
- openfile->mark_set) || openfile->current_stat->st_mtime ==
- st.st_mtime)) {
+ if (ISSET(BACKUP_FILE) && !tmp && realexists && ((append !=
+ OVERWRITE || openfile->mark_set) ||
+ openfile->current_stat->st_mtime == st.st_mtime)) {
FILE *backup_file;
char *backupname;
struct utimbuf filetime;
@@ -1345,7 +1345,7 @@ int write_file(const char *name, FILE *f_open, bool tmp, int append,
}
/* If we're prepending, copy the file to a temp file. */
- if (append == 2) {
+ if (append == PREPEND) {
int fd_source;
FILE *f_source = NULL;
@@ -1385,9 +1385,9 @@ int write_file(const char *name, FILE *f_open, bool tmp, int append,
/* Now open the file in place. Use O_EXCL if tmp is TRUE. This
* is copied from joe, because wiggy says so *shrug*. */
fd = open(realname, O_WRONLY | O_CREAT |
- ((append == 1) ? O_APPEND : (tmp ? O_EXCL : O_TRUNC)),
- S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH |
- S_IWOTH);
+ ((append == APPEND) ? O_APPEND : (tmp ? O_EXCL :
+ O_TRUNC)), S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP |
+ S_IROTH | S_IWOTH);
/* Set the umask back to the user's original value. */
umask(original_umask);
@@ -1403,7 +1403,7 @@ int write_file(const char *name, FILE *f_open, bool tmp, int append,
goto cleanup_and_exit;
}
- f = fdopen(fd, (append == 1) ? "ab" : "wb");
+ f = fdopen(fd, (append == APPEND) ? "ab" : "wb");
if (f == NULL) {
statusbar(_("Error writing %s: %s"), realname,
@@ -1462,7 +1462,7 @@ int write_file(const char *name, FILE *f_open, bool tmp, int append,
}
/* If we're prepending, open the temp file, and append it to f. */
- if (append == 2) {
+ if (append == PREPEND) {
int fd_source;
FILE *f_source = NULL;
@@ -1492,7 +1492,7 @@ int write_file(const char *name, FILE *f_open, bool tmp, int append,
goto cleanup_and_exit;
}
- if (!tmp && append == 0) {
+ if (!tmp && append == OVERWRITE) {
if (!nonamechange) {
openfile->filename = mallocstrcpy(openfile->filename,
realname);
@@ -1537,8 +1537,8 @@ int write_file(const char *name, FILE *f_open, bool tmp, int append,
#ifndef NANO_SMALL
/* Write a marked selection from a file out. */
-int write_marked_file(const char *name, FILE *f_open, bool tmp, int
- append)
+int write_marked_file(const char *name, FILE *f_open, bool tmp,
+ append_type append)
{
int retval = -1;
bool old_modified = openfile->modified;
@@ -1582,8 +1582,8 @@ int write_marked_file(const char *name, FILE *f_open, bool tmp, int
int do_writeout(bool exiting)
{
- int i;
- int retval = 0, append = 0;
+ int i, retval = 0;
+ append_type append = OVERWRITE;
char *ans;
/* The last answer the user typed on the statusbar. */
#ifdef NANO_EXTRA
@@ -1619,13 +1619,14 @@ int do_writeout(bool exiting)
backupstr = ISSET(BACKUP_FILE) ? N_(" [Backup]") : "";
if (openfile->mark_set && !exiting)
- msg = (append == 2) ? N_("Prepend Selection to File") :
- (append == 1) ? N_("Append Selection to File") :
+ msg = (append == PREPEND) ?
+ N_("Prepend Selection to File") : (append == APPEND) ?
+ N_("Append Selection to File") :
N_("Write Selection to File");
else
#endif /* !NANO_SMALL */
- msg = (append == 2) ? N_("File Name to Prepend to") :
- (append == 1) ? N_("File Name to Append to") :
+ msg = (append == PREPEND) ? N_("File Name to Prepend to") :
+ (append == APPEND) ? N_("File Name to Append to") :
N_("File Name to Write");
/* If we're using restricted mode, the filename isn't blank,
@@ -1679,10 +1680,10 @@ int do_writeout(bool exiting)
} else
#endif /* !NANO_SMALL */
if (i == NANO_PREPEND_KEY) {
- append = (append == 2) ? 0 : 2;
+ append = (append == PREPEND) ? OVERWRITE : PREPEND;
continue;
} else if (i == NANO_APPEND_KEY) {
- append = (append == 1) ? 0 : 1;
+ append = (append == APPEND) ? OVERWRITE : APPEND;
continue;
}
@@ -1699,7 +1700,7 @@ int do_writeout(bool exiting)
break;
}
#endif
- if (append == 0 && strcmp(answer,
+ if (append == OVERWRITE && strcmp(answer,
openfile->filename) != 0) {
struct stat st;
diff --git a/src/nano.h b/src/nano.h
@@ -151,12 +151,16 @@ typedef enum {
} file_format;
typedef enum {
+ OVERWRITE, APPEND, PREPEND
+} append_type;
+
+typedef enum {
UP, DOWN
-} updown;
+} scroll_dir;
typedef enum {
CENTER, NONE
-} centernone;
+} update_type;
/* Structure types. */
typedef struct filestruct {
diff --git a/src/proto.h b/src/proto.h
@@ -257,11 +257,11 @@ bool check_operating_dir(const char *currpath, bool allow_tabcomp);
void init_backup_dir(void);
#endif
int copy_file(FILE *inn, FILE *out);
-int write_file(const char *name, FILE *f_open, bool tmp, int append,
- bool nonamechange);
+int write_file(const char *name, FILE *f_open, bool tmp, append_type
+ append, bool nonamechange);
#ifndef NANO_SMALL
-int write_marked_file(const char *name, FILE *f_open, bool tmp, int
- append);
+int write_marked_file(const char *name, FILE *f_open, bool tmp,
+ append_type append);
#endif
int do_writeout(bool exiting);
void do_writeout_void(void);
@@ -666,10 +666,10 @@ void edit_add(const filestruct *fileptr, const char *converted, int
void update_line(const filestruct *fileptr, size_t index);
int need_horizontal_update(size_t old_pww);
int need_vertical_update(size_t old_pww);
-void edit_scroll(updown direction, int nlines);
+void edit_scroll(scroll_dir direction, int nlines);
void edit_redraw(const filestruct *old_current, size_t old_pww);
void edit_refresh(void);
-void edit_update(centernone location);
+void edit_update(update_type location);
int do_yesno(bool all, const char *msg);
void total_redraw(void);
void total_refresh(void);
diff --git a/src/winio.c b/src/winio.c
@@ -3477,7 +3477,7 @@ int need_vertical_update(size_t old_pww)
* and nlines is the number of lines to scroll. We change edittop, and
* assume that current and current_x are up to date. We also assume
* that scrollok(edit) is FALSE. */
-void edit_scroll(updown direction, int nlines)
+void edit_scroll(scroll_dir direction, int nlines)
{
bool do_redraw = need_vertical_update(0);
const filestruct *foo;
@@ -3649,7 +3649,7 @@ void edit_refresh(void)
* same place. location determines how we move it: if it's CENTER, we
* center current, and if it's NONE, we put current current_y lines
* below edittop. */
-void edit_update(centernone location)
+void edit_update(update_type location)
{
filestruct *foo = openfile->current;
int goal;