X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gio%2Fgunixfdlist.c;h=5808e40cdf9a1dd9c6530e93481baa0b55556d51;hb=f14a66e3df9e5e3f0f170b68e976011c80ffc041;hp=9a888b2f61865295b171e45933025662305fb6a7;hpb=1b033919845cef366842373da9f1cfb56f522d01;p=platform%2Fupstream%2Fglib.git diff --git a/gio/gunixfdlist.c b/gio/gunixfdlist.c index 9a888b2..5808e40 100644 --- a/gio/gunixfdlist.c +++ b/gio/gunixfdlist.c @@ -26,39 +26,34 @@ * the %G_SOCKET_ADDRESS_UNIX family by using g_socket_send_message() * and received using g_socket_receive_message(). * - * Note that <gio/gunixfdlist.h> belongs to - * the UNIX-specific GIO interfaces, thus you have to use the - * gio-unix-2.0.pc pkg-config file when using it. + * Note that `` belongs to the UNIX-specific GIO + * interfaces, thus you have to use the `gio-unix-2.0.pc` pkg-config + * file when using it. */ #include "config.h" -#include -#include #include #include #include #include #include "gunixfdlist.h" +#include "gnetworking.h" #include "gioerror.h" - - -G_DEFINE_TYPE (GUnixFDList, g_unix_fd_list, G_TYPE_OBJECT) - struct _GUnixFDListPrivate { gint *fds; gint nfd; }; +G_DEFINE_TYPE_WITH_PRIVATE (GUnixFDList, g_unix_fd_list, G_TYPE_OBJECT) + static void g_unix_fd_list_init (GUnixFDList *list) { - list->priv = G_TYPE_INSTANCE_GET_PRIVATE (list, - G_TYPE_UNIX_FD_LIST, - GUnixFDListPrivate); + list->priv = g_unix_fd_list_get_instance_private (list); } static void @@ -80,7 +75,6 @@ g_unix_fd_list_class_init (GUnixFDListClass *class) { GObjectClass *object_class = G_OBJECT_CLASS (class); - g_type_class_add_private (class, sizeof (GUnixFDListPrivate)); object_class->finalize = g_unix_fd_list_finalize; } @@ -189,7 +183,8 @@ g_unix_fd_list_new_from_array (const gint *fds, list->priv->fds = g_new (gint, n_fds + 1); list->priv->nfd = n_fds; - memcpy (list->priv->fds, fds, sizeof (gint) * n_fds); + if (n_fds > 0) + memcpy (list->priv->fds, fds, sizeof (gint) * n_fds); list->priv->fds[n_fds] = -1; return list;