File tree 3 files changed +7
-18
lines changed
3 files changed +7
-18
lines changed Original file line number Diff line number Diff line change 13
13
Buffer::Buffer () noexcept {
14
14
}
15
15
16
- Buffer::Buffer (const std::vector<unsigned char > &_buffer) noexcept :
17
- buffer(_buffer) {
18
- }
19
-
20
16
void Buffer::clear () noexcept {
21
17
buffer.clear ();
22
18
}
23
19
24
- void Buffer::write (char * str, long length) noexcept {
20
+ void Buffer::write (char * str, unsigned long length) noexcept {
25
21
buffer.insert (buffer.end (), str, str + length);
26
22
}
27
23
@@ -45,13 +41,7 @@ void Buffer::merge(const Buffer &other) noexcept {
45
41
}
46
42
47
43
std::string Buffer::bytes () const noexcept {
48
- std::stringstream stream;
49
-
50
- unsigned long long size = buffer.size ();
51
- for (unsigned long long i = 0 ; i < size; ++i)
52
- stream << buffer[i];
53
-
54
- return stream.str ();
44
+ return std::string (buffer.begin (), buffer.end ());
55
45
}
56
46
57
47
std::string Buffer::flush () noexcept {
Original file line number Diff line number Diff line change 8
8
*/
9
9
10
10
#pragma once
11
- #include < vector >
12
- #include < sstream >
11
+ #include < deque >
12
+ #include < string >
13
13
#include < exception>
14
14
15
15
struct BufferOverflow : public std ::exception {};
16
16
17
17
class Buffer {
18
18
public:
19
19
Buffer () noexcept ;
20
- Buffer (const std::vector<unsigned char >&) noexcept ;
21
20
22
21
void clear () noexcept ;
23
- void write (char * str, long length) noexcept ;
22
+ void write (char * str, unsigned long length) noexcept ;
24
23
void discard (unsigned long long n);
25
24
26
25
unsigned long long size () const noexcept ;
@@ -102,5 +101,5 @@ class Buffer {
102
101
103
102
~Buffer ();
104
103
private:
105
- std::vector <unsigned char > buffer;
104
+ std::deque <unsigned char > buffer;
106
105
};
Original file line number Diff line number Diff line change @@ -720,7 +720,7 @@ static zend_function_entry buffer_object_methods[] = {
720
720
};
721
721
722
722
static zend_object* buffer_object_create (zend_class_entry *ce) {
723
- buffer_object *objval = (buffer_object*) ecalloc ( 1 , sizeof (buffer_object) + zend_object_properties_size (ce));
723
+ buffer_object *objval = (buffer_object*) emalloc ( sizeof (buffer_object) + zend_object_properties_size (ce));
724
724
725
725
zend_object* ret = buffer_object_to_zend_object (objval);
726
726
You can’t perform that action at this time.
0 commit comments