Răsfoiți Sursa

new connection: small refactoring for readability

Evgeny Grin (Karlson2k) 5 ani în urmă
părinte
comite
822802f218
1 a modificat fișierele cu 15 adăugiri și 18 ștergeri
  1. 15 18
      src/microhttpd/daemon.c

+ 15 - 18
src/microhttpd/daemon.c

@@ -2359,21 +2359,18 @@ psk_gnutls_adapter (gnutls_session_t session,
  * @param addrlen number of bytes in @a addr
  * @param external_add indicate that socket has been added externally
  * @param non_blck indicate that socket in non-blocking mode
- * @param pconnection pointer to variable that receive pointer to
- *        the new connection structure.
- * @return #MHD_YES on success, #MHD_NO if this daemon could
+ * @return pointer to the connection on success, NULL if this daemon could
  *        not handle the connection (i.e. malloc failed, etc).
  *        The socket will be closed in case of error; 'errno' is
  *        set to indicate further details about the error.
  */
-static enum MHD_Result
+static struct MHD_Connection *
 new_connection_prepare_ (struct MHD_Daemon *daemon,
                          MHD_socket client_socket,
                          const struct sockaddr *addr,
                          socklen_t addrlen,
                          bool external_add,
-                         bool non_blck,
-                         struct MHD_Connection **pconnection)
+                         bool non_blck)
 {
   struct MHD_Connection *connection;
   int eno = 0;
@@ -2392,7 +2389,7 @@ new_connection_prepare_ (struct MHD_Daemon *daemon,
 #ifdef ENOTSOCK
     errno = ENOTSOCK;
 #endif /* ENOTSOCK */
-    return MHD_NO;
+    return NULL;
 #endif /* ! MSG_NOSIGNAL */
   }
 #endif /* MHD_socket_nosignal_ */
@@ -2420,7 +2417,7 @@ new_connection_prepare_ (struct MHD_Daemon *daemon,
 #if ENFILE
     errno = ENFILE;
 #endif
-    return MHD_NO;
+    return NULL;
   }
 
   /* apply connection acceptance policy if present */
@@ -2442,7 +2439,7 @@ new_connection_prepare_ (struct MHD_Daemon *daemon,
 #if EACCESS
     errno = EACCESS;
 #endif
-    return MHD_NO;
+    return NULL;
   }
 
   if (NULL == (connection = MHD_calloc_ (1, sizeof (struct MHD_Connection))))
@@ -2458,7 +2455,7 @@ new_connection_prepare_ (struct MHD_Daemon *daemon,
                       addr,
                       addrlen);
     errno = eno;
-    return MHD_NO;
+    return NULL;
   }
 
   if (! external_add)
@@ -2487,7 +2484,7 @@ new_connection_prepare_ (struct MHD_Daemon *daemon,
                       addrlen);
     free (connection);
     errno = eno;
-    return MHD_NO;
+    return NULL;
   }
   memcpy (connection->addr,
           addr,
@@ -2549,7 +2546,7 @@ new_connection_prepare_ (struct MHD_Daemon *daemon,
 #if EPROTO
       errno = EPROTO;
 #endif
-      return MHD_NO;
+      return NULL;
     }
     gnutls_session_set_ptr (connection->tls_session,
                             connection);
@@ -2586,7 +2583,7 @@ new_connection_prepare_ (struct MHD_Daemon *daemon,
 #if EINVAL
       errno = EINVAL;
 #endif
-      return MHD_NO;
+      return NULL;
     }
 #if (GNUTLS_VERSION_NUMBER + 0 >= 0x030109) && ! defined(_WIN64)
     gnutls_transport_set_int (connection->tls_session,
@@ -2611,12 +2608,11 @@ new_connection_prepare_ (struct MHD_Daemon *daemon,
     free (connection);
     MHD_PANIC (_ ("TLS connection on non-TLS daemon.\n"));
     eno = EINVAL;
-    return MHD_NO;
+    return NULL;
 #endif /* ! HTTPS_SUPPORT */
   }
 
-  *pconnection = connection;
-  return MHD_YES;
+  return connection;
 }
 
 
@@ -2908,8 +2904,9 @@ internal_add_connection (struct MHD_Daemon *daemon,
     return MHD_NO;
   }
 
-  if (MHD_NO == new_connection_prepare_ (daemon, client_socket, addr, addrlen,
-                                         external_add, non_blck, &connection))
+  connection = new_connection_prepare_ (daemon, client_socket, addr, addrlen,
+                                        external_add, non_blck);
+  if (NULL == connection)
     return MHD_NO;
 
   if ((external_add) &&