Made llogin use a pty instead of a pipe pair
[tpg/opendispense2.git] / src / client / main.c
index 72dffdf..9b0f746 100644 (file)
@@ -295,13 +295,13 @@ int main(int argc, char *argv[])
        // Connect to server
        sock = OpenConnection(gsDispenseServer, giDispensePort);
        if( sock < 0 )  return -1;
-       
-       // Authenticate
-       Authenticate(sock);
 
        // Get items
        PopulateItemList(sock);
        
+       // Disconnect from server
+       close(sock);
+       
        if( gsItemPattern )
        {
                // TODO: Implement `dispense <name>`
@@ -345,11 +345,17 @@ int main(int argc, char *argv[])
                }
        }
        
+       
        // Check for a valid item ID
        if( i >= 0 )
+       {
+               // Connect, Authenticate, dispense and close
+               sock = OpenConnection(gsDispenseServer, giDispensePort);
+               if( sock < 0 )  return -1;
+               Authenticate(sock);
                DispenseItem(sock, i);
-
-       close(sock);
+               close(sock);
+       }
 
        return 0;
 }

UCC git Repository :: git.ucc.asn.au