From 90cf59eccfd41846fc0fa03a6d5a010a91b46b86 Mon Sep 17 00:00:00 2001 From: Quentin Young Date: Sat, 18 May 2019 01:35:38 +0000 Subject: lib: replace begins_with, add frrstr_endswith * Change 'begins_with' to 'frrstr_startswith' for consistency * Add suffix checker, frrstr_endswith() * Update vtysh to use the new function Signed-off-by: Quentin Young --- lib/frrstr.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'lib/frrstr.c') diff --git a/lib/frrstr.c b/lib/frrstr.c index fbbc890ec6..c575c0b568 100644 --- a/lib/frrstr.c +++ b/lib/frrstr.c @@ -178,7 +178,7 @@ char *frrstr_replace(const char *str, const char *find, const char *replace) return nustr; } -bool begins_with(const char *str, const char *prefix) +bool frrstr_startswith(const char *str, const char *prefix) { if (!str || !prefix) return false; @@ -192,6 +192,20 @@ bool begins_with(const char *str, const char *prefix) return strncmp(str, prefix, lenprefix) == 0; } +bool frrstr_endswith(const char *str, const char *suffix) +{ + if (!str || !suffix) + return false; + + size_t lenstr = strlen(str); + size_t lensuffix = strlen(suffix); + + if (lensuffix > lenstr) + return false; + + return strncmp(&str[lenstr - lensuffix], suffix, lensuffix) == 0; +} + int all_digit(const char *str) { for (; *str != '\0'; str++) -- cgit v1.2.3