mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-20 15:48:54 +02: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:
committed by
Matthias Clasen
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>
|
2005-02-07 Tor Lillqvist <tml@novell.com>
|
||||||
|
|
||||||
* glib-zip.in: Add gmodule-no-export-2.0.pc.
|
* 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>
|
2005-02-07 Tor Lillqvist <tml@novell.com>
|
||||||
|
|
||||||
* glib-zip.in: Add gmodule-no-export-2.0.pc.
|
* 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>
|
2005-02-07 Tor Lillqvist <tml@novell.com>
|
||||||
|
|
||||||
* glib-zip.in: Add gmodule-no-export-2.0.pc.
|
* 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>
|
2005-02-07 Tor Lillqvist <tml@novell.com>
|
||||||
|
|
||||||
* glib-zip.in: Add gmodule-no-export-2.0.pc.
|
* 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>
|
2005-02-04 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
* glib/tmpl/linked_lists_double.sgml:
|
* glib/tmpl/linked_lists_double.sgml:
|
||||||
|
@@ -1283,6 +1283,7 @@ g_set_prgname
|
|||||||
g_getenv
|
g_getenv
|
||||||
g_setenv
|
g_setenv
|
||||||
g_unsetenv
|
g_unsetenv
|
||||||
|
g_listenv
|
||||||
g_get_user_name
|
g_get_user_name
|
||||||
g_get_real_name
|
g_get_real_name
|
||||||
g_get_user_cache_dir
|
g_get_user_cache_dir
|
||||||
|
@@ -372,6 +372,7 @@ g_key_file_set_string_list
|
|||||||
g_key_file_set_value
|
g_key_file_set_value
|
||||||
g_key_file_to_data G_GNUC_MALLOC
|
g_key_file_to_data G_GNUC_MALLOC
|
||||||
glib_check_version
|
glib_check_version
|
||||||
|
g_listenv
|
||||||
g_list_alloc
|
g_list_alloc
|
||||||
g_list_append
|
g_list_append
|
||||||
g_list_concat
|
g_list_concat
|
||||||
|
@@ -1215,12 +1215,12 @@ g_setenv (const gchar *variable,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifndef G_OS_WIN32
|
#ifndef G_OS_WIN32
|
||||||
#ifndef HAVE_UNSETENV
|
|
||||||
/* According to the Single Unix Specification, environ is not in
|
/* According to the Single Unix Specification, environ is not in
|
||||||
* any system header, although unistd.h often declares it.
|
* any system header, although unistd.h often declares it.
|
||||||
*/
|
*/
|
||||||
extern char **environ;
|
extern char **environ;
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1312,6 +1312,36 @@ g_unsetenv (const gchar *variable)
|
|||||||
#endif /* G_OS_WIN32 */
|
#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);
|
G_LOCK_DEFINE_STATIC (g_utils_global);
|
||||||
|
|
||||||
static gchar *g_tmp_dir = NULL;
|
static gchar *g_tmp_dir = NULL;
|
||||||
|
@@ -193,7 +193,7 @@ gboolean g_setenv (const gchar *variable,
|
|||||||
const gchar *value,
|
const gchar *value,
|
||||||
gboolean overwrite);
|
gboolean overwrite);
|
||||||
void g_unsetenv (const gchar *variable);
|
void g_unsetenv (const gchar *variable);
|
||||||
|
gchar** g_listenv (void);
|
||||||
|
|
||||||
/* we try to provide a usefull equivalent for ATEXIT if it is
|
/* we try to provide a usefull equivalent for ATEXIT if it is
|
||||||
* not defined, but use is actually abandoned. people should
|
* not defined, but use is actually abandoned. people should
|
||||||
|
Reference in New Issue
Block a user