<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -208,25 +208,6 @@ void my_lua_error (lua_State *L, const char *errmsg)
   lua_error (L);
 }
 
-
-/* if the stack size is not `desired_n', trigger a lua runtime error. */
-
-/* check that a given stack value is a port number, and return its value. */
-
-int get_port_number (lua_State *L, int i)
-{
-  double port_d;
-  int port;
-  if (!lua_isnumber (L,i)) my_lua_error (L,&quot;port number argument is bad&quot;);
-  port_d = lua_tonumber (L,i);
-  if (port_d &lt; 0 || port_d &gt; 0xffff)
-    my_lua_error (L,&quot;port number must be in the range 0..65535&quot;);
-  port = (int) port_d;
-  if (port_d != port) my_lua_error (L,&quot;port number must be an integer&quot;);
-  return port;
-}
-
-
 int check_num_args (lua_State *L, int desired_n)
 {
   int n = lua_gettop (L);   /* number of arguments on stack */</diff>
      <filename>luarpc.c</filename>
    </modified>
    <modified>
      <diff>@@ -10,11 +10,12 @@
 /* Setup Transport */
 void transport_init (Transport *tpt)
 {
-	
+	tpt-&gt;wrfd = INVALID_TRANSPORT;
+	tpt-&gt;rdfd = INVALID_TRANSPORT;
 }
 
 /* Open Listener / Server */
-void transport_open_listener(Transport *tpt, int port)
+void transport_open_listener(lua_State *L, ServerHandle *handle)
 {
 	
 }</diff>
      <filename>luarpc_fifo.c</filename>
    </modified>
    <modified>
      <diff>@@ -111,7 +111,13 @@ enum {
 
 /* Transport Connection Structure */
 struct _Transport {
+#ifdef LUARPC_ENABLE_SOCKET
   SOCKTYPE fd;      /* INVALID_TRANSPORT if socket is closed */
+#endif
+
+#ifdef LUARPC_ENABLE_FIFO
+	int wrfd, rdfd;
+#endif
 };
 typedef struct _Transport Transport;
 
@@ -150,7 +156,6 @@ Handle * handle_create (lua_State *L);
 int check_num_args (lua_State *L, int desired_n);
 void deal_with_error (lua_State *L, Handle *h, const char *error_string);
 void exception_throw (int n);
-int get_port_number (lua_State *L, int i);
 
 /* TRANSPORT API */
 </diff>
      <filename>luarpc_rpc.h</filename>
    </modified>
    <modified>
      <diff>@@ -146,6 +146,25 @@ const char * transport_strerror (int n)
 
 #endif /* END WINDOWS SOCKET STUFF  */
 
+/* check that a given stack value is a port number, and return its value. */
+
+static int get_port_number (lua_State *L, int i)
+{
+  double port_d;
+  int port;
+  if (!lua_isnumber (L,i)) my_lua_error (L,&quot;port number argument is bad&quot;);
+
+  port_d = lua_tonumber (L,i);
+  
+	if (port_d &lt; 0 || port_d &gt; 0xffff)
+    my_lua_error (L,&quot;port number must be in the range 0..65535&quot;);
+  
+	port = (int) port_d;
+  if (port_d != port)
+		my_lua_error (L,&quot;port number must be an integer&quot;);
+  
+	return port;
+}
 
 /****************************************************************************/
 /* socket reading and writing functions.
@@ -300,7 +319,7 @@ void transport_open_listener(lua_State *L, ServerHandle *handle)
 {
 	int port;
 
-  check_num_args (L,2);
+  check_num_args (L,2); /* 2nd arg is server handle */
   port = get_port_number (L,1);
 
 	transport_open (&amp;handle-&gt;ltpt);</diff>
      <filename>luarpc_socket.c</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>81d37325ad8211c8da30ece0fa8abcad700769f6</id>
    </parent>
  </parents>
  <author>
    <name>James Snyder</name>
    <email>jbsnyder@fanplastic.org</email>
  </author>
  <url>http://github.com/jsnyder/luarpc/commit/68f5dac440bf714004087e0ef9ea0bec264f76ff</url>
  <id>68f5dac440bf714004087e0ef9ea0bec264f76ff</id>
  <committed-date>2009-05-26T12:43:23-07:00</committed-date>
  <authored-date>2009-05-26T12:43:23-07:00</authored-date>
  <message>Move port checking code to transport side.</message>
  <tree>f7ad6e7bfcbbc59e379b85d58d102f5249e06460</tree>
  <committer>
    <name>James Snyder</name>
    <email>jbsnyder@fanplastic.org</email>
  </committer>
</commit>
