diff --git a/src/client/main.c b/src/client/main.c index 7a82c09b69fb0f67b1ad66f7008eba08d2e70313..2cdc22c6f4fd0fe99d2c63f881be73e581910d08 100644 --- a/src/client/main.c +++ b/src/client/main.c @@ -688,14 +688,21 @@ int main(int argc, char *argv[]) // Door (hard coded) if( strcmp(gsItemPattern, "door") == 0 ) { - // Connect, Authenticate, dispense and close - sock = OpenConnection(gsDispenseServer, giDispensePort); - if( sock < 0 ) return RV_SOCKET_ERROR; - ret = Authenticate(sock); - if(ret) return ret; - ret = DispenseItem(sock, "door", 0); - close(sock); - return ret; + //confirmation + printf("Confirm to unlock the door? Y/N\n"); + char userInput[2] = {'N'}; + fgets(userInput, 2, stdin); + if(userInput[0] == 'Y'||userInput[0] == 'y') + { + // Connect, Authenticate, dispense and close + sock = OpenConnection(gsDispenseServer, giDispensePort); + if( sock < 0 ) return RV_SOCKET_ERROR; + ret = Authenticate(sock); + if(ret) return ret; + ret = DispenseItem(sock, "door", 0); + close(sock); + return ret; + } } // Item id (<type>:<num>) else if( RunRegex(&gUserItemIdentRegex, gsItemPattern, 3, matches, NULL) == 0 )