diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2024-11-19 22:57:13 +0000 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2024-11-19 22:57:13 +0000 |
commit | 9be89f131f87608f224f0ee06d199fcd09d32176 (patch) | |
tree | 11022dcfa9e08cb4ac5581b16734196128688d48 /src/nvim/strings.h | |
parent | ff7ed8f586589d620a806c3758fac4a47a8e7e15 (diff) | |
parent | 88085c2e80a7e3ac29aabb6b5420377eed99b8b6 (diff) | |
download | rneovim-9be89f131f87608f224f0ee06d199fcd09d32176.tar.gz rneovim-9be89f131f87608f224f0ee06d199fcd09d32176.tar.bz2 rneovim-9be89f131f87608f224f0ee06d199fcd09d32176.zip |
Merge remote-tracking branch 'upstream/master' into mix_20240309
Diffstat (limited to 'src/nvim/strings.h')
-rw-r--r-- | src/nvim/strings.h | 38 |
1 files changed, 18 insertions, 20 deletions
diff --git a/src/nvim/strings.h b/src/nvim/strings.h index f80e85afb0..c2d078615d 100644 --- a/src/nvim/strings.h +++ b/src/nvim/strings.h @@ -7,29 +7,9 @@ #include "klib/kvec.h" #include "nvim/api/private/defs.h" #include "nvim/eval/typval_defs.h" // IWYU pragma: keep -#include "nvim/func_attr.h" #include "nvim/os/os_defs.h" #include "nvim/types_defs.h" // IWYU pragma: keep -static inline char *strappend(char *dst, const char *src) - REAL_FATTR_ALWAYS_INLINE REAL_FATTR_NONNULL_ALL - REAL_FATTR_NONNULL_RET REAL_FATTR_WARN_UNUSED_RESULT; - -/// Append string to string and return pointer to the next byte -/// -/// Unlike strcat, this one does *not* add NUL byte and returns pointer to the -/// past of the added string. -/// -/// @param[out] dst String to append to. -/// @param[in] src String to append. -/// -/// @return pointer to the byte just past the appended byte. -static inline char *strappend(char *const dst, const char *const src) -{ - const size_t src_len = strlen(src); - return (char *)memmove(dst, src, src_len) + src_len; -} - typedef kvec_t(char) StringBuilder; // Return the length of a string literal @@ -46,8 +26,26 @@ typedef struct { #ifdef INCLUDE_GENERATED_DECLARATIONS # include "strings.h.generated.h" +# include "strings.h.inline.generated.h" #endif +/// Append string to string and return pointer to the next byte +/// +/// Unlike strcat, this one does *not* add NUL byte and returns pointer to the +/// past of the added string. +/// +/// @param[out] dst String to append to. +/// @param[in] src String to append. +/// +/// @return pointer to the byte just past the appended byte. +static inline char *strappend(char *const dst, const char *const src) + FUNC_ATTR_ALWAYS_INLINE FUNC_ATTR_NONNULL_ALL + FUNC_ATTR_NONNULL_RET FUNC_ATTR_WARN_UNUSED_RESULT +{ + const size_t src_len = strlen(src); + return (char *)memmove(dst, src, src_len) + src_len; +} + #ifdef HAVE_STRCASECMP # define STRICMP(d, s) strcasecmp((char *)(d), (char *)(s)) #else |