Client - Fix to possible infinite loop in ReadLine
[tpg/opendispense2.git] / src / client / main.c
index b16c495..bf22fab 100644 (file)
@@ -146,6 +146,11 @@ void ShowUsage(void)
                        "    dispense iteminfo <itemid>\n"
                        "        Get the name and price for an item\n"
                        );
+//     if( giTextArgc == 0 || strcmp(gsTextArgs[0], "enumitems") == 0 )
+//             printf(
+//                     "    dispense enumitems\n"
+//                     "        List avaliable items\n"
+//                     );
        if( giTextArgc == 0 )
                printf("  == Coke members == \n");
        if( giTextArgc == 0 || strcmp(gsTextArgs[0], "acct") == 0 )
@@ -161,6 +166,8 @@ void ShowUsage(void)
                printf(
                        "    dispense refund <user> <itemid> [<price>]\n"
                        "        Refund an item to a user (with optional price override)\n"
+                       "        Item IDs can be seen in the cokelog (in the brackets after the item name)\n"
+                       "        e.g. coke:6 for a coke, snack:33 for slot 33 of the snack machine\n"
                        );
        if( giTextArgc == 0 || strcmp(gsTextArgs[0], "slot") == 0 )
                printf(
@@ -814,10 +821,10 @@ int main(int argc, char *argv[])
                if( j > 1 ) {
                        printf("%i items dispensed\n", j);
                }
+               Dispense_ShowUser(sock, gsUserName);
                close(sock);
-       }
 
-       Dispense_ShowUser(sock, gsUserName);
+       }
 
        return ret;
 }
@@ -2212,7 +2219,7 @@ char *ReadLine(int Socket)
                }
                else {
                        len = recv(Socket, buf+bufPos, BUFSIZ-1-bufPos, 0);
-                       if( len < 0 ) {
+                       if( len <= 0 ) {
                                free(ret);
                                return strdup("599 Client Connection Error\n");
                        }

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