Skip to content

Commit 7a40df0

Browse files
committed
Wrap cbuf inside AsyncResponseStream with a std::unique_ptr
Fraction of commit 8bb1c70 of dumbfixes branch of 0xFEEDC0DE64 fork of ESPAsyncWebServer. Split off for clarity.
1 parent 3f7ff64 commit 7a40df0

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

src/WebResponseImpl.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
#undef max
2828
#endif
2929
#include <vector>
30+
#include <memory>
31+
3032
// It is possible to restore these defines, but one can use _min and _max instead. Or std::min, std::max.
3133

3234
class AsyncBasicResponse: public AsyncWebServerResponse {
@@ -122,7 +124,7 @@ class cbuf;
122124

123125
class AsyncResponseStream: public AsyncAbstractResponse, public Print {
124126
private:
125-
cbuf *_content;
127+
std::unique_ptr<cbuf> _content;
126128
public:
127129
AsyncResponseStream(const String& contentType, size_t bufferSize);
128130
~AsyncResponseStream();

src/WebResponses.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -675,16 +675,15 @@ size_t AsyncProgmemResponse::_fillBuffer(uint8_t *data, size_t len){
675675
* Response Stream (You can print/write/printf to it, up to the contentLen bytes)
676676
* */
677677

678-
AsyncResponseStream::AsyncResponseStream(const String& contentType, size_t bufferSize){
678+
AsyncResponseStream::AsyncResponseStream(const String& contentType, size_t bufferSize)
679+
{
679680
_code = 200;
680681
_contentLength = 0;
681682
_contentType = contentType;
682-
_content = new cbuf(bufferSize);
683+
_content = std::unique_ptr<cbuf>(new cbuf(bufferSize)); //std::make_unique<cbuf>(bufferSize);
683684
}
684685

685-
AsyncResponseStream::~AsyncResponseStream(){
686-
delete _content;
687-
}
686+
AsyncResponseStream::~AsyncResponseStream() = default;
688687

689688
size_t AsyncResponseStream::_fillBuffer(uint8_t *buf, size_t maxLen){
690689
return _content->read((char*)buf, maxLen);

0 commit comments

Comments
 (0)