Consistently include <config.h> in all C source files and never in header files.
[platform/upstream/dbus.git] / dbus / dbus-server-socket.c
index 92064ef..dbd7213 100644 (file)
  *
  */
 
+#include <config.h>
 #include "dbus-internals.h"
 #include "dbus-server-socket.h"
 #include "dbus-transport-socket.h"
 #include "dbus-connection-internal.h"
+#include "dbus-memory.h"
 #include "dbus-nonce.h"
 #include "dbus-string.h"
 
@@ -73,7 +75,8 @@ socket_finalize (DBusServer *server)
   dbus_free (socket_server->fds);
   dbus_free (socket_server->watch);
   dbus_free (socket_server->socket_name);
-  _dbus_noncefile_delete (socket_server->noncefile, NULL);
+  if (socket_server->noncefile)
+       _dbus_noncefile_delete (socket_server->noncefile, NULL);
   dbus_free (socket_server->noncefile);
   dbus_free (server);
 }
@@ -186,7 +189,10 @@ socket_handle_watch (DBusWatch    *watch,
 
       listen_fd = dbus_watch_get_socket (watch);
 
-      client_fd = _dbus_accept_with_noncefile (listen_fd, socket_server->noncefile);
+      if (socket_server->noncefile)
+          client_fd = _dbus_accept_with_noncefile (listen_fd, socket_server->noncefile);
+      else 
+          client_fd = _dbus_accept (listen_fd);
 
       if (client_fd < 0)
         {
@@ -338,8 +344,11 @@ _dbus_server_new_for_socket (int              *fds,
   return (DBusServer*) socket_server;
 
  failed_3:
-  _dbus_noncefile_delete (socket_server->noncefile, NULL);
-  _dbus_free (socket_server->noncefile );
+  if (socket_server->noncefile)
+    {
+      _dbus_noncefile_delete (socket_server->noncefile, NULL);
+      dbus_free (socket_server->noncefile );
+    }
  failed_2:
   for (i = 0 ; i < n_fds ; i++)
     {