aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/path.c
Commit message (Collapse)AuthorAge
...
* eval,*: Move get_tv_string to typval.cZyX2017-03-29
| | | | Function was renamed and changed to return `const char *`.
* *: Move some dictionary functions to typval.h and use char*ZyX2017-03-29
| | | | Also fixes buffer reusage in setmatches() and complete().
* vim-patch:7.4.1991James McCoy2017-02-27
| | | | | | | Problem: glob() does not add a symbolic link when there are no wildcards. Solution: Remove the call to mch_getperm(). https://github.com/vim/vim/commit/00efded1064427ab3f84e4d57af62e0aab876fc6
* win: executable(): full path without extensionJustin M. Keyes2017-02-04
| | | | Absolute path is considered executable even *without* an extension.
* refactor: Remove strncpy/STRNCPY. (#6008)Justin M. Keyes2017-01-26
| | | | | | | | | | | | | | | Closes #731 References #851 Note: This does not remove some intentional legacy usages of strncpy. - memcpy isn't equivalent because it doesn't check the string length of `src`, and doesn't zero-out the remainder of `dst`. - xstrlcpy isn't equivalent because it doesn't zero-out the remainder of `dst`. Some Vim logic depends on that (e.g. ex_append which calls vim_strnsave). Helped-by: Douglas Schneider <ds3@ualberta.ca> Helped-by: oni-link <knil.ino@gmail.com> Helped-by: James McCoy <jamessan@jamessan.com>
* add_pathsep(): Return false if filename is too long.cztchoice2017-01-23
| | | | References #3042
* refactor: strlcat instead of str{n}cat.cztchoice2017-01-23
| | | | | | | | | | Add xstrlcat function. Closes #3042 References #988 References #1069 coverity: 71530, 71531, 71532
* path.c: `vim_FullName()`: Fix heap overflow #5737nfnty2017-01-05
| | | | | | - Clarify documentation. - Return `FAIL` and truncate if `fname` is too long. - Add tests.
* vim-patch:7.4.2274 (#5439)Harm te Hennepe2016-10-12
| | | | | | | Problem: Command line completion on "find **/filename" drops sub-directory. Solution: Handle this case separately. (Harm te Hennepe, closes vim/vim#932, closes vim/vim#939) https://github.com/vim/vim/commit/73d4e4c8922f6f4d256f910a18f47c0c3a48c28b
* refactor: eliminate misc2.cJustin M. Keyes2016-09-13
| | | | | | | | | | move `call_shell` to misc1.c Move some fns to state.c Move some fns to option.c Move some fns to memline.c Move `vim_chdir*` fns to file_search.c Move some fns to new module, bytes.c Move some fns to fileio.c
* path.c: Avoid code duplication for path separator checksRui Abreu Ferreira2016-08-18
|
* Windows: Check drive letter in absolute pathsRui Abreu Ferreira2016-08-18
| | | | | Check if drive letter is alphabetic character in path_is_absolute_path().
* Add Windows support to path_is_absolute()Rui Abreu Ferreira2016-08-18
| | | | vim-patch:0
* Windows: get_past_head() (#5199)Rui Abreu Ferreira2016-08-13
| | | | | | | | | | Reported in #4955, get_past_head() is supposed to return a pointer after the head of the path (/ in UNIX, c:\ in Windows) but the windows case was removed. Removed the Mac reference in the comment, since there no special handling for Mac. vim-patch:0
* Windows: Don't use literal path separatorsRui Abreu Ferreira2016-08-09
| | | | | | | | Per #2471, some path handling functions hardcode the UNIX path separator '/' causing them to fail in Windows. When BLACKSLASH_IN_FILENAME is set we may have to check against psepc and psepcN instead of PATHSEP or use vim_ispathsep_nocolon().
* os/fs: Rename os_file_exists to os_path_exists (#4973)Daniel Xu2016-07-06
| | | | Because the old name did not indicate that the function would return true on directories as well.
* vim-patch:7.4.896Rui Abreu Ferreira2016-05-08
| | | | | | | | | Problem: Editing a URL, which netrw should handle, doesn't work. Solution: Avoid changing slashes to backslashes. (Yasuhiro Matsumoto) https://github.com/vim/vim/commit/b4f6a46b01ed00b642a2271e9d1559e51ab0f2c4 Cherry-picked from https://github.com/neovim/neovim/pull/810, rebased.
* Linting.KillTheMule2016-05-02
|
* vim-patch:7.4.672KillTheMule2016-05-02
| | | | | | | | | | | Problem: When completing a shell command, directories in the current directory are not listed. Solution: When "." is not in $PATH also look in the current directory for directories. https://github.com/vim/vim/commit/b5971141dff0c69355fd64196fcc0d0d071d4c82 Most of it applied manually.
* *: Fix new linter errorsZyX2016-05-01
| | | | Originally there were 128 new errors, so I thought this is a good idea to fix all of them. Of course, this commit also fixes many suppressed errors.
* Happy little, happy little, happy little linterKillTheMule2016-04-22
|
* vim-patch:7.4.871KillTheMule2016-04-22
| | | | | | | | | | | Problem: Vim leaks memory, when 'wildignore' filters out all matches. Solution: Free the files array when it becomes empty. https://github.com/vim/vim/commit/7b256fe7445b46929f660ea74e9090418f857696 The only nontrivial part of 7.4.871 missing (renamings of variables are in another commit; freeing *files after 0 matches was already there, just FAIL was not returned in that case)
* The trivial part of 7.4.871KillTheMule2016-04-22
|
* vim-patch:7.4.1120Jurica Bradaric2016-04-20
| | | | | | | Problem: delete(x, 'rf') fails if a directory is empty. (Lcd) Solution: Ignore not finding matches in an empty directory. https://github.com/vim/vim/commit/336bd622c31e1805495c034e1a8cfadcc0bbabc7
* vim-patch:7.4.1117Jurica Bradaric2016-04-20
| | | | | | | Problem: No longer get "." and ".." in directory list. Solution: Do not skip "." and ".." unless EW_DODOT is set. https://github.com/vim/vim/commit/d82103ed8534a1207742e9666ac7ef1e47dda12d
* Fix linter errors.Jurica Bradaric2016-04-20
|
* vim-patch:7.4.1116Jurica Bradaric2016-04-20
| | | | | | | Problem: delete(x, 'rf') does not delete files starting with a dot. Solution: Also delete files starting with a dot. https://github.com/vim/vim/commit/b0967d587fc420fa02832533d4915c85d1a78c17
* *: Make set_vim_var_\* functions have proper argument typesZyX2016-04-18
|
* path.c: enable -WconversionCharles Joachim2016-03-27
|
* path.c: Fulfill the `@returns` conditionswatiko2016-02-21
| | | | Original-author: oni-link <knil.ino@gmail.com>
* vim-patch:7.4.903watiko2016-02-21
| | | | | | | | Problem: MS-Windows: When 'encoding' differs from the current code page, expandinig wildcards may cause illegal memory access. Solution: Allocate a longer buffer. (Ken Takata) https://github.com/vim/vim/commit/7314efd87d8c4095229bdc2867a553c36c064918
* vim-patch:7.4.831watiko2016-02-21
| | | | | | | | Problem: When expanding `=expr` on the command line and encountering an error, the command is executed anyway. Solution: Bail out when an error is detected. https://github.com/vim/vim/commit/3f188935ec4db5117c4a64cc3f71219175624745
* vim-patch:7.4.835Jurica Bradaric2016-02-09
| | | | | | | | Problem: Comparing utf-8 sequences does not handle different byte sizes correctly. Solution: Get the byte size of each character. (Dominique Pelle) https://github.com/vim/vim/commit/f6470c288cb6f8efd60a507baf2c070f9d209ae6
* vim-patch:7.4.656Justin Gassner2016-01-25
| | | | | | | Problem: Missing changes for glob() in one file. Solution: Add the missing changes. https://github.com/vim/vim/commit/d8b77f7dc04e5721989df9c505b8568194261a39
* misc: UNIX => Unix #4022Seth Jackson2016-01-16
| | | | | | | | | | Although UNIX is a registered trademark of The Open Group, it doesn't really matter whether we refer to these systems as UNIX, Unix, or Unix-like. So, for consistency, refer to them collectively as Unix. Related: http://www.greens.org/about/unix.html http://www.unixica.com/html/unixunix.html
* win32: Fix syntax error in #ifndef block. #3968Rui Abreu Ferreira2016-01-10
| | | | | | The block is only compiled if the system is NOT WIN32, but the closing parenthesis for the statement opened outside the block is closed inside the block.
* Windows: Ignore EW_ICASE in do_path_expandRui Abreu Ferreira2015-12-31
| | | | | | | | The do_path_expand() function is still using the unix_expandpath variant from Vim. For Windows it should behave as the old dos_expandpath() function. This commit adds an ifdef to ignore EW_ICASE flag in this function, otherwise all matches fail on Windows if wildignorecase is set.
* Windows: Remove UNIX guard for pstrcmp()Rui Abreu Ferreira2015-12-11
| | | | | | | | | @equalsraf: I took a look at the Vim source pstrcmp() is actually used in the dos_expandpath(misc1.c). The only difference between the UNIX and WIN32 version of the functions is the _cdecl call convention annotation - the body of the function is identical. Neovim kept the comment from the Unix function but not from the Windows variant. Seems to me its safe to use the same function for both - and just correct the comment.
* src/*: Remove `VIM - Vi improved ...` headerMichael Reed2015-11-27
| | | | | | | | | | | | | | | | | | | Regarding the individual items in the header: `Vim - Vi improved by Bram Moolenar` Bram Moolenar is already mentioned throughout the documentation, as well as the intro screen. `:help uganda` It's already shown to all users who don't use `shortmess+=I` upon starting nvim, and is already placed prominently in help.txt, i.e., `:help` run with no arguments. `:help credits` Already mentioned near the top of help.txt. `README.md` Already mentioned in develop.txt.
* Remove unnecessary includes for errno.hRui Abreu Ferreira2015-11-25
|
* *: Fix linter errorsZyX2015-10-23
|
* stdpaths: Do NOT create data directoriesZyX2015-10-23
| | | | | | This is none of option.c business to create *possibly unneeded* **default** directories **before** user specified where he actually wants to place the files.
* stdpaths,main: Remove all remaining memory leaksZyX2015-10-23
|
* Remove VLA from path_get_absolute_pathRui Abreu Ferreira2015-09-24
| | | | | Remove the use of Variable Length Arrays in path_get_absolute_path(), and use xmalloc/xfree instead.
* os/path: Fix path_get_absolute_path for top-level pathsThiago de Arruda2015-09-18
| | | | Close #2833
* path.c: Fix memory leak in expand_wildcards().oni-link2015-09-09
| | | | | | A file that matches with one of the patterns in 'wildignore' is ignored when using expand_wildcards(). After removing ignored files, the array of (file name) matches can be empty. But an empty array is never freed.
* do_path_expand: Avoid non-readable directories. #3273Felipe Morales2015-09-04
| | | | | | | | | | Closes https://github.com/neovim/neovim/issues/3164 Closes https://github.com/neovim/neovim/issues/3194 Closes https://github.com/neovim/neovim/issues/3221 Helped-by: @splinterofchaos Helped-by: @oni-link Helped-by: @justinmk
* Remove instances of TRUE/FALSE macroSteven Oliver2015-09-04
| | | | | | memory.c os_unix.c path.c
* test: call scandir_next_with_dots() more than onceJustin M. Keyes2015-08-01
| | | | Also cosmetic reduction.
* Add the . and .. entries to glob()Felipe Morales2015-08-01
| | | | | | | os_scandir() and os_scandir_next() skip over those, because of the unverlying libuv funcitons behaviour. Fixes #2954