Added SILC Thread Queue API
[crypto.git] / apps / silcd / route.c
index a762edfa63828cb84c810ece51a556907016eee6..f32417c7f5657a7ba2ced36ac5504a684ee6ca7a 100644 (file)
@@ -2,9 +2,9 @@
 
   route.c
 
-  Author: Pekka Riikonen <priikone@poseidon.pspt.fi>
+  Author: Pekka Riikonen <priikone@silcnet.org>
 
-  Copyright (C) 2000 Pekka Riikonen
+  Copyright (C) 2000 - 2002 Pekka Riikonen
 
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -68,7 +68,7 @@ SilcServerEntry silc_server_route_check(SilcUInt32 dest,
    If we are normal server then this just returns our primary route. If
    we are router we will do route lookup. */
 
-SilcSocketConnection silc_server_route_get(SilcServer server, void *id,
+SilcPacketStream silc_server_route_get(SilcServer server, void *id,
                                           SilcIdType id_type)
 {
   if (server->server_type == SILC_ROUTER) {
@@ -97,11 +97,11 @@ SilcSocketConnection silc_server_route_get(SilcServer server, void *id,
 #endif
 
     router = silc_server_route_check(dest, port);
-    if (!router)
-      return (SilcSocketConnection)server->id_entry->router->connection;
-
-    return (SilcSocketConnection)router->connection;
+    if (router)
+      return router->connection;
   }
 
-  return (SilcSocketConnection)server->id_entry->router->connection;
+  return (server->id_entry->router) 
+       ? server->id_entry->router->connection
+       : NULL;
 }