mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-26 22:16:16 +01:00
New function to list all environment variables. (#166327, Hans Petter
2005-02-07 Matthias Clasen <mclasen@redhat.com> * glib/glib.symbols: * glib/gutils.h: * glib/gutils.c (g_listenv): New function to list all environment variables. (#166327, Hans Petter Jansson)
This commit is contained in:
parent
7b93170258
commit
f18cab0ce3
@ -1,3 +1,10 @@
|
||||
2005-02-07 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* glib/glib.symbols:
|
||||
* glib/gutils.h:
|
||||
* glib/gutils.c (g_listenv): New function to list all
|
||||
environment variables. (#166327, Hans Petter Jansson)
|
||||
|
||||
2005-02-07 Tor Lillqvist <tml@novell.com>
|
||||
|
||||
* glib-zip.in: Add gmodule-no-export-2.0.pc.
|
||||
|
@ -1,3 +1,10 @@
|
||||
2005-02-07 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* glib/glib.symbols:
|
||||
* glib/gutils.h:
|
||||
* glib/gutils.c (g_listenv): New function to list all
|
||||
environment variables. (#166327, Hans Petter Jansson)
|
||||
|
||||
2005-02-07 Tor Lillqvist <tml@novell.com>
|
||||
|
||||
* glib-zip.in: Add gmodule-no-export-2.0.pc.
|
||||
|
@ -1,3 +1,10 @@
|
||||
2005-02-07 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* glib/glib.symbols:
|
||||
* glib/gutils.h:
|
||||
* glib/gutils.c (g_listenv): New function to list all
|
||||
environment variables. (#166327, Hans Petter Jansson)
|
||||
|
||||
2005-02-07 Tor Lillqvist <tml@novell.com>
|
||||
|
||||
* glib-zip.in: Add gmodule-no-export-2.0.pc.
|
||||
|
@ -1,3 +1,10 @@
|
||||
2005-02-07 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* glib/glib.symbols:
|
||||
* glib/gutils.h:
|
||||
* glib/gutils.c (g_listenv): New function to list all
|
||||
environment variables. (#166327, Hans Petter Jansson)
|
||||
|
||||
2005-02-07 Tor Lillqvist <tml@novell.com>
|
||||
|
||||
* glib-zip.in: Add gmodule-no-export-2.0.pc.
|
||||
|
@ -1,3 +1,7 @@
|
||||
2005-02-07 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* glib/glib-sections.txt: Add g_listenv.
|
||||
|
||||
2005-02-04 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* glib/tmpl/linked_lists_double.sgml:
|
||||
|
@ -1283,6 +1283,7 @@ g_set_prgname
|
||||
g_getenv
|
||||
g_setenv
|
||||
g_unsetenv
|
||||
g_listenv
|
||||
g_get_user_name
|
||||
g_get_real_name
|
||||
g_get_user_cache_dir
|
||||
|
@ -372,6 +372,7 @@ g_key_file_set_string_list
|
||||
g_key_file_set_value
|
||||
g_key_file_to_data G_GNUC_MALLOC
|
||||
glib_check_version
|
||||
g_listenv
|
||||
g_list_alloc
|
||||
g_list_append
|
||||
g_list_concat
|
||||
|
@ -1215,12 +1215,12 @@ g_setenv (const gchar *variable,
|
||||
}
|
||||
|
||||
#ifndef G_OS_WIN32
|
||||
#ifndef HAVE_UNSETENV
|
||||
|
||||
/* According to the Single Unix Specification, environ is not in
|
||||
* any system header, although unistd.h often declares it.
|
||||
*/
|
||||
extern char **environ;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/**
|
||||
@ -1312,6 +1312,36 @@ g_unsetenv (const gchar *variable)
|
||||
#endif /* G_OS_WIN32 */
|
||||
}
|
||||
|
||||
/**
|
||||
* g_listenv:
|
||||
*
|
||||
* Gets the names of all variables set in the environment.
|
||||
*
|
||||
* Return: a NUL-terminated list of strings which must be freed
|
||||
* with g_strfreev().
|
||||
*
|
||||
* Since: 2.8
|
||||
*/
|
||||
gchar **
|
||||
g_listenv (void)
|
||||
{
|
||||
gchar **result, *eq;
|
||||
gint len, i;
|
||||
|
||||
len = g_strv_length (environ);
|
||||
result = g_new0 (gchar *, len + 1);
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
{
|
||||
eq = strchr (environ[i], '=');
|
||||
result[i] = g_strndup (environ[i], eq - environ[i]);
|
||||
}
|
||||
|
||||
result[len] = NULL;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
G_LOCK_DEFINE_STATIC (g_utils_global);
|
||||
|
||||
static gchar *g_tmp_dir = NULL;
|
||||
|
@ -193,7 +193,7 @@ gboolean g_setenv (const gchar *variable,
|
||||
const gchar *value,
|
||||
gboolean overwrite);
|
||||
void g_unsetenv (const gchar *variable);
|
||||
|
||||
gchar** g_listenv (void);
|
||||
|
||||
/* we try to provide a usefull equivalent for ATEXIT if it is
|
||||
* not defined, but use is actually abandoned. people should
|
||||
|
Loading…
Reference in New Issue
Block a user