aboutsummaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
authorJ08nY2018-07-12 15:01:38 +0200
committerJ08nY2018-07-12 15:01:38 +0200
commit35d80e26ca2284e20ee93eb5bf05914f73fca6d3 (patch)
treea4b0387b523a6866b38658dbfa7c55f4dd9732d9 /src/util
parente73dbb321629b845d37cae1b8376a8ac5a7542be (diff)
downloadecgen-35d80e26ca2284e20ee93eb5bf05914f73fca6d3.tar.gz
ecgen-35d80e26ca2284e20ee93eb5bf05914f73fca6d3.tar.zst
ecgen-35d80e26ca2284e20ee93eb5bf05914f73fca6d3.zip
Add option to specify order by factors.
Diffstat (limited to 'src/util')
-rw-r--r--src/util/str.c7
-rw-r--r--src/util/str.h8
2 files changed, 15 insertions, 0 deletions
diff --git a/src/util/str.c b/src/util/str.c
index 7293538..ff075f2 100644
--- a/src/util/str.c
+++ b/src/util/str.c
@@ -65,3 +65,10 @@ char *str_joinv(char *separator, ...) {
char *str_concat(char **strings, size_t len) {
return str_join(NULL, strings, len);
}
+
+size_t str_cnt(const char *str, const char c) {
+ size_t result = 0;
+ for (; str[result]; str[result] == c ? result++ : *str++)
+ ;
+ return result;
+}
diff --git a/src/util/str.h b/src/util/str.h
index 2e2feba..a489116 100644
--- a/src/util/str.h
+++ b/src/util/str.h
@@ -42,4 +42,12 @@ char *str_joinv(char *separator, ...);
*/
char *str_concat(char **strings, size_t len);
+/**
+ * @brief
+ * @param str
+ * @param c
+ * @return
+ */
+size_t str_cnt(const char *str, const char c);
+
#endif // ECGEN_UTIL_STR_H