basic: Add strv_extend_assignment()
This commit is contained in:
@@ -789,6 +789,22 @@ rollback:
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
int strv_extend_assignment(char ***l, const char *lhs, const char *rhs) {
|
||||
char *j;
|
||||
|
||||
assert(l);
|
||||
assert(lhs);
|
||||
|
||||
if (!rhs) /* value is optional, in which case we suppress the field */
|
||||
return 0;
|
||||
|
||||
j = strjoin(lhs, "=", rhs);
|
||||
if (!j)
|
||||
return -ENOMEM;
|
||||
|
||||
return strv_consume(l, j);
|
||||
}
|
||||
|
||||
int fputstrv(FILE *f, char * const *l, const char *separator, bool *space) {
|
||||
bool b = false;
|
||||
int r;
|
||||
|
||||
@@ -241,6 +241,8 @@ char** strv_skip(char **l, size_t n);
|
||||
|
||||
int strv_extend_n(char ***l, const char *value, size_t n);
|
||||
|
||||
int strv_extend_assignment(char ***l, const char *lhs, const char *rhs);
|
||||
|
||||
int fputstrv(FILE *f, char * const *l, const char *separator, bool *space);
|
||||
|
||||
#define strv_free_and_replace(a, b) \
|
||||
|
||||
Reference in New Issue
Block a user