11#ifndef _RTE_STRING_FNS_H_
12#define _RTE_STRING_FNS_H_
19#include <rte_compat.h>
53 char **tokens,
int maxtokens,
char delim);
61rte_strlcpy(
char *dst,
const char *src,
size_t size)
63 return (
size_t)snprintf(dst, size,
"%s", src);
72rte_strlcat(
char *dst,
const char *src,
size_t size)
74 size_t l = strnlen(dst, size);
76 return l + rte_strlcpy(&dst[l], src, size - l);
77 return l + strlen(src);
85#if !defined(RTE_HAS_STRLCPY) || \
86 (defined(RTE_EXEC_ENV_FREEBSD) && !defined(__BSD_VISIBLE)) || \
87 (defined(__GLIBC__) && !defined(__USE_MISC))
88#define strlcpy(dst, src, size) rte_strlcpy(dst, src, size)
89#define strlcat(dst, src, size) rte_strlcat(dst, src, size)
131static inline const char *
__rte_experimental size_t rte_basename(const char *path, char *buf, size_t buflen)
static __rte_experimental const char * rte_str_skip_leading_spaces(const char *src)
ssize_t rte_strscpy(char *dst, const char *src, size_t dsize)
int rte_strsplit(char *string, int stringlen, char **tokens, int maxtokens, char delim)