aboutsummaryrefslogtreecommitdiff
path: root/src/misc2.c
Commit message (Collapse)AuthorAge
* Remove simpler cases of OOM error handling (after *alloc calls)Felipe Oliveira Carvalho2014-04-06
| | | | | | | | | | | | | | | | | | By simpler cases I mean cases where the OOM error is not expected to be handled by the caller of the function that calls `alloc`, `lalloc`, `xrealloc`, `xmalloc`, `alloc_clear`, and `lalloc_clear`. These are the functions that: - Do not return an allocated buffer - Have OOM as the only error condition I took note of the functions that expect the caller to handle the OOM error and will go through them to check all the callers that may be handling OOM error in future commits. I'm ignoring eval.c and ex_.c in this series of commits. eval.c will soon be obsolete and I will deal with ex_.c in later PRs.
* Rewrite `mch_call_shell` on top of libuvThiago de Arruda2014-04-05
| | | | | | - Rename to `os_call_shell` - Use another entry point for libuv default event loop - Fix the `call_shell` reference in misc2.c
* Remove netbeans and sun workshopJohn Schmidt2014-04-05
|
* Extract memory.c from misc2.cJohn Schmidt2014-04-04
|
* Fix seperator->separator, path_tail_with_separator->path_tail_with_sep.Thomas Wienecke2014-04-03
|
* Test and refactor gettail_sep -> path_tail_with_seperator.Thomas Wienecke2014-04-03
|
* Test and refactor gettail -> path_tail.Thomas Wienecke2014-04-03
|
* move filewritable() into /src/os/fs.c and rename itStefan Hoffmann2014-04-03
|
* remove HAVE_STRPBRKoni-link2014-04-02
| | | | strpbrk is a C99 standard function.
* Move pathcmp from misc2.cJohn Schmidt2014-04-01
|
* Move same_directory from misc2.cJohn Schmidt2014-04-01
|
* Move after_pathsep from misc2.cJohn Schmidt2014-04-01
|
* remove HAVE_STDARG_HJulian Orth2014-03-31
|
* Remove feature HAVE_QSORToni-link2014-03-31
| | | | qsort conforms to C99, so we don't need our own version.
* Update `call_shell` signature to use `ShellOpts`Thiago de Arruda2014-03-31
|
* Make `extra_shell_arg` a `mch_call_shell` parameterThiago de Arruda2014-03-31
|
* xrealloc(): similar to xmalloc()Felipe Oliveira Carvalho2014-03-31
| | | | | Replaced all calls to realloc by xrealloc. All `== NULL` tests can be removed and the code within `!= NULL` tests can be unwrapped.
* Document xmalloc() and deprecate lalloc()Felipe Oliveira Carvalho2014-03-31
|
* xmalloc() that succeeds or gracefully abortsFelipe Oliveira Carvalho2014-03-31
|
* Re-integrate FEAT_SIGNS code, close #383Justin M. Keyes2014-03-29
| | | | | - omit FEAT_NETBEANS_INTG and FEAT_SIGN_ICONS - omit FEAT_GUI blocks
* Extract path.c from misc1.cJohn Schmidt2014-03-29
|
* Rename mch_* functions to os_* in os module.Thomas Wienecke2014-03-27
|
* HAVE_AVAIL_MEM is always undefined. Remove tests and dead codeFelipe Oliveira Carvalho2014-03-26
| | | | | Defining HAVE_AVAIL_MEM doesn't even build. The code tries to call `mch_avail_mem` which is not defined.
* Remove MEM_PROFILE related codeFelipe Oliveira Carvalho2014-03-26
| | | | | | | | | Code around `#ifdef MEM_PROFILE` was used to profile vim's memory comsumption. It's very likely broken as new code is using malloc() and free() directly. In this day and age, valgrind can solve in a much reliable way what this code was trying to do.
* Use memcmp instead of vim_memcmpFelipe Oliveira Carvalho2014-03-26
|
* Use memmove instead of mch_memmoveFelipe Oliveira Carvalho2014-03-26
|
* Use memset instead of vim_memsetFelipe Oliveira Carvalho2014-03-25
| | | | | | | | | Ran some commands on terminal, reviewed changes, and made some manual changes too. find src | xargs perl -i -p -e "s/vim_memset/memset/g" git grep -l memset | egrep "\.c$" | xargs perl -i -p -e \ 's/(#include "vim\.h")/#include <string.h>\n\n\1/g'
* adapt to the style guildelinesPetter Wahlman2014-03-19
| | | | | semi-automated harvest of low hanging fruit: change the unorthodox use of whitespace.
* removed get_user_name() and replaced calls with mch_get_user_name()Stefan Hoffmann2014-03-13
|
* moved mch_get_user_name() and mch_get_uname() into os/users.cStefan Hoffmann2014-03-13
|
* Extract cursor_shape.c from misc2.c and types/consts from structs.hFelipe Oliveira Carvalho2014-03-10
|
* Fix `free_all_mem` and EXITFREE definitionThiago de Arruda2014-03-07
| | | | | | | | | Because of the '$' in `if(DEFINED $ENV{VALGRIND_CHECK})` EXITFREE wasn't being defined, so the `free_all_mem` wasn't being included or called in the resulting binary. This commit fixes that, and also adds includes needed for `free_all_mem` compilation.
* cleanup environment variable handling + unit testsStefan Hoffmann2014-03-06
| | | | | | | | * removed a putenv() implementation which isn't needed anymore * mch_getenv() and mch_setenv() are now functions in src/os/env.c * removes direct calls to getenv() and setenv() outside of src/os/env.c * refactored the logic of get_env_name into mch_getenvname_at_index * added unittests for the functions in os/env.c
* Extract keymap.c from misc2.cFelipe Oliveira Carvalho2014-03-06
|
* Extract crypt.c from misc2.cFelipe Oliveira Carvalho2014-03-06
|
* Remove __ARGS macro. Close #205Nicolas Pierron2014-03-02
| | | | | | | | | This is a squash of all commits sent to #81. - Remove unused undef of __ARGS. - Fix mch_rename declaration. - Follow changes related to moved & extracted files. - Properly indent function declarations of getchar.h and quickfix.c.
* Extract file_search.c from misc2.cFelipe Oliveira Carvalho2014-02-28
| | | | | | | | Continue to split misc2.c in many other files (see #209). The only changed I made to the moved code was adding `vim_free(ff_expand_buffer)` to `free_finfile()`. This is was needed because `ff_expand_buffer` was moved from `misc2.c` to `file_search.c`.
* Extract garray.c from misc2.cFelipe Oliveira Carvalho2014-02-28
| | | | Start to split misc2.c in many other files (see #209).
* Removes 'proto' dirscott-linder2014-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See #137 for the issue. Every header in the proto directory was: * Given include guards in the form #ifndef NEOVIM_FILENAME_H #define NEOVIM_FILENAME_H ... #endif /* NEOVIM_FILENAM_H */ * Renamed from *.pro -> *.h * Moved from src/proto/ to src/ This would have caused conficts with some existing headers in src/; rather than merge these conflicts now (which is a whole other can of worms involving multiple and conditional inclusion), any header in src/ with a conflicting name was renamed from *.h -> *_defs.h (which may or may not actually describe its purpose, the change is purely a namespacing issue). Once all of these changes were made a script was developed to determine what #includes needed to be added to each source file to describe its dependencies and allow it to compile; because the script is so short and I'll just list it here: #! /bin/bash cd $(dirname $0) # Scrapes `make` output for provided error messages and outputs #includes # needed to resolve them. # $1 : part of the clang error message between filename and identifier list_missing_includes() { for file_missing_pair in $(CC=clang make 2>&1 >/dev/null | sed -n "s/\/\(.*\.[hc]\).*$1.*'\(.*\)'.*/\1:\2/p"); do fields=(${file_missing_pair//:/ }) source_file=${fields[0]} missing_func=${fields[1]} # Try to find the declaration of the missing function. echo $(basename $source_file) \ \#include \"$(grep -r "\b$missing_func __ARGS" | sed -n "s/.*\/\(.*\)\:.*/\1/p")\" # Remove duplicates done | sort | uniq } echo "Finding missing function prototypes..." list_missing_includes "implicit declaration of function" echo "Finding missing identifier declarations..." list_missing_includes "use of undeclared identifier" Each list of required headers was added by hand in the following format: #include "vim.h" #include "*_defs.h" #include "filename.h" /* All other includes in same module here, in alphabetical order. */ /* All includes from other modules (e.g. "os/*.h") here in alphabetical * order. */
* Create new OS moduleThiago de Arruda2014-02-24
| | | | | This module will contain all functions that perform OS calls such as IO, filesystem access, etc.
* Convert function declarations from K&R to ANSI style.scott-linder2014-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | cproto (http://invisible-island.net/cproto/) was used to do the bulk of the work in batch; even the most recent version had some issues with typedef'd parameters; a quick "patch" was to modify `lex.l` to explicitly include all vim typedefs as known types. One example from `vim.h` is typedef unsigned char char_u; which was added in `lex.l` as <INITIAL>char_u { save_text_offset(); return T_CHAR; } Even with these changes there were some problems: * Two files (`mbyte.c` and `os_unix.c`) were not cleanly converted. * Any function with the `UNUSED` macro in its parameter list was not converted. Rather than spend more time fixing the automated approach, the two files `mbyte.c` and `os_unix.c` were converted by hand. The `UNUSED` macros were compiler specific, and the alternative, generic version would require a different syntax, so in order to simplify the conversion all uses of `UNUSED` were stripped, and then the sources were run back through cproto. It is planned to reconsider each use of `UNUSED` manually using a new macro definition.
* Import vim from changeset v5628:c9cad40b4181Thiago de Arruda2014-01-31
- Cleanup source tree, leaving only files necessary for compilation/testing - Process files through unifdef to remove tons of FEAT_* macros - Process files through uncrustify to normalize source code formatting. - Port the build system to cmake