35 ldns_buffer_invariant(buffer);
53 memcpy(buffer->
_data, data, size);
56 ldns_buffer_invariant(buffer);
64 ldns_buffer_invariant(buffer);
81 ldns_buffer_invariant(buffer);
84 size_t new_capacity = buffer->
_capacity * 3 / 2;
86 if (new_capacity < buffer->_position + amount) {
87 new_capacity = buffer->
_position + amount;
105 if (ldns_buffer_status_ok(buffer)) {
106 ldns_buffer_invariant(buffer);
109 remaining = ldns_buffer_remaining(buffer);
110 va_start(args, format);
111 written = vsnprintf((
char *) ldns_buffer_current(buffer), remaining,
117 }
else if ((
size_t) written >= remaining) {
122 va_start(args, format);
123 written = vsnprintf((
char *) ldns_buffer_current(buffer),
124 ldns_buffer_remaining(buffer), format, args);
153 return buffer->
_data;
159 if (!ldns_buffer_available_at(buffer, buffer->
_position,
sizeof(uint8_t))) {
160 ldns_buffer_set_position(buffer, ldns_buffer_limit(buffer));
164 return (
int)ldns_buffer_read_u8(buffer);
170 size_t tocopy = ldns_buffer_limit(from);
172 if(tocopy > ldns_buffer_capacity(result))
173 tocopy = ldns_buffer_capacity(result);
174 ldns_buffer_clear(result);
175 ldns_buffer_write(result, ldns_buffer_begin(from), tocopy);
176 ldns_buffer_flip(result);