diff options
Diffstat (limited to 'src/libenvexec/env_addmodif.c')
-rw-r--r-- | src/libenvexec/env_addmodif.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/libenvexec/env_addmodif.c b/src/libenvexec/env_addmodif.c new file mode 100644 index 0000000..ddd1be3 --- /dev/null +++ b/src/libenvexec/env_addmodif.c @@ -0,0 +1,19 @@ +/* ISC license. */ + +#include <sys/types.h> +#include <skalibs/stralloc.h> +#include <skalibs/env.h> + +int env_addmodif (stralloc *sa, char const *s, char const *t) +{ + size_t oldlen = sa->len ; + if (!s) return 1 ; + if (!stralloc_cats(sa, s)) return 0 ; + if ((t && (!stralloc_catb(sa, "=", 1) || !stralloc_cats(sa, t))) + || !stralloc_0(sa)) + { + sa->len = oldlen ; + return 0 ; + } + return 1 ; +} |