From 1cf2c568c9a8d3a515254036916219d1b12de4d0 Mon Sep 17 00:00:00 2001 From: Jan Breuer <jan.breuer@jaybee.cz> Date: 周二, 13 10月 2015 00:49:16 +0800 Subject: [PATCH] Resolve #57: SCPI_ExprChannelListEntry() crashes with whitespaces --- examples/test-interactive/main.c | 36 ++++++++++++++++++++++-------------- 1 files changed, 22 insertions(+), 14 deletions(-) diff --git a/examples/test-interactive/main.c b/examples/test-interactive/main.c index 6fd1d71..06b2fca 100644 --- a/examples/test-interactive/main.c +++ b/examples/test-interactive/main.c @@ -45,27 +45,33 @@ return fwrite(data, 1, len, stdout); } -int SCPI_Error(scpi_t * context, int_fast16_t err) { - (void) context; - - fprintf(stderr, "**ERROR: %d, \"%s\"\r\n", (int32_t) err, SCPI_ErrorTranslate(err)); - return 0; -} - -scpi_result_t SCPI_Srq(scpi_t * context) { - scpi_reg_val_t stb = SCPI_RegGet(context, SCPI_REG_STB); - fprintf(stderr, "**SRQ: 0x%X (%d)\r\n", stb, stb); +scpi_result_t SCPI_Flush(scpi_t * context) { return SCPI_RES_OK; } -scpi_result_t SCPI_Test(scpi_t * context) { - fprintf(stderr, "**Test\r\n"); +int SCPI_Error(scpi_t * context, int_fast16_t err) { + (void) context; + + fprintf(stderr, "**ERROR: %d, \"%s\"\r\n", (int16_t) err, SCPI_ErrorTranslate(err)); + return 0; +} + +scpi_result_t SCPI_Control(scpi_t * context, scpi_ctrl_name_t ctrl, scpi_reg_val_t val) { + if (SCPI_CTRL_SRQ == ctrl) { + fprintf(stderr, "**SRQ: 0x%X (%d)\r\n", val, val); + } else { + fprintf(stderr, "**CTRL %02x: 0x%X (%d)\r\n", ctrl, val, val); + } return SCPI_RES_OK; } scpi_result_t SCPI_Reset(scpi_t * context) { fprintf(stderr, "**Reset\r\n"); return SCPI_RES_OK; +} + +scpi_result_t SCPI_SystemCommTcpipControlQ(scpi_t * context) { + return SCPI_RES_ERR; } /* @@ -82,8 +88,10 @@ printf("SCPI Interactive demo\r\n"); char smbuffer[10]; while (1) { - fgets(smbuffer, 10, stdin); - SCPI_Input(&scpi_context, smbuffer, strlen(smbuffer)); + if (NULL == fgets(smbuffer, 10, stdin)) { + break; + } + SCPI_Input(&scpi_context, smbuffer, strlen(smbuffer)); } -- Gitblit v1.9.1