Commit 118c42e7 authored by Rodrigo Moya's avatar Rodrigo Moya

Always include G_SOCKET_FAMILY_UNIX value in GSocketFamily

This is needed because glib-mkenums doesn't handle #ifdef values in
enums, and so it needs to have all values always defined in the enum.
When not available, define the missing values to a negative value.
parent 091d6521
......@@ -3344,7 +3344,17 @@ g_pollhup=$glib_cv_value_POLLHUP
g_pollerr=$glib_cv_value_POLLERR
g_pollnval=$glib_cv_value_POLLNVAL
g_af_unix=$glib_cv_value_AF_UNIX
# If a family is not found on the system, define that family to
# a negative value, picking a different one for each undefined
# family (-1 for AF_UNIX, -2 for the next one, -3 ...)
# This is needed because glib-mkenums doesn't handle optional
# values in enums, and thus we have to have all existing values
# defined in the enum.
if "x$glib_cv_value_AF_UNIX" != "x"; then
g_af_unix=$glib_cv_value_AF_UNIX
else
g_af_unix=-1
fi
g_af_inet=$glib_cv_value_AF_INET
g_af_inet6=$glib_cv_value_AF_INET6
......
......@@ -687,9 +687,7 @@ typedef enum /*< flags >*/ {
*/
typedef enum {
G_SOCKET_FAMILY_INVALID,
#ifdef GLIB_SYSDEF_AF_UNIX
G_SOCKET_FAMILY_UNIX = GLIB_SYSDEF_AF_UNIX,
#endif
G_SOCKET_FAMILY_IPV4 = GLIB_SYSDEF_AF_INET,
G_SOCKET_FAMILY_IPV6 = GLIB_SYSDEF_AF_INET6
} GSocketFamily;
......
......@@ -500,6 +500,13 @@ g_socket_create_socket (GSocketFamily family,
g_assert_not_reached ();
}
if (family < 0)
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_INVALID_ARGUMENT,
_("Unable to create socket: %s"), _("Unknown family was specified"));
return -1;
}
if (protocol == -1)
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_INVALID_ARGUMENT,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment