Fork of https://developer.mbed.org/users/bscott/code/STM32_USBDevice/
Fork of STM32_USBDevice by
Diff: USBSerial/USBWebUSBSerial.cpp
- Branch:
- feature_WebUSB
- Revision:
- 78:ba3f68a86e6d
- Parent:
- 77:a98f786d05d4
--- a/USBSerial/USBWebUSBSerial.cpp Tue Jul 24 13:08:29 2018 +0200 +++ b/USBSerial/USBWebUSBSerial.cpp Wed Jul 25 09:35:08 2018 +0200 @@ -113,6 +113,13 @@ createDynamicDescriptors(); } +USBWebUSBSerial::~USBWebUSBSerial() +{ + delete[] m_manufacturerStringDesc; + delete[] m_productStringDesc; + delete[] m_serialStringDesc; +} + void USBWebUSBSerial::USBCallback_busReset() { m_terminalConnected = false; @@ -510,23 +517,10 @@ return bosDescriptor; } - -int USBWebUSBSerial::_putc(int c) +int USBWebUSBSerial::read(uint8_t *buf, uint16_t size) { - if (!writeBuffered((uint8_t *)&c, 1)) - { - return 0; - } - return 1; -} - -int USBWebUSBSerial::_getc() -{ - uint8_t c = 0; - while (!available()); CriticalSectionLock lock; - m_inputBuffer.dequeue(&c); - return c; + return m_inputBuffer.dequeue(buf, size); } bool USBWebUSBSerial::writeBuffered(const uint8_t * buf, uint16_t size) @@ -628,7 +622,7 @@ void USBWebUSBSerial::setManufacturerName(const std::string &manufacturerName) { m_manufacturerName = manufacturerName; - delete m_manufacturerStringDesc; + delete[] m_manufacturerStringDesc; m_manufacturerStringDesc = nullptr; createDynamicDescriptors(); } @@ -636,7 +630,7 @@ void USBWebUSBSerial::setProductName(const std::string &productName) { m_productName = productName; - delete m_productStringDesc; + delete[] m_productStringDesc; m_productStringDesc = nullptr; createDynamicDescriptors(); } @@ -644,7 +638,7 @@ void USBWebUSBSerial::setSerialNumber(const std::string &serialNumber) { m_serialNumber = serialNumber; - delete m_serialStringDesc; + delete[] m_serialStringDesc; m_serialStringDesc = nullptr; createDynamicDescriptors(); }