diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-09-25 13:09:01 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-09-25 13:09:01 -0700 |
commit | ba75167d1e7c609b829978b3f4a748ce3cf69ad9 (patch) | |
tree | d7f4342eec79bd472ac0b0409346c679946f0442 /lib.h | |
parent | d95be98dd8b2feaffc296a19f9a6e59f76133568 (diff) | |
download | txr-ba75167d1e7c609b829978b3f4a748ce3cf69ad9.tar.gz txr-ba75167d1e7c609b829978b3f4a748ce3cf69ad9.tar.bz2 txr-ba75167d1e7c609b829978b3f4a748ce3cf69ad9.zip |
New function: replace-env.
Using this new function together with env, it's now possible
to save the set of environment variables, clobber it to a
specified set (possibly empty) and then restore it.
Useful for improved security in running child processes.
* lib.[ch] (chk_substrdup_utf8): New function.
* sysif.c (replace_env): New function.
(sysif_init): Register replace-env intrinsic.
* sysif.h (replace_env): Declared.
* txr.1: Documented.
* stdlib/doc-syms.tl: Updated.
Diffstat (limited to 'lib.h')
-rw-r--r-- | lib.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -735,6 +735,7 @@ wchar_t *chk_wrealloc(wchar_t *, size_t nwchar); wchar_t *chk_strdup(const wchar_t *str); wchar_t *chk_substrdup(const wchar_t *str, size_t off, size_t len); char *chk_strdup_utf8(const char *str); +char *chk_substrdup_utf8(const char *str, size_t off, size_t len); unsigned char *chk_strdup_8bit(const wchar_t *str); mem_t *chk_copy_obj(mem_t *orig, size_t size); mem_t *chk_xalloc(ucnum m, ucnum n, val self); |