From 0476fa64b8c655a1f76f1522aa444ddfe06281bf Mon Sep 17 00:00:00 2001 From: Aaron LI Date: Fri, 5 Oct 2018 23:04:58 +0800 Subject: [PATCH] Do not use the non-standard clearenv() (#69) The clearenv() is not POSIX-standard, and doesn't exist on *BSD. Directly manipulate the 'environ' instead. --- src/login.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/login.c b/src/login.c index 0e20c2c..1b9bca1 100644 --- a/src/login.c +++ b/src/login.c @@ -268,6 +268,8 @@ enum err login_desktop(struct desktop* desktop, char tty_id [3]; char vt[5]; + extern char **environ; + display_id = get_free_display(); snprintf(display_name, sizeof(display_name), ":%d", display_id); snprintf(tty_id, sizeof(tty_id), "%d", config.tty); @@ -361,7 +363,7 @@ enum err login_desktop(struct desktop* desktop, tb_shutdown(); // initialization - clearenv(); + environ[0] = NULL; init_xdg(tty_id, display_name, display_server); // downgrades group permissions