diff --git a/include/SystemApplication.h b/include/SystemApplication.h index 2c04dbb..477de9c 100644 --- a/include/SystemApplication.h +++ b/include/SystemApplication.h @@ -32,7 +32,7 @@ #define EXPECTED_MAX_DATA_RESPONSE_SIZE (4096) #define VAR_MAX_NAME_LENGTH MAX_DYNVAR_NAME_LENGTH -#define VAR_MAX_VALUE_LENGTH (2048) +#define VAR_MAX_VALUE_LENGTH (1024) typedef enum { diff --git a/src/RestApiHandler.c b/src/RestApiHandler.c index 884bba5..0452c16 100644 --- a/src/RestApiHandler.c +++ b/src/RestApiHandler.c @@ -140,22 +140,6 @@ static void funct_wifiscanres(char *argres, int rw) { int arg = atoi(argres); wifi_ap_record_t *Rec; - /* - char onerec[64]; - strcpy(argres, "["); - for (int i = 0; i < arg; i++) - { - Rec = GetWiFiAPRecord(i); - if (!Rec) - return; - snprintf(onerec, MAX_DYNVAR_LENGTH, "{\"ssid\":\"%s\",\"rssi\":%i,\"ch\":%d}", Rec->ssid, Rec->rssi, - Rec->primary); - strcat(argres, onerec); - if (i < arg - 1) - strcat(argres, ","); - } - strcat(argres, "]"); - */ struct jWriteControl jwc; jwOpen(&jwc, argres, VAR_MAX_VALUE_LENGTH, JW_ARRAY, JW_COMPACT); for (int i = 0; i < arg; i++) @@ -170,8 +154,13 @@ static void funct_wifiscanres(char *argres, int rw) jwEnd(&jwc); } } - jwClose(&jwc); - + int err = jwClose(&jwc); + if (err == JWRITE_OK) + return; + if(err > JWRITE_BUF_FULL ) + strcpy(argres, "\"SYS_ERROR_NO_MEMORY\""); + else + strcpy(argres, "\"SYS_ERROR_UNKNOWN\""); } const int hw_rev = CONFIG_BOARD_HARDWARE_REVISION;