blob: b8fbb5c884600c33a40dabd2524fa76ec4849c44 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "charbuffer.h"
#include <cstring>
namespace vsm {
CharBuffer::CharBuffer(size_t len) :
_buffer(len),
_pos(0)
{ }
void
CharBuffer::put(const char * src, size_t n)
{
if (n > getRemaining()) {
resize(_pos + (n * 2));
}
char * dst = &_buffer[_pos];
memcpy(dst, src, n);
_pos += n;
}
void
CharBuffer::resize(size_t len)
{
if (len > getLength()) {
_buffer.resize(len);
}
}
}
|