diff options
author | Pavel Platto <hinidu@gmail.com> | 2014-06-19 00:58:04 +0300 |
---|---|---|
committer | Nicolas Hillegeer <nicolas@hillegeer.com> | 2014-07-14 21:14:39 +0200 |
commit | edd7a8c5ddd99bd0c02b4218d43bccb562809d55 (patch) | |
tree | 764a6762ee492e3589c209fd1d34559addcc70ab | |
parent | ed10eb6fa92989d5a3841bf225a38b524c910e2e (diff) | |
download | rneovim-edd7a8c5ddd99bd0c02b4218d43bccb562809d55.tar.gz rneovim-edd7a8c5ddd99bd0c02b4218d43bccb562809d55.tar.bz2 rneovim-edd7a8c5ddd99bd0c02b4218d43bccb562809d55.zip |
Remove #ifdefs TEMPDIRNAMES and add TEMPDIRNAMES for Windows
Vim does not define TEMPDIRNAMES for all systems, but it is defined for
all systems supported by Neovim.
Temporary directory names for Windows was obtained from GetTempPath()
function documentation at MSDN.
Additionally small renamings were performed.
-rw-r--r-- | src/nvim/diff.c | 4 | ||||
-rw-r--r-- | src/nvim/fileio.c | 29 | ||||
-rw-r--r-- | src/nvim/globals.h | 2 | ||||
-rw-r--r-- | src/nvim/memline.c | 2 | ||||
-rw-r--r-- | src/nvim/os/os.h | 7 | ||||
-rw-r--r-- | src/nvim/os/unix_defs.h | 7 | ||||
-rw-r--r-- | src/nvim/os/win_defs.h | 9 | ||||
-rw-r--r-- | src/nvim/os_unix_defs.h | 3 |
8 files changed, 28 insertions, 35 deletions
diff --git a/src/nvim/diff.c b/src/nvim/diff.c index e7feacd4fb..0ae3d5553e 100644 --- a/src/nvim/diff.c +++ b/src/nvim/diff.c @@ -893,15 +893,11 @@ void ex_diffpatch(exarg_T *eap) || (os_chdir((char *)dirbuf) != 0)) { dirbuf[0] = NUL; } else { -# ifdef TEMPDIRNAMES if (vim_tempdir != NULL) { ignored = os_chdir((char *)vim_tempdir); } else { ignored = os_chdir("/tmp"); } -# else - ignored = os_chdir("/tmp"); -# endif // ifdef TEMPDIRNAMES shorten_fnames(TRUE); } #endif // ifdef UNIX diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c index e9a1545846..8dcc066258 100644 --- a/src/nvim/fileio.c +++ b/src/nvim/fileio.c @@ -5156,7 +5156,6 @@ void write_lnum_adjust(linenr_T offset) curbuf->b_no_eol_lnum += offset; } -#if defined(TEMPDIRNAMES) || defined(PROTO) static long temp_count = 0; /* Temp filename counter. */ /* @@ -5184,9 +5183,6 @@ void vim_deltempdir(void) } } -#endif - -#ifdef TEMPDIRNAMES /* * Directory "tempdir" was created. Expand this name to a full path and put * it in "vim_tempdir". This avoids that using ":cd" would confuse us. @@ -5203,7 +5199,6 @@ static void vim_settempdir(char_u *tempdir) free(buf); } } -#endif /* * vim_tempname(): Return a unique name that can be used for a temp file. @@ -5218,10 +5213,9 @@ vim_tempname ( int extra_char /* char to use in the name instead of '?' */ ) { - char_u itmp[TEMPNAMELEN]; + char_u itmp[TEMP_FILE_PATH_MAXLEN]; -#ifdef TEMPDIRNAMES - static char *(tempdirs[]) = {TEMPDIRNAMES}; + static const char *temp_dirs[] = TEMP_DIR_NAMES; int i; /* @@ -5233,11 +5227,11 @@ vim_tempname ( */ if (vim_tempdir == NULL) { /* - * Try the entries in TEMPDIRNAMES to create the temp directory. + * Try the entries in `TEMP_DIR_NAMES` to create the temp directory. */ - for (i = 0; i < (int)(sizeof(tempdirs) / sizeof(char *)); ++i) { + for (i = 0; i < (int)(sizeof(temp_dirs) / sizeof(char *)); ++i) { /* expand $TMP, leave room for "/v1100000/999999999" */ - expand_env((char_u *)tempdirs[i], itmp, TEMPNAMELEN - 20); + expand_env((char_u *)temp_dirs[i], itmp, TEMP_FILE_PATH_MAXLEN - 20); if (os_isdir(itmp)) { /* directory exists */ add_pathsep(itmp); @@ -5259,19 +5253,6 @@ vim_tempname ( } return NULL; - -#else /* TEMPDIRNAMES */ - - char_u *p; - - STRCPY(itmp, TEMPNAME); - if ((p = vim_strchr(itmp, '?')) != NULL) - *p = extra_char; - if (mktemp((char *)itmp) == NULL) - return NULL; - - return vim_strsave(itmp); -#endif /* TEMPDIRNAMES */ } #if defined(BACKSLASH_IN_FILENAME) || defined(PROTO) diff --git a/src/nvim/globals.h b/src/nvim/globals.h index 871674907b..436ddb768d 100644 --- a/src/nvim/globals.h +++ b/src/nvim/globals.h @@ -536,10 +536,8 @@ EXTERN int ru_col; /* column for ruler */ EXTERN int ru_wid; /* 'rulerfmt' width of ruler when non-zero */ EXTERN int sc_col; /* column for shown command */ -#ifdef TEMPDIRNAMES EXTERN char_u *vim_tempdir INIT(= NULL); /* Name of Vim's own temp dir. Ends in a slash. */ -#endif /* * When starting or exiting some things are done differently (e.g. screen diff --git a/src/nvim/memline.c b/src/nvim/memline.c index 2fb404a148..f951eb9379 100644 --- a/src/nvim/memline.c +++ b/src/nvim/memline.c @@ -589,9 +589,7 @@ void ml_close_all(int del_file) ml_close(buf, del_file && ((buf->b_flags & BF_PRESERVED) == 0 || vim_strchr(p_cpo, CPO_PRESERVE) == NULL)); spell_delete_wordlist(); /* delete the internal wordlist */ -#ifdef TEMPDIRNAMES vim_deltempdir(); /* delete created temp directory */ -#endif } /* diff --git a/src/nvim/os/os.h b/src/nvim/os/os.h index b6148e72bf..b46989d9b4 100644 --- a/src/nvim/os/os.h +++ b/src/nvim/os/os.h @@ -7,10 +7,17 @@ #include "nvim/os/fs_defs.h" #include "nvim/vim.h" +#ifdef WIN32 +# include "nvim/os/win_defs.h" +#else +# include "nvim/os/unix_defs.h" +#endif + #ifdef INCLUDE_GENERATED_DECLARATIONS # include "os/fs.h.generated.h" # include "os/mem.h.generated.h" # include "os/env.h.generated.h" # include "os/users.h.generated.h" #endif + #endif // NVIM_OS_OS_H diff --git a/src/nvim/os/unix_defs.h b/src/nvim/os/unix_defs.h new file mode 100644 index 0000000000..197a87bcc5 --- /dev/null +++ b/src/nvim/os/unix_defs.h @@ -0,0 +1,7 @@ +#ifndef NEOVIM_OS_UNIX_DEFS_H +#define NEOVIM_OS_UNIX_DEFS_H + +#define TEMP_DIR_NAMES {"$TMPDIR", "/tmp", ".", "$HOME"} +#define TEMP_FILE_PATH_MAXLEN 256 + +#endif // NEOVIM_OS_UNIX_DEFS_H diff --git a/src/nvim/os/win_defs.h b/src/nvim/os/win_defs.h new file mode 100644 index 0000000000..49fcb64777 --- /dev/null +++ b/src/nvim/os/win_defs.h @@ -0,0 +1,9 @@ +#ifndef NEOVIM_OS_WIN_DEFS_H +#define NEOVIM_OS_WIN_DEFS_H + +#include <windows.h> + +#define TEMP_DIR_NAMES {"$TMP", "$TEMP", "$USERPROFILE", ""} +#define TEMP_FILE_PATH_MAXLEN _MAX_PATH + +#endif // NEOVIM_OS_WIN_DEFS_H diff --git a/src/nvim/os_unix_defs.h b/src/nvim/os_unix_defs.h index 5ba9d2d98d..0d79117bfd 100644 --- a/src/nvim/os_unix_defs.h +++ b/src/nvim/os_unix_defs.h @@ -204,9 +204,6 @@ "~/.nvim,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,~/.nvim/after" # endif -# define TEMPDIRNAMES "$TMPDIR", "/tmp", ".", "$HOME" -# define TEMPNAMELEN 256 - /* Special wildcards that need to be handled by the shell */ #define SPECIAL_WILDCHAR "`'{" |