All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.