aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/strs.c14
-rw-r--r--src/core/strs.h1
2 files changed, 15 insertions, 0 deletions
diff --git a/src/core/strs.c b/src/core/strs.c
index 7f236236..08338499 100644
--- a/src/core/strs.c
+++ b/src/core/strs.c
@@ -96,3 +96,17 @@ nni_strlcat(char *dst, const char *src, size_t len)
return (n - 1);
#endif
}
+
+size_t
+nni_strnlen(const char *s, size_t len)
+{
+#ifdef NNG_HAVE_STRNLEN
+ return (strnlen(s, len));
+#else
+ size_t n;
+ for (n = 0; (n < len) && (*s); n++) {
+ s++;
+ }
+ return (n);
+#endif
+}
diff --git a/src/core/strs.h b/src/core/strs.h
index 741504cd..42ec4997 100644
--- a/src/core/strs.h
+++ b/src/core/strs.h
@@ -17,5 +17,6 @@ extern char * nni_strdup(const char *);
extern void nni_strfree(char *);
extern size_t nni_strlcpy(char *, const char *, size_t);
extern size_t nni_strlcat(char *, const char *, size_t);
+extern size_t nni_strnlen(const char *, size_t);
#endif // CORE_STRS_H