+char *util_strchp(const char *s, const char *e) {
+ const char *c = NULL;
+ if (!s || !e)
+ return NULL;
+
+ c = s;
+ while (c != e)
+ c++;
+
+ return util_strdup(s);
+}
+
+/*
+ * Returns true if string is all uppercase, otherwise
+ * it returns false.
+ */
+bool util_strupper(const char *str) {
+ while (*str) {
+ if(!isupper(*str))
+ return false;
+ str++;
+ }
+ return true;
+}
+
+/*
+ * Returns true if string is all digits, otherwise
+ * it returns false.
+ */
+bool util_strdigit(const char *str) {
+ while (*str) {
+ if(!isdigit(*str))
+ return false;
+ str++;
+ }
+ return true;
+}
+
+bool util_strncmpexact(const char *src, const char *ned, size_t len) {
+ return (!strncmp(src, ned, len) && !src[len]);