diff options
author | Robert Ancell <robert.ancell@canonical.com> | 2014-03-13 13:41:40 +1300 |
---|---|---|
committer | Robert Ancell <robert.ancell@canonical.com> | 2014-03-13 13:41:40 +1300 |
commit | 84e7c45a56571dd9d7bc23f7d3fe3f3fa2094213 (patch) | |
tree | 22736901ee0824f141079c944e7924bced583505 /src | |
parent | 59fd7d1dccaa7ddaa9e8367f3051e15e8ccc8a42 (diff) | |
parent | 34129d2017f3b2dbbd58a4da3f101aa1934be622 (diff) | |
download | lightdm-84e7c45a56571dd9d7bc23f7d3fe3f3fa2094213.tar.gz |
Don't use g_hash_table_get_keys_as_array, it's a glib 2.40 feature
Diffstat (limited to 'src')
-rw-r--r-- | src/process.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/process.c b/src/process.c index 71a4d77f..48811de1 100644 --- a/src/process.c +++ b/src/process.c @@ -177,6 +177,7 @@ process_start (Process *process, gboolean block) gchar **argv; gchar **env_keys, **env_values; guint i, env_length; + GList *link; pid_t pid; int log_fd = -1; GError *error = NULL; @@ -207,10 +208,14 @@ process_start (Process *process, gboolean block) } /* Work out variables to set */ - env_keys = (gchar **) g_hash_table_get_keys_as_array (process->priv->env, &env_length); + env_length = g_hash_table_size (process->priv->env); + env_keys = g_malloc (sizeof (gchar *) * env_length); env_values = g_malloc (sizeof (gchar *) * env_length); - for (i = 0; i < env_length; i++) + for (i = 0, link = g_hash_table_get_keys (process->priv->env); i < env_length; i++, link = link->next) + { + env_keys[i] = link->data; env_values[i] = g_hash_table_lookup (process->priv->env, env_keys[i]); + } pid = fork (); if (pid == 0) |