in source/aws_profile.c [282:320]
static int s_profile_property_add_continuation(
struct aws_profile_property *property,
const struct aws_byte_cursor *continuation_value) {
int result = AWS_OP_ERR;
struct aws_byte_buf concatenation;
if (aws_byte_buf_init(&concatenation, property->allocator, property->value->len + continuation_value->len + 1)) {
return result;
}
struct aws_byte_cursor old_value = aws_byte_cursor_from_string(property->value);
if (aws_byte_buf_append(&concatenation, &old_value)) {
goto on_generic_failure;
}
struct aws_byte_cursor newline = aws_byte_cursor_from_string(s_newline);
if (aws_byte_buf_append(&concatenation, &newline)) {
goto on_generic_failure;
}
if (aws_byte_buf_append(&concatenation, continuation_value)) {
goto on_generic_failure;
}
struct aws_string *new_value =
aws_string_new_from_array(property->allocator, concatenation.buffer, concatenation.len);
if (new_value == NULL) {
goto on_generic_failure;
}
result = AWS_OP_SUCCESS;
aws_string_destroy(property->value);
property->value = new_value;
on_generic_failure:
aws_byte_buf_clean_up(&concatenation);
return result;
}