mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-09-28 01:57:14 +02:00
New function. Returns the machine's name, or one of its names. Document
2005-06-22 Tor Lillqvist <tml@novell.com> * glib/gutils.c (g_get_host_name): New function. Returns the machine's name, or one of its names. Document that it is best-effort only, and not guaranteed to be unique or anything. (g_get_any_init): Get the host name here. On Unix use gethostname(), on Windows use GetComputerName(). (#5200) * glib/gutils.h * glib/glib.symbols: Add here, too. * tests/testglib.c: Test it.
This commit is contained in:
committed by
Tor Lillqvist
parent
da4aefe4a1
commit
477989f555
13
ChangeLog
13
ChangeLog
@@ -1,3 +1,16 @@
|
|||||||
|
2005-06-22 Tor Lillqvist <tml@novell.com>
|
||||||
|
|
||||||
|
* glib/gutils.c (g_get_host_name): New function. Returns the
|
||||||
|
machine's name, or one of its names. Document that it is
|
||||||
|
best-effort only, and not guaranteed to be unique or anything.
|
||||||
|
(g_get_any_init): Get the host name here. On Unix use
|
||||||
|
gethostname(), on Windows use GetComputerName(). (#5200)
|
||||||
|
|
||||||
|
* glib/gutils.h
|
||||||
|
* glib/glib.symbols: Add here, too.
|
||||||
|
|
||||||
|
* tests/testglib.c: Test it.
|
||||||
|
|
||||||
2005-06-18 Matthias Clasen <mclasen@redhat.com>
|
2005-06-18 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
* glib/goption.h:
|
* glib/goption.h:
|
||||||
|
@@ -1,3 +1,16 @@
|
|||||||
|
2005-06-22 Tor Lillqvist <tml@novell.com>
|
||||||
|
|
||||||
|
* glib/gutils.c (g_get_host_name): New function. Returns the
|
||||||
|
machine's name, or one of its names. Document that it is
|
||||||
|
best-effort only, and not guaranteed to be unique or anything.
|
||||||
|
(g_get_any_init): Get the host name here. On Unix use
|
||||||
|
gethostname(), on Windows use GetComputerName(). (#5200)
|
||||||
|
|
||||||
|
* glib/gutils.h
|
||||||
|
* glib/glib.symbols: Add here, too.
|
||||||
|
|
||||||
|
* tests/testglib.c: Test it.
|
||||||
|
|
||||||
2005-06-18 Matthias Clasen <mclasen@redhat.com>
|
2005-06-18 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
* glib/goption.h:
|
* glib/goption.h:
|
||||||
|
@@ -1,3 +1,16 @@
|
|||||||
|
2005-06-22 Tor Lillqvist <tml@novell.com>
|
||||||
|
|
||||||
|
* glib/gutils.c (g_get_host_name): New function. Returns the
|
||||||
|
machine's name, or one of its names. Document that it is
|
||||||
|
best-effort only, and not guaranteed to be unique or anything.
|
||||||
|
(g_get_any_init): Get the host name here. On Unix use
|
||||||
|
gethostname(), on Windows use GetComputerName(). (#5200)
|
||||||
|
|
||||||
|
* glib/gutils.h
|
||||||
|
* glib/glib.symbols: Add here, too.
|
||||||
|
|
||||||
|
* tests/testglib.c: Test it.
|
||||||
|
|
||||||
2005-06-18 Matthias Clasen <mclasen@redhat.com>
|
2005-06-18 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
* glib/goption.h:
|
* glib/goption.h:
|
||||||
|
@@ -1,3 +1,16 @@
|
|||||||
|
2005-06-22 Tor Lillqvist <tml@novell.com>
|
||||||
|
|
||||||
|
* glib/gutils.c (g_get_host_name): New function. Returns the
|
||||||
|
machine's name, or one of its names. Document that it is
|
||||||
|
best-effort only, and not guaranteed to be unique or anything.
|
||||||
|
(g_get_any_init): Get the host name here. On Unix use
|
||||||
|
gethostname(), on Windows use GetComputerName(). (#5200)
|
||||||
|
|
||||||
|
* glib/gutils.h
|
||||||
|
* glib/glib.symbols: Add here, too.
|
||||||
|
|
||||||
|
* tests/testglib.c: Test it.
|
||||||
|
|
||||||
2005-06-18 Matthias Clasen <mclasen@redhat.com>
|
2005-06-18 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
* glib/goption.h:
|
* glib/goption.h:
|
||||||
|
@@ -1164,6 +1164,7 @@ g_get_current_dir PRIVATE
|
|||||||
g_getenv PRIVATE
|
g_getenv PRIVATE
|
||||||
g_unsetenv PRIVATE
|
g_unsetenv PRIVATE
|
||||||
g_get_home_dir PRIVATE
|
g_get_home_dir PRIVATE
|
||||||
|
g_get_host_name
|
||||||
g_setenv PRIVATE
|
g_setenv PRIVATE
|
||||||
g_listenv PRIVATE
|
g_listenv PRIVATE
|
||||||
#ifdef G_OS_WIN32
|
#ifdef G_OS_WIN32
|
||||||
|
@@ -1363,6 +1363,7 @@ static gchar *g_tmp_dir = NULL;
|
|||||||
static gchar *g_user_name = NULL;
|
static gchar *g_user_name = NULL;
|
||||||
static gchar *g_real_name = NULL;
|
static gchar *g_real_name = NULL;
|
||||||
static gchar *g_home_dir = NULL;
|
static gchar *g_home_dir = NULL;
|
||||||
|
static gchar *g_host_name = NULL;
|
||||||
|
|
||||||
#ifdef G_OS_WIN32
|
#ifdef G_OS_WIN32
|
||||||
/* System codepage versions of the above, kept at file level so that they,
|
/* System codepage versions of the above, kept at file level so that they,
|
||||||
@@ -1442,6 +1443,8 @@ g_get_any_init (void)
|
|||||||
{
|
{
|
||||||
if (!g_tmp_dir)
|
if (!g_tmp_dir)
|
||||||
{
|
{
|
||||||
|
gchar hostname[100];
|
||||||
|
|
||||||
g_tmp_dir = g_strdup (g_getenv ("TMPDIR"));
|
g_tmp_dir = g_strdup (g_getenv ("TMPDIR"));
|
||||||
if (!g_tmp_dir)
|
if (!g_tmp_dir)
|
||||||
g_tmp_dir = g_strdup (g_getenv ("TMP"));
|
g_tmp_dir = g_strdup (g_getenv ("TMP"));
|
||||||
@@ -1650,6 +1653,22 @@ g_get_any_init (void)
|
|||||||
if (!g_real_name)
|
if (!g_real_name)
|
||||||
g_real_name = g_strdup ("Unknown");
|
g_real_name = g_strdup ("Unknown");
|
||||||
|
|
||||||
|
#ifndef G_OS_WIN32
|
||||||
|
if (gethostname (hostname, sizeof (hostname)) == -1)
|
||||||
|
g_host_name = g_strdup ("unknown");
|
||||||
|
else
|
||||||
|
g_host_name = g_strdup (hostname);
|
||||||
|
#else
|
||||||
|
{
|
||||||
|
DWORD size = sizeof (hostname);
|
||||||
|
|
||||||
|
if (!GetComputerName (hostname, &size))
|
||||||
|
g_host_name = g_strdup ("unknown");
|
||||||
|
else
|
||||||
|
g_host_name = g_strdup (hostname);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef G_OS_WIN32
|
#ifdef G_OS_WIN32
|
||||||
g_tmp_dir_cp = g_locale_from_utf8 (g_tmp_dir, -1, NULL, NULL, NULL);
|
g_tmp_dir_cp = g_locale_from_utf8 (g_tmp_dir, -1, NULL, NULL, NULL);
|
||||||
g_user_name_cp = g_locale_from_utf8 (g_user_name, -1, NULL, NULL, NULL);
|
g_user_name_cp = g_locale_from_utf8 (g_user_name, -1, NULL, NULL, NULL);
|
||||||
@@ -1761,6 +1780,33 @@ g_get_tmp_dir (void)
|
|||||||
return g_tmp_dir;
|
return g_tmp_dir;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* g_get_host_name:
|
||||||
|
*
|
||||||
|
* Return a name for the machine.
|
||||||
|
*
|
||||||
|
* The returned name is not necessarily a fully-qualified domain name,
|
||||||
|
* or even present in DNS or some other name service at all. It need
|
||||||
|
* not even be unique on your local network or site, but usually it
|
||||||
|
* is. Callers should not rely on the return value having any specific
|
||||||
|
* properties like uniqueness for security purposes. Even if the name
|
||||||
|
* of the machine is changed while an application is running, the
|
||||||
|
* return value from this function does not change. The returned
|
||||||
|
* string is owned by GLib and should not be modified or freed. If no
|
||||||
|
* name can be determined, a default fixed string "unknown" is
|
||||||
|
* returned.
|
||||||
|
*/
|
||||||
|
const gchar *
|
||||||
|
g_get_host_name (void)
|
||||||
|
{
|
||||||
|
G_LOCK (g_utils_global);
|
||||||
|
if (!g_tmp_dir)
|
||||||
|
g_get_any_init ();
|
||||||
|
G_UNLOCK (g_utils_global);
|
||||||
|
|
||||||
|
return g_host_name;
|
||||||
|
}
|
||||||
|
|
||||||
G_LOCK_DEFINE_STATIC (g_prgname);
|
G_LOCK_DEFINE_STATIC (g_prgname);
|
||||||
static gchar *g_prgname = NULL;
|
static gchar *g_prgname = NULL;
|
||||||
|
|
||||||
|
@@ -117,6 +117,7 @@ G_CONST_RETURN gchar* g_get_user_name (void);
|
|||||||
G_CONST_RETURN gchar* g_get_real_name (void);
|
G_CONST_RETURN gchar* g_get_real_name (void);
|
||||||
G_CONST_RETURN gchar* g_get_home_dir (void);
|
G_CONST_RETURN gchar* g_get_home_dir (void);
|
||||||
G_CONST_RETURN gchar* g_get_tmp_dir (void);
|
G_CONST_RETURN gchar* g_get_tmp_dir (void);
|
||||||
|
G_CONST_RETURN gchar* g_get_host_name (void);
|
||||||
gchar* g_get_prgname (void);
|
gchar* g_get_prgname (void);
|
||||||
void g_set_prgname (const gchar *prgname);
|
void g_set_prgname (const gchar *prgname);
|
||||||
G_CONST_RETURN gchar* g_get_application_name (void);
|
G_CONST_RETURN gchar* g_get_application_name (void);
|
||||||
|
@@ -438,6 +438,7 @@ main (int argc,
|
|||||||
g_free (string);
|
g_free (string);
|
||||||
g_print ("user: %s\n", g_get_user_name ());
|
g_print ("user: %s\n", g_get_user_name ());
|
||||||
g_print ("real: %s\n", g_get_real_name ());
|
g_print ("real: %s\n", g_get_real_name ());
|
||||||
|
g_print ("host: %s\n", g_get_host_name ());
|
||||||
s = g_get_home_dir ();
|
s = g_get_home_dir ();
|
||||||
g_print ("home: %s\n", s ? s : "NULL!");
|
g_print ("home: %s\n", s ? s : "NULL!");
|
||||||
s = g_get_user_data_dir ();
|
s = g_get_user_data_dir ();
|
||||||
|
Reference in New Issue
Block a user