diff options
Diffstat (limited to 'src/libstddjb/env_addmodif.c')
-rw-r--r-- | src/libstddjb/env_addmodif.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/libstddjb/env_addmodif.c b/src/libstddjb/env_addmodif.c new file mode 100644 index 0000000..4c34479 --- /dev/null +++ b/src/libstddjb/env_addmodif.c @@ -0,0 +1,18 @@ +/* ISC license. */ + +#include <skalibs/stralloc.h> +#include <skalibs/env.h> + +int env_addmodif (stralloc *sa, char const *s, char const *t) +{ + unsigned int 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 ; +} |