* [PATCH v2 1/2] util: Add suffix check for a string
@ 2016-04-25 20:51 Tim Kourt
2016-04-25 20:51 ` [PATCH v2 2/2] unit: Add tests for the " Tim Kourt
2016-04-26 3:48 ` [PATCH v2 1/2] util: Add " Denis Kenzior
0 siblings, 2 replies; 3+ messages in thread
From: Tim Kourt @ 2016-04-25 20:51 UTC (permalink / raw)
To: ell
[-- Attachment #1: Type: text/plain, Size: 1623 bytes --]
---
ell/util.c | 32 ++++++++++++++++++++++++++++++++
ell/util.h | 1 +
2 files changed, 33 insertions(+)
diff --git a/ell/util.c b/ell/util.c
index f920895..98916e5 100644
--- a/ell/util.c
+++ b/ell/util.c
@@ -444,6 +444,38 @@ LIB_EXPORT bool l_str_has_prefix(const char *str, const char *prefix)
}
/**
+ * l_str_has_suffix:
+ * @str: A string to be examined
+ * @suffix: Suffix string
+ *
+ * Determines if the string given by @str ends with the specified @suffix.
+ *
+ * Returns: True if @str ends with the specified @suffix. False otherwise.
+ */
+LIB_EXPORT bool l_str_has_suffix(const char *str, const char *suffix)
+{
+ size_t str_len;
+ size_t suffix_len;
+ size_t len_diff;
+
+ if (unlikely(!str))
+ return false;
+
+ if (unlikely(!suffix))
+ return false;
+
+ str_len = strlen(str);
+ suffix_len = strlen(suffix);
+
+ if (str_len < suffix_len)
+ return false;
+
+ len_diff = str_len - suffix_len;
+
+ return !strcmp(&str[len_diff], suffix);
+}
+
+/**
* l_util_hexstring:
* @buf: buffer pointer
* @len: length of buffer
diff --git a/ell/util.h b/ell/util.h
index f6a88a0..92e7c8a 100644
--- a/ell/util.h
+++ b/ell/util.h
@@ -208,6 +208,7 @@ char **l_strsplit_set(const char *str, const char *separators);
char *l_strjoinv(char **str_array, const char delim);
bool l_str_has_prefix(const char *str, const char *prefix);
+bool l_str_has_suffix(const char *str, const char *suffix);
char *l_util_hexstring(const unsigned char *buf, size_t len);
unsigned char *l_util_from_hexstring(const char *str, size_t *out_len);
--
2.5.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH v2 2/2] unit: Add tests for the suffix check for a string
2016-04-25 20:51 [PATCH v2 1/2] util: Add suffix check for a string Tim Kourt
@ 2016-04-25 20:51 ` Tim Kourt
2016-04-26 3:48 ` [PATCH v2 1/2] util: Add " Denis Kenzior
1 sibling, 0 replies; 3+ messages in thread
From: Tim Kourt @ 2016-04-25 20:51 UTC (permalink / raw)
To: ell
[-- Attachment #1: Type: text/plain, Size: 1001 bytes --]
---
unit/test-util.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/unit/test-util.c b/unit/test-util.c
index d72646f..427c74a 100644
--- a/unit/test-util.c
+++ b/unit/test-util.c
@@ -62,6 +62,18 @@ static void test_from_hexstring(const void *test_data)
assert(!bytes);
}
+static void test_has_suffix(const void *test_data)
+{
+ const char *str = "string";
+ const char *suffix = "ing";
+
+ assert(l_str_has_suffix(str, suffix));
+ assert(l_str_has_suffix(str, str));
+ assert(!l_str_has_suffix(NULL, suffix));
+ assert(!l_str_has_suffix(str, NULL));
+ assert(!l_str_has_suffix(suffix, str));
+}
+
int main(int argc, char *argv[])
{
l_test_init(&argc, &argv);
@@ -69,5 +81,7 @@ int main(int argc, char *argv[])
l_test_add("l_util_hexstring", test_hexstring, NULL);
l_test_add("l_util_from_hexstring", test_from_hexstring, NULL);
+ l_test_add("l_util_has_suffix", test_has_suffix, NULL);
+
return l_test_run();
}
--
2.5.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2 1/2] util: Add suffix check for a string
2016-04-25 20:51 [PATCH v2 1/2] util: Add suffix check for a string Tim Kourt
2016-04-25 20:51 ` [PATCH v2 2/2] unit: Add tests for the " Tim Kourt
@ 2016-04-26 3:48 ` Denis Kenzior
1 sibling, 0 replies; 3+ messages in thread
From: Denis Kenzior @ 2016-04-26 3:48 UTC (permalink / raw)
To: ell
[-- Attachment #1: Type: text/plain, Size: 226 bytes --]
Hi Tim,
On 04/25/2016 03:51 PM, Tim Kourt wrote:
> ---
> ell/util.c | 32 ++++++++++++++++++++++++++++++++
> ell/util.h | 1 +
> 2 files changed, 33 insertions(+)
>
Both applied, thanks.
Regards,
-Denis
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-04-26 3:48 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-25 20:51 [PATCH v2 1/2] util: Add suffix check for a string Tim Kourt
2016-04-25 20:51 ` [PATCH v2 2/2] unit: Add tests for the " Tim Kourt
2016-04-26 3:48 ` [PATCH v2 1/2] util: Add " Denis Kenzior
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.