From 898ee9b7b74416e139397034845ffcd437368fc1 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Tue, 9 Nov 2021 15:41:59 +0100 Subject: [PATCH] arguments stays for unknown enum --- .../src/slsDetectorServer_funcs.c | 32 ++++++++++++++++--- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c index 0c39d6ee3..799b561fb 100644 --- a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c +++ b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c @@ -432,9 +432,7 @@ void function_table() { void functionNotImplemented() { ret = FAIL; - sprintf(mess, - "Function (%s) is not implemented for this detector. Please do not " - "proceed.\n", + sprintf(mess, "Function (%s) is not implemented for this detector\n", getFunctionNameFromEnum((enum detFuncs)fnum)); LOG(logERROR, (mess)); } @@ -486,8 +484,17 @@ int executeCommand(char *command, char *result, enum TLogLevel level) { } int M_nofunc(int file_des) { + ret = FAIL; memset(mess, 0, sizeof(mess)); - functionNotImplemented(); + + // to receive any arguments + int n = 1; + while (n > 0) + n = receiveData(file_des, mess, MAX_STR_LENGTH, OTHER); + + sprintf(mess, "Unrecognized Function enum %d. Please do not proceed.\n", + fnum); + LOG(logERROR, (mess)); return Server_SendResult(file_des, OTHER, NULL, 0); } @@ -1555,8 +1562,15 @@ int set_module(int file_des) { } } + // receive all arguments + if (ret == FAIL) { + int n = 1; + while (n > 0) + n = receiveData(file_des, mess, MAX_STR_LENGTH, OTHER); + } + // only set - if (ret == OK && Server_VerifyLock() == OK) { + else if (Server_VerifyLock() == OK) { // check index // setsettings @@ -3628,6 +3642,10 @@ int program_fpga(int file_des) { memset(mess, 0, sizeof(mess)); #if defined(EIGERD) || defined(GOTTHARDD) + // to receive any arguments + int n = 1; + while (n > 0) + n = receiveData(file_des, mess, MAX_STR_LENGTH, OTHER); functionNotImplemented(); return Server_SendResult(file_des, INT32, NULL, 0); #else @@ -9304,6 +9322,10 @@ int update_kernel(int file_des) { memset(mess, 0, sizeof(mess)); #if !defined(JUNGFRAUD) && !defined(CHIPTESTBOARDD) && !defined(MOENCHD) && \ !defined(GOTTHARDD) + // to receive any arguments + int n = 1; + while (n > 0) + n = receiveData(file_des, mess, MAX_STR_LENGTH, OTHER); functionNotImplemented(); return Server_SendResult(file_des, INT32, NULL, 0); #else