diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2014-11-07 13:35:31 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-11-07 13:35:49 -0300 |
commit | 05ae9781b5d1dbff7bf82051e9ba6f8e3a68953b (patch) | |
tree | d6d72199053903f3aafe0a6752c1bbb75a99a0c9 /src/nvim/memory.c | |
parent | 07775c07c0c269fe70effa0489f65fb98143c12c (diff) | |
parent | ea3296ad856fcf6124fbac9c05888745caa5bbab (diff) | |
download | rneovim-05ae9781b5d1dbff7bf82051e9ba6f8e3a68953b.tar.gz rneovim-05ae9781b5d1dbff7bf82051e9ba6f8e3a68953b.tar.bz2 rneovim-05ae9781b5d1dbff7bf82051e9ba6f8e3a68953b.zip |
Merge PR #1255 '[RDY] Set `v:job_data[2]` line-wise and `jobsend(,[list]). (#1243)'
Diffstat (limited to 'src/nvim/memory.c')
-rw-r--r-- | src/nvim/memory.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/nvim/memory.c b/src/nvim/memory.c index 59edefec4a..4b24213ecd 100644 --- a/src/nvim/memory.c +++ b/src/nvim/memory.c @@ -389,6 +389,25 @@ char *xstrdup(const char *str) return ret; } +/// A version of memchr that starts the search at `src + len`. +/// +/// Based on glibc's memrchr. +/// +/// @param src The source memory object. +/// @param c The byte to search for. +/// @param len The length of the memory object. +/// @returns a pointer to the found byte in src[len], or NULL. +void *xmemrchr(void *src, uint8_t c, size_t len) + FUNC_ATTR_NONNULL_ALL FUNC_ATTR_PURE +{ + while (len--) { + if (((uint8_t *)src)[len] == c) { + return (uint8_t *) src + len; + } + } + return NULL; +} + /// strndup() wrapper /// /// @see {xmalloc} |