string-util: add new strdupcspn()/strdupspn()

These combine strndup() + strspn()/strcspn() into one.

There are a bunch of strndupa() calls that could use similar treatment
(or should be converted to strdup[c]spn(), but this commit doesn't
bother with that.
This commit is contained in:
Lennart Poettering
2023-01-20 17:27:51 +01:00
parent 71c6f0ac52
commit e8bec6242b
8 changed files with 27 additions and 13 deletions
+1 -4
View File
@@ -862,7 +862,6 @@ int executable_is_script(const char *path, char **interpreter) {
int get_proc_field(const char *filename, const char *pattern, const char *terminator, char **field) {
_cleanup_free_ char *status = NULL;
char *t, *f;
size_t len;
int r;
assert(terminator);
@@ -914,9 +913,7 @@ int get_proc_field(const char *filename, const char *pattern, const char *termin
t--;
}
len = strcspn(t, terminator);
f = strndup(t, len);
f = strdupcspn(t, terminator);
if (!f)
return -ENOMEM;