diff options
author | bacalhau <bacalhau@based.pt> | 2025-06-08 15:55:29 +0100 |
---|---|---|
committer | bacalhau <bacalhau@based.pt> | 2025-06-08 15:55:29 +0100 |
commit | a3f76f49addeecb6138ee2ae1d089c60d2df04a7 (patch) | |
tree | 9b5ea1d3ef854d19f8239967c21d728edb27a397 /dwm/util.c.rej | |
parent | 3ab7348ee95f2918cb9ae299290a812252663923 (diff) |
Diffstat (limited to 'dwm/util.c.rej')
-rwxr-xr-x | dwm/util.c.rej | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/dwm/util.c.rej b/dwm/util.c.rej new file mode 100755 index 0000000..0bfd9b3 --- /dev/null +++ b/dwm/util.c.rej @@ -0,0 +1,38 @@ +--- util.c ++++ util.c +@@ -24,6 +24,35 @@ die(const char *fmt, ...) + + exit(1); + } ++/* ++ * Splits a string into segments according to a separator. A '\0' is written to ++ * the end of every segment. The beginning of every segment is written to ++ * 'pbegin'. Only the first 'maxcount' segments will be written if ++ * maxcount > 0. Inspired by python's split. ++ * ++ * Used exclusively by fakesignal() to split arguments. ++ */ ++size_t ++split(char *s, const char* sep, char **pbegin, size_t maxcount) { ++ ++ char *p, *q; ++ const size_t seplen = strlen(sep); ++ size_t count = 0; ++ ++ maxcount = maxcount == 0 ? (size_t)-1 : maxcount; ++ p = s; ++ while ((q = strstr(p, sep)) != NULL && count < maxcount) { ++ pbegin[count] = p; ++ *q = '\0'; ++ p = q + seplen; ++ count++; ++ } ++ if (count < maxcount) { ++ pbegin[count] = p; ++ count++; ++ } ++ return count; ++} + + void * + ecalloc(size_t nmemb, size_t size) |