INSIST(zone_config != NULL && zone_config_len > 0);
/* zone zonename { config; }; */
- result = isc_buffer_reserve(text, 6 + zone_name_len + 2 +
- zone_config_len + 2);
+ result = isc_buffer_reserve(*text, 6 + zone_name_len + 2 +
+ zone_config_len + 2);
if (result != ISC_R_SUCCESS) {
goto cleanup;
}
count = strtoul(ptr, NULL, 10);
}
- CHECK(isc_buffer_reserve(text, count));
+ CHECK(isc_buffer_reserve(*text, count));
for (i = 0; i < count; i++) {
CHECK(putuint8(text, chars[i % (sizeof(chars) - 1)]));
}
putmem(isc_buffer_t **b, const char *str, size_t len) {
isc_result_t result;
- result = isc_buffer_reserve(b, (unsigned int)len);
+ result = isc_buffer_reserve(*b, (unsigned int)len);
if (result != ISC_R_SUCCESS) {
return (ISC_R_NOSPACE);
}
putuint8(isc_buffer_t **b, uint8_t val) {
isc_result_t result;
- result = isc_buffer_reserve(b, 1);
+ result = isc_buffer_reserve(*b, 1);
if (result != ISC_R_SUCCESS) {
return (ISC_R_NOSPACE);
}
if (rawdata) {
while (fread(&c, 1, 1, f) != 0) {
- result = isc_buffer_reserve(&input, 1);
+ result = isc_buffer_reserve(input, 1);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
isc_buffer_putuint8(input, (uint8_t)c);
}
c = fromhex(*rp++);
c *= 16;
c += fromhex(*rp++);
- result = isc_buffer_reserve(&input, 1);
+ result = isc_buffer_reserve(input, 1);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
isc_buffer_putuint8(input, (uint8_t)c);
}
}
for (;;) {
- isc_buffer_reserve(&b, textlen);
+ isc_buffer_reserve(b, textlen);
if (b == NULL) {
fatal("out of memory");
}
putstr(isc_buffer_t **b, const char *str) {
isc_result_t result;
- result = isc_buffer_reserve(b, strlen(str));
+ result = isc_buffer_reserve(*b, strlen(str));
if (result != ISC_R_SUCCESS) {
return (result);
}
if (apl_ent.negative) {
isc_buffer_putuint8(aclb, '!');
}
- isc_buffer_reserve(&aclb, INET6_ADDRSTRLEN);
+ isc_buffer_reserve(aclb, INET6_ADDRSTRLEN);
result = isc_netaddr_totext(&addr, aclb);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
if ((apl_ent.family == 1 && apl_ent.prefix < 32) ||
rlen += strlen(entry->opts.zonedir) + 1;
}
- result = isc_buffer_reserve(buffer, (unsigned int)rlen);
+ result = isc_buffer_reserve(*buffer, (unsigned int)rlen);
if (result != ISC_R_SUCCESS) {
goto cleanup;
}
}
isc_netaddr_fromsockaddr(&netaddr,
&entry->opts.masters.addrs[i]);
- isc_buffer_reserve(&buffer, INET6_ADDRSTRLEN);
+ isc_buffer_reserve(buffer, INET6_ADDRSTRLEN);
result = isc_netaddr_totext(&netaddr, buffer);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
putstr(isc_buffer_t **b, const char *str) {
isc_result_t result;
- result = isc_buffer_reserve(b, strlen(str));
+ result = isc_buffer_reserve(*b, strlen(str));
if (result != ISC_R_SUCCESS) {
return (ISC_R_NOSPACE);
}
CHECK(putstr(dest, d->typebuf));
}
- CHECK(isc_buffer_reserve(dest, 1));
+ CHECK(isc_buffer_reserve(*dest, 1));
isc_buffer_putuint8(*dest, 0);
cleanup:
putstr(isc_buffer_t **b, const char *str) {
isc_result_t result;
- result = isc_buffer_reserve(b, strlen(str));
+ result = isc_buffer_reserve(*b, strlen(str));
if (result != ISC_R_SUCCESS) {
return (result);
}
putstr(isc_buffer_t **b, const char *str) {
isc_result_t result;
- result = isc_buffer_reserve(b, strlen(str));
+ result = isc_buffer_reserve(*b, strlen(str));
if (result != ISC_R_SUCCESS) {
return (result);
}
" spilled %" PRIuFAST32 ")",
nb, count, allowed, dropped);
- result = isc_buffer_reserve(buf, strlen(text));
+ result = isc_buffer_reserve(*buf, strlen(text));
if (result != ISC_R_SUCCESS) {
goto cleanup;
}
l = snprintf(buf, 21, "%" PRId64, v);
RUNTIME_CHECK(l <= 21);
if (b->autore) {
- result = isc_buffer_reserve(&b, l);
+ result = isc_buffer_reserve(b, l);
REQUIRE(result == ISC_R_SUCCESS);
}
REQUIRE(isc_buffer_availablelength(b) >= l);
REQUIRE(r != NULL);
if (b->autore) {
- result = isc_buffer_reserve(&b, r->length);
+ result = isc_buffer_reserve(b, r->length);
if (result != ISC_R_SUCCESS) {
return (result);
}
}
isc_result_t
-isc_buffer_reserve(isc_buffer_t **dynbuffer, unsigned int size) {
+isc_buffer_reserve(isc_buffer_t *dynbuffer, unsigned int size) {
size_t len;
- REQUIRE(dynbuffer != NULL);
- REQUIRE(ISC_BUFFER_VALID(*dynbuffer));
+ REQUIRE(ISC_BUFFER_VALID(dynbuffer));
- len = (*dynbuffer)->length;
- if ((len - (*dynbuffer)->used) >= size) {
+ len = dynbuffer->length;
+ if ((len - dynbuffer->used) >= size) {
return (ISC_R_SUCCESS);
}
- if ((*dynbuffer)->mctx == NULL) {
+ if (dynbuffer->mctx == NULL) {
return (ISC_R_NOSPACE);
}
/* Round to nearest buffer size increment */
- len = size + (*dynbuffer)->used;
+ len = size + dynbuffer->used;
len = (len + ISC_BUFFER_INCR - 1 - ((len - 1) % ISC_BUFFER_INCR));
/* Cap at UINT_MAX */
len = UINT_MAX;
}
- if ((len - (*dynbuffer)->used) < size) {
+ if ((len - dynbuffer->used) < size) {
return (ISC_R_NOMEMORY);
}
- (*dynbuffer)->base = isc_mem_reget((*dynbuffer)->mctx,
- (*dynbuffer)->base,
- (*dynbuffer)->length, len);
- (*dynbuffer)->length = (unsigned int)len;
+ dynbuffer->base = isc_mem_reget(dynbuffer->mctx, dynbuffer->base,
+ dynbuffer->length, len);
+ dynbuffer->length = (unsigned int)len;
return (ISC_R_SUCCESS);
}
}
if (b->autore) {
- result = isc_buffer_reserve(&b, n + 1);
+ result = isc_buffer_reserve(b, n + 1);
if (result != ISC_R_SUCCESS) {
return (result);
}
*/
isc_result_t
-isc_buffer_reserve(isc_buffer_t **dynbuffer, unsigned int size);
+isc_buffer_reserve(isc_buffer_t *dynbuffer, unsigned int size);
/*!<
* \brief Make "size" bytes of space available in the buffer. The buffer
* pointer may move when you call this function.
*
* Requires:
- *\li "dynbuffer" is not NULL.
- *
- *\li "*dynbuffer" is a valid dynamic buffer.
+ *\li "dynbuffer" is a valid dynamic buffer.
*
* Returns:
*\li ISC_R_SUCCESS - success
*\li ISC_R_NOMEMORY - no memory available
- *
- * Ensures:
- *\li "*dynbuffer" will be valid on return and will contain all the
- * original data. However, the buffer pointer may be moved during
- * reallocation.
*/
void
if (b->autore) {
isc_buffer_t *tmp = b;
- ISC_REQUIRE(isc_buffer_reserve(&tmp, 1) == ISC_R_SUCCESS);
+ ISC_REQUIRE(isc_buffer_reserve(tmp, 1) == ISC_R_SUCCESS);
}
ISC_REQUIRE(isc_buffer_availablelength(b) >= 1U);
if (b->autore) {
isc_buffer_t *tmp = b;
- ISC_REQUIRE(isc_buffer_reserve(&tmp, 2) == ISC_R_SUCCESS);
+ ISC_REQUIRE(isc_buffer_reserve(tmp, 2) == ISC_R_SUCCESS);
}
ISC_REQUIRE(isc_buffer_availablelength(b) >= 2U);
if (b->autore) {
isc_buffer_t *tmp = b;
- ISC_REQUIRE(isc_buffer_reserve(&tmp, 3) == ISC_R_SUCCESS);
+ ISC_REQUIRE(isc_buffer_reserve(tmp, 3) == ISC_R_SUCCESS);
}
ISC_REQUIRE(isc_buffer_availablelength(b) >= 3U);
if (b->autore) {
isc_buffer_t *tmp = b;
- ISC_REQUIRE(isc_buffer_reserve(&tmp, 4) == ISC_R_SUCCESS);
+ ISC_REQUIRE(isc_buffer_reserve(tmp, 4) == ISC_R_SUCCESS);
}
ISC_REQUIRE(isc_buffer_availablelength(b) >= 4U);
if (b->autore) {
isc_buffer_t *tmp = b;
- ISC_REQUIRE(isc_buffer_reserve(&tmp, 6) == ISC_R_SUCCESS);
+ ISC_REQUIRE(isc_buffer_reserve(tmp, 6) == ISC_R_SUCCESS);
}
ISC_REQUIRE(isc_buffer_availablelength(b) >= 6U);
if (b->autore) {
isc_buffer_t *tmp = b;
- ISC_REQUIRE(isc_buffer_reserve(&tmp, length) == ISC_R_SUCCESS);
+ ISC_REQUIRE(isc_buffer_reserve(tmp, length) == ISC_R_SUCCESS);
}
ISC_REQUIRE(isc_buffer_availablelength(b) >= (unsigned int)length);
length = (unsigned int)strlen(source);
if (b->autore) {
isc_buffer_t *tmp = b;
- ISC_REQUIRE(isc_buffer_reserve(&tmp, length) == ISC_R_SUCCESS);
+ ISC_REQUIRE(isc_buffer_reserve(tmp, length) == ISC_R_SUCCESS);
}
ISC_REQUIRE(isc_buffer_availablelength(b) >= length);
if (isccc_sexpr_binaryp(elt)) {
vr = isccc_sexpr_tobinary(elt);
len = REGION_SIZE(*vr);
- result = isc_buffer_reserve(buffer, 1 + 4);
+ result = isc_buffer_reserve(*buffer, 1 + 4);
if (result != ISC_R_SUCCESS) {
return (ISC_R_NOSPACE);
}
isc_buffer_putuint8(*buffer, ISCCC_CCMSGTYPE_BINARYDATA);
isc_buffer_putuint32(*buffer, len);
- result = isc_buffer_reserve(buffer, len);
+ result = isc_buffer_reserve(*buffer, len);
if (result != ISC_R_SUCCESS) {
return (ISC_R_NOSPACE);
}
unsigned int used;
isc_buffer_t b;
- result = isc_buffer_reserve(buffer, 1 + 4);
+ result = isc_buffer_reserve(*buffer, 1 + 4);
if (result != ISC_R_SUCCESS) {
return (ISC_R_NOSPACE);
}
unsigned int used;
isc_buffer_t b;
- result = isc_buffer_reserve(buffer, 1 + 4);
+ result = isc_buffer_reserve(*buffer, 1 + 4);
if (result != ISC_R_SUCCESS) {
return (ISC_R_NOSPACE);
}
/*
* Emit the key name.
*/
- result = isc_buffer_reserve(buffer, 1 + len);
+ result = isc_buffer_reserve(*buffer, 1 + len);
if (result != ISC_R_SUCCESS) {
return (ISC_R_NOSPACE);
}
unsigned int hmac_base, signed_base;
isc_result_t result;
- result = isc_buffer_reserve(buffer,
+ result = isc_buffer_reserve(*buffer,
4 + ((algorithm == ISCCC_ALG_HMACMD5)
? sizeof(auth_hmd5)
: sizeof(auth_hsha)));
* 1024 bytes should already be available, so this call does
* nothing.
*/
- result = isc_buffer_reserve(&b, 1024);
+ result = isc_buffer_reserve(b, 1024);
assert_int_equal(result, ISC_R_SUCCESS);
assert_true(ISC_BUFFER_VALID(b));
assert_non_null(b);
* This call should grow it to 2048 bytes as only 1024 bytes are
* available in the buffer.
*/
- result = isc_buffer_reserve(&b, 1025);
+ result = isc_buffer_reserve(b, 1025);
assert_int_equal(result, ISC_R_SUCCESS);
assert_true(ISC_BUFFER_VALID(b));
assert_non_null(b);
* 2048 bytes should already be available, so this call does
* nothing.
*/
- result = isc_buffer_reserve(&b, 2000);
+ result = isc_buffer_reserve(b, 2000);
assert_int_equal(result, ISC_R_SUCCESS);
assert_true(ISC_BUFFER_VALID(b));
assert_non_null(b);
* This call should grow it to 4096 bytes as only 2048 bytes are
* available in the buffer.
*/
- result = isc_buffer_reserve(&b, 3000);
+ result = isc_buffer_reserve(b, 3000);
assert_int_equal(result, ISC_R_SUCCESS);
assert_true(ISC_BUFFER_VALID(b));
assert_non_null(b);
/*
* This call should fail and leave buffer untouched.
*/
- result = isc_buffer_reserve(&b, UINT_MAX);
+ result = isc_buffer_reserve(b, UINT_MAX);
assert_int_equal(result, ISC_R_NOMEMORY);
assert_true(ISC_BUFFER_VALID(b));
assert_non_null(b);