From 34993a23d9f51dae26f62cf5408304afbbc1aee9 Mon Sep 17 00:00:00 2001 From: Roy Xu <realroyxu@icloud.com> Date: Thu, 21 Mar 2024 15:19:15 +0800 Subject: [PATCH] Added an extra confirmation step for `dispense door` --- src/client/main.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/client/main.c b/src/client/main.c index 7a82c09..2cdc22c 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 ) -- GitLab