1
Dependents: internet_radio_leo
Fork of WIZnetInterface by
Diff: Socket/pico_string.h
- Revision:
- 0:6f28332c466f
diff -r 000000000000 -r 6f28332c466f Socket/pico_string.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Socket/pico_string.h Mon Jun 15 11:18:37 2015 +0900 @@ -0,0 +1,46 @@ +// pico_string.h 2013/8/27 +#pragma once +class pico_string { +public: + pico_string(){ + _len = 0; + _buf = (char*)malloc(1); + if (_buf) { + _buf[0] = '\0'; + } + } + ~pico_string() { + if (_buf) { + free(_buf); + } + } + bool empty() { + return _len == 0; + } + void append(const char* s, int len) { + if (_buf == NULL) { + return; + } + char* p = (char*)malloc(_len+len+1); + if (p == NULL) { + return; + } + memcpy(p, _buf, _len); + memcpy(p+_len, s, len); + p[_len+len] = '\0'; + free(_buf); + _buf = p; + } + void append(const char* s) { + append(s, strlen(s)); + } + char* c_str() { + if (_buf) { + return _buf; + } + return ""; + } +private: + char* _buf; + int _len; +};