示例#1
0
void buffer_reserve(buffer *b, size_t capacity)
{
  void *data;

  if (capacity > b->capacity)
    {
      capacity = buffer_roundup(capacity);
      data = realloc(b->data, capacity);
      buffer_assert(data != NULL);
      b->data = data;
      b->capacity = capacity;
    }
}
示例#2
0
文件: buffer.c 项目: ifzz/libdynamic
int buffer_reserve(buffer *b, size_t capacity)
{
  char *data;

  if (capacity > b->capacity)
    {
      capacity = buffer_roundup(capacity);
      data = realloc(b->data, capacity);
      if (!data)
        return -1;
      b->data = data;
      b->capacity = capacity;
    }

  return 0;
}