From a67c578486a6854d784539f33fc15a65c2fd9fe8 Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Wed, 11 Feb 2026 12:21:21 +0100 Subject: [PATCH] xwin: replace putenv() by setenv() Signed-off-by: Enrico Weigelt, metux IT consult --- hw/xwin/InitOutput.c | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/hw/xwin/InitOutput.c b/hw/xwin/InitOutput.c index 57524dd8f0..9f81a941b7 100644 --- a/hw/xwin/InitOutput.c +++ b/hw/xwin/InitOutput.c @@ -30,6 +30,7 @@ from The Open Group. #include #include "win.h" +#include "os-compat.h" #include "dix/dix_priv.h" #include "dix/screenint_priv.h" @@ -556,35 +557,26 @@ winFixupPaths(void) #ifdef RELOCATE_PROJECTROOT if (getenv("XKEYSYMDB") == NULL) { char buffer[MAX_PATH]; - - snprintf(buffer, sizeof(buffer), "XKEYSYMDB=%s\\XKeysymDB", basedir); - buffer[sizeof(buffer) - 1] = 0; - putenv(buffer); + snprintf(buffer, sizeof(buffer), "%s\\XKeysymDB", basedir); + setenv("XKEYSYMDB", buffer, 1); } if (getenv("XERRORDB") == NULL) { char buffer[MAX_PATH]; - - snprintf(buffer, sizeof(buffer), "XERRORDB=%s\\XErrorDB", basedir); - buffer[sizeof(buffer) - 1] = 0; - putenv(buffer); + snprintf(buffer, sizeof(buffer), "%s\\XErrorDB", basedir); + setenv("XERRORDB", buffer, 1); } if (getenv("XLOCALEDIR") == NULL) { char buffer[MAX_PATH]; - - snprintf(buffer, sizeof(buffer), "XLOCALEDIR=%s\\locale", basedir); - buffer[sizeof(buffer) - 1] = 0; - putenv(buffer); + snprintf(buffer, sizeof(buffer), "%s\\locale", basedir); + setenv("XLOCALEDIR", buffer, 1); } if (getenv("HOME") == NULL) { - char buffer[MAX_PATH + 5] = {0}; - - strncpy(buffer, "HOME=", 6); + char buffer[MAX_PATH] = {0}; /* query appdata directory */ if (SHGetFolderPathA - (NULL, CSIDL_APPDATA | CSIDL_FLAG_CREATE, NULL, 0, - buffer + 5) == 0) { - putenv(buffer); + (NULL, CSIDL_APPDATA | CSIDL_FLAG_CREATE, NULL, 0, buffer) == 0) { + setenv("HOME", buffer, 1); } else { winMsg(X_ERROR, "Can not determine HOME directory\n");