diff options
author | midipix <writeonce@midipix.org> | 2021-04-17 18:58:57 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2021-04-17 18:58:57 +0000 |
commit | e8bfe52070bfaa7934a02b78312b1689ac7b3805 (patch) | |
tree | 2ea29aa3210ce61e10bc55285d35124cb577fd42 /src/internal | |
parent | b0cc9e73cc56d6cacac4b9b709b8c508b798dc01 (diff) | |
download | slibtool-e8bfe52070bfaa7934a02b78312b1689ac7b3805.tar.bz2 slibtool-e8bfe52070bfaa7934a02b78312b1689ac7b3805.tar.xz |
library: eliminate use of the external environ variable.
Diffstat (limited to 'src/internal')
-rw-r--r-- | src/internal/slibtool_driver_impl.h | 8 | ||||
-rw-r--r-- | src/internal/slibtool_spawn_impl.h | 4 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/internal/slibtool_driver_impl.h b/src/internal/slibtool_driver_impl.h index 8aaf592..120c2e3 100644 --- a/src/internal/slibtool_driver_impl.h +++ b/src/internal/slibtool_driver_impl.h @@ -107,6 +107,7 @@ struct slbt_driver_ctx_impl { char ** dargv; char ** targv; char ** cargv; + char ** envp; struct slbt_error_info**errinfp; struct slbt_error_info**erricap; struct slbt_error_info *erriptr[64]; @@ -138,6 +139,13 @@ static inline struct slbt_driver_ctx_impl * slbt_get_driver_ictx(const struct sl return 0; } +static inline char ** slbt_driver_envp(const struct slbt_driver_ctx * dctx) +{ + struct slbt_driver_ctx_impl * ictx; + ictx = slbt_get_driver_ictx(dctx); + return ictx->envp; +} + static inline int slbt_driver_fdin(const struct slbt_driver_ctx * dctx) { struct slbt_fd_ctx fdctx; diff --git a/src/internal/slibtool_spawn_impl.h b/src/internal/slibtool_spawn_impl.h index da2e762..cfdd779 100644 --- a/src/internal/slibtool_spawn_impl.h +++ b/src/internal/slibtool_spawn_impl.h @@ -30,8 +30,6 @@ #include <spawn.h> #endif -extern char ** environ; - static inline int slbt_spawn( struct slbt_exec_ctx * ectx, bool fwait) @@ -45,7 +43,7 @@ static inline int slbt_spawn( ectx->program, 0,0, ectx->argv, - ectx->envp ? ectx->envp : environ)) + ectx->envp)) pid = -1; #else |