From 6eec25e4c0d5d846eb5e67c37ab8974a258838dd Mon Sep 17 00:00:00 2001 From: Gary Talent Date: Fri, 4 May 2018 00:16:24 -0500 Subject: [PATCH] [ox/std] Add ox_strncpy and ox_strnlen --- deps/ox/src/ox/std/strops.hpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/deps/ox/src/ox/std/strops.hpp b/deps/ox/src/ox/std/strops.hpp index 67c47610..6cf146bb 100644 --- a/deps/ox/src/ox/std/strops.hpp +++ b/deps/ox/src/ox/std/strops.hpp @@ -12,6 +12,19 @@ #include "types.hpp" #include "typetraits.hpp" +constexpr char *ox_strncpy(char *dest, const char *src, std::size_t maxLen) noexcept { + for (std::size_t i = 0; i < maxLen && src[i]; i++) { + dest[i] = src[i]; + } + return dest; +} + +constexpr int ox_strnlen(const char *str1, int maxLen) noexcept { + int len = 0; + for (; len < maxLen && str1[len]; len++); + return len; +} + constexpr int ox_strlen(const char *str1) noexcept { int len = 0; for (; str1[len]; len++);