diff --git a/include/serial.h b/include/serial.h index d81b7fe..185a50b 100644 --- a/include/serial.h +++ b/include/serial.h @@ -42,7 +42,9 @@ public: std::string GetTimeNow(){ auto now = std::chrono::system_clock::now(); auto now_c = std::chrono::system_clock::to_time_t(now); - return std::ctime(&now_c); + char buffer[32]; + ctime_s(buffer, 32, &now_c); + return std::string(buffer); } template @@ -95,10 +97,12 @@ public: Log("Send: " + reallyCommand); std::this_thread::sleep_for(10ms); // char buffer[ser.available()] = {0}; - char* buffer = (char*)malloc(sizeof(char)*ser.available()); - std::cout< 0){ + buffer[size] = '\0'; response = std::string(buffer); Log("Receive: " + response); delete[] buffer; @@ -123,8 +127,9 @@ public: Log("Send : " + reallyCommand); while(std::chrono::system_clock::now() < endTime){ std::this_thread::sleep_for(10ms); - auto buffer = new char[ser.available()]; - auto size = ser.readBytes(buffer, sizeof(buffer), timeout); + auto availableSize = ser.available(); + auto buffer = new char[availableSize]; + auto size = ser.readBytes(buffer, availableSize, timeout); auto str = std::string(buffer); delete[] buffer; if(size > 0)