[glib] gsocketaddress: don't return ABSTRACT if the OS doesn't support it
- From: Dan Winship <danw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] gsocketaddress: don't return ABSTRACT if the OS doesn't support it
- Date: Sat, 27 Aug 2011 16:29:26 +0000 (UTC)
commit 06b23e2b5416e994d29560436587a04b762e21cd
Author: Dan Winship <danw gnome org>
Date: Sat Aug 27 12:08:32 2011 -0400
gsocketaddress: don't return ABSTRACT if the OS doesn't support it
FreeBSD apparently has non-0-length (but nameless) ANONYMOUS sockets.
Fix the heuristics here.
gio/gsocketaddress.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
---
diff --git a/gio/gsocketaddress.c b/gio/gsocketaddress.c
index d4dcbb0..5d4ed26 100644
--- a/gio/gsocketaddress.c
+++ b/gio/gsocketaddress.c
@@ -260,7 +260,12 @@ g_socket_address_new_from_native (gpointer native,
}
else if (addr->sun_path[0] == 0)
{
- if (len < sizeof (*addr))
+ if (!g_unix_socket_address_abstract_names_supported ())
+ {
+ return g_unix_socket_address_new_with_type ("", 0,
+ G_UNIX_SOCKET_ADDRESS_ANONYMOUS);
+ }
+ else if (len < sizeof (*addr))
{
return g_unix_socket_address_new_with_type (addr->sun_path + 1,
path_len - 1,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]