* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include "config.h"
+
#include <sys/types.h>
#include "sys-tree.h"
#include <errno.h>
#include <pwd.h>
+#include "openbsd.h"
#include "doas.h"
-#include "includes.h"
+
+const char *formerpath;
struct envnode {
RB_ENTRY(envnode) node;
/* assign value or inherit from environ */
if (eq) {
val = eq + 1;
- if (*val == '$')
- val = getenv(val + 1);
+ if (*val == '$') {
+ if (strcmp(val + 1, "PATH") == 0)
+ val = formerpath;
+ else
+ val = getenv(val + 1);
+ }
} else {
- val = getenv(name);
+ if (strcmp(name, "PATH") == 0)
+ val = formerpath;
+ else
+ val = getenv(name);
}
/* at last, we have something to insert */
if (val) {