aboutsummaryrefslogtreecommitdiff
path: root/src/extString.c
diff options
context:
space:
mode:
authoraxtloss <axtlos@getcryst.al>2024-05-28 19:12:49 +0200
committeraxtloss <axtlos@getcryst.al>2024-05-28 19:12:49 +0200
commite2d8b96945423c14adbf7a54693f5064d5b157c1 (patch)
tree0052bad56749bcdf9dd99e822bd9c2ebd54999d4 /src/extString.c
parentad8ba2db29c0f3abecb292b1059dad554bf7f3b5 (diff)
downloadautodarkmode-e2d8b96945423c14adbf7a54693f5064d5b157c1.tar.gz
autodarkmode-e2d8b96945423c14adbf7a54693f5064d5b157c1.tar.bz2
add configuration system
Diffstat (limited to 'src/extString.c')
-rw-r--r--src/extString.c63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/extString.c b/src/extString.c
new file mode 100644
index 0000000..6538dac
--- /dev/null
+++ b/src/extString.c
@@ -0,0 +1,63 @@
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+
+char *strlwr(char *s)
+{
+ unsigned char *p = (unsigned char *)s;
+
+ while (*p) {
+ *p = tolower((unsigned char)*p);
+ p++;
+ }
+
+ return s;
+}
+
+char *trim(char *s)
+{
+ char *result = strdup(s);
+ char *end;
+
+ while(isspace((unsigned char)*result)) result++;
+
+ if(*result == 0)
+ return result;
+
+ end = result + strlen(result) - 1;
+ while(end > result && isspace((unsigned char)*end)) end--;
+
+ end[1] = '\0';
+
+ return result;
+}
+
+char *replaceStr(char *s, char *old, char *replace) {
+ char* result;
+ int i, cnt = 0;
+ size_t newSize = strlen(replace);
+ size_t oldSize = strlen(old);
+
+ for (i = 0; s[i] != '\0'; i++) {
+ if (strstr(&s[i], old) == &s[i]) {
+ cnt++;
+ i += oldSize - 1;
+ }
+ }
+
+ result = (char*)malloc(i + cnt * (newSize - oldSize) + 1);
+
+ i = 0;
+ while (*s) {
+ if (strstr(s, old) == s) {
+ strcpy(&result[i], replace);
+ i += newSize;
+ s += oldSize;
+ }
+ else
+ result[i++] = *s++;
+ }
+
+ result[i] = '\0';
+ return result;
+};