TRIO_PRIVATE_STRING BOOLEAN_T internal_string_grow_to TRIO_ARGS2((self, length),
                                                                 trio_string_t* self, size_t length)
{
	length++; /* Room for terminating zero */
	return (self->allocated < length) ? internal_string_grow(self, length - self->allocated) : TRUE;
}
TRIO_PRIVATE_STRING BOOLEAN_T internal_string_grow_to TRIO_ARGS2((self, length),
                                                                 trio_string_t* self, size_t length)
{
	length++;  
	return (self->allocated < length) ? internal_string_grow(self, length - self->allocated) : TRUE;
}