glib: use portable g_setenv()

We have a setenv() wrapper in os-win32.c that no one is actually using.
Drop it and change to g_setenv() uniformly.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <1576074210-52834-7-git-send-email-pbonzini@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Marc-André Lureau 2019-12-11 15:23:28 +01:00 committed by Thomas Huth
parent e858e04dd4
commit e468ffdc6d
8 changed files with 6 additions and 30 deletions

View File

@ -67,8 +67,6 @@ int getpagesize(void);
# define EPROTONOSUPPORT EINVAL
#endif
int setenv(const char *name, const char *value, int overwrite);
typedef struct {
long tv_sec;
long tv_usec;

View File

@ -30,28 +30,6 @@
#include "qemu-options.h"
#include "sysemu/runstate.h"
/***********************************************************/
/* Functions missing in mingw */
int setenv(const char *name, const char *value, int overwrite)
{
int result = 0;
if (overwrite || !getenv(name)) {
size_t length = strlen(name) + strlen(value) + 2;
char *string = g_malloc(length);
snprintf(string, length, "%s=%s", name, value);
result = putenv(string);
/* Windows takes a copy and does not continue to use our string.
* Therefore it can be safely freed on this platform. POSIX code
* typically has to leak the string because according to the spec it
* becomes part of the environment.
*/
g_free(string);
}
return result;
}
static BOOL WINAPI qemu_ctrl_handler(DWORD type)
{
qemu_system_shutdown_request(SHUTDOWN_CAUSE_HOST_SIGNAL);

View File

@ -254,7 +254,7 @@ QTestState *qtest_init_without_qmp_handshake(const char *extra_args)
s->expected_status = 0;
s->qemu_pid = fork();
if (s->qemu_pid == 0) {
setenv("QEMU_AUDIO_DRV", "none", true);
g_setenv("QEMU_AUDIO_DRV", "none", true);
execlp("/bin/sh", "sh", "-c", command, NULL);
exit(1);
}

View File

@ -141,7 +141,7 @@ int main(int argc, char **argv)
module_call_init(MODULE_INIT_QOM);
g_test_init(&argc, &argv, NULL);
setenv("GNUTLS_FORCE_FIPS_MODE", "2", 1);
g_setenv("GNUTLS_FORCE_FIPS_MODE", "2", 1);
mkdir(WORKDIR, 0700);

View File

@ -398,7 +398,7 @@ int main(int argc, char **argv)
module_call_init(MODULE_INIT_QOM);
g_test_init(&argc, &argv, NULL);
setenv("GNUTLS_FORCE_FIPS_MODE", "2", 1);
g_setenv("GNUTLS_FORCE_FIPS_MODE", "2", 1);
mkdir(WORKDIR, 0700);

View File

@ -273,7 +273,7 @@ int main(int argc, char **argv)
module_call_init(MODULE_INIT_QOM);
g_test_init(&argc, &argv, NULL);
setenv("GNUTLS_FORCE_FIPS_MODE", "2", 1);
g_setenv("GNUTLS_FORCE_FIPS_MODE", "2", 1);
mkdir(WORKDIR, 0700);

View File

@ -1325,7 +1325,7 @@ int main(int argc, char **argv)
module_call_init(MODULE_INIT_QOM);
setenv("QTEST_SILENT_ERRORS", "1", 1);
g_setenv("QTEST_SILENT_ERRORS", "1", 1);
g_test_init(&argc, &argv, NULL);
g_test_add_func("/vmstate/simple/primitive", test_simple_primitive);

View File

@ -772,7 +772,7 @@ static void sdl2_display_init(DisplayState *ds, DisplayOptions *o)
* This is a bit hackish but saves us from bigger problem.
* Maybe it's a good idea to fix this in SDL instead.
*/
setenv("SDL_VIDEODRIVER", "x11", 0);
g_setenv("SDL_VIDEODRIVER", "x11", 0);
#endif
if (SDL_Init(SDL_INIT_VIDEO)) {