From c0f9a0890bfe16bcfada006b144507eda99b60b7 Mon Sep 17 00:00:00 2001 From: biver Date: Tue, 23 Aug 2022 15:17:06 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A2=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20=D1=87?= =?UTF-8?q?=D0=B8=D1=82=D0=B0=D0=B5=D0=BC=20=D1=81=D1=86=D0=B5=D0=BD=D0=B0?= =?UTF-8?q?=D1=80=D0=B8=D0=B8=20=D0=B8=D0=B7=20JSON?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/classes/IoTScenario.cpp | 44 +++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/src/classes/IoTScenario.cpp b/src/classes/IoTScenario.cpp index a6f7f245..33eb84e0 100644 --- a/src/classes/IoTScenario.cpp +++ b/src/classes/IoTScenario.cpp @@ -929,30 +929,36 @@ void IoTScenario::loadScenario(String fileName) { // посимвольно с File myfile = seekFile(fileName); if (myfile.available()) { - String strFromFile = ""; - strFromFile = myfile.readString(); - Serial.println(strFromFile); - jsonRead(strFromFile, "scen", strFromFile, true); + strFromFile = new String(""); + + String strFromF = myfile.readString(); + Serial.println(strFromF); + jsonRead(strFromF, "scen", *strFromFile, true); myfile.close(); - getNextToken(); - while (strIterator < strFromFile.length() - 1) { - // Serial.printf("-%c", LastChar); - switch (CurTok) { - // case tok_eof: return; - // case ';': getNextToken(); break; // игнорируем верхнеуровневые точки с запятой. - case tok_if: { - String IDNames = ""; // накопитель встречающихся идентификаторов в условии - ScenarioElements.push_back(ParseIfExpr(&IDNames)); - // Serial.printf("vvvvvvvvvvvvvvvv %s", IDNames.c_str()); - break; + //Serial.println(*strFromFile); + + if (strFromFile->length()) { + getNextToken(); + while (strIterator < strFromFile->length() - 1) { + // Serial.printf("-%c", LastChar); + switch (CurTok) { + // case tok_eof: return; + // case ';': getNextToken(); break; // игнорируем верхнеуровневые точки с запятой. + case tok_if: { + String IDNames = ""; // накопитель встречающихся идентификаторов в условии + ScenarioElements.push_back(ParseIfExpr(&IDNames)); + break; + } + default: + getNextToken(); + break; } - default: - getNextToken(); - break; } } - // delete strFromFile; + + + delete strFromFile; strIterator = 0; } else { Error("Open file scenario error");