Lely core libraries  2.2.5
membuf.c File Reference
#include "util.h"
#include <lely/util/errnum.h>
#include <lely/util/membuf.h>
#include <assert.h>
#include <stdlib.h>
Include dependency graph for membuf.c:

Go to the source code of this file.

Macros

#define LELY_MEMBUF_SIZE   16
 The initial size (in bytes) of a memory buffer.
 

Functions

void membuf_fini (struct membuf *buf)
 Finalizes a memory buffer. More...
 
size_t membuf_reserve (struct membuf *buf, size_t size)
 Resizes a memory buffer, if necessary, to make room for at least an additional size bytes. More...
 
void membuf_flush (struct membuf *buf, size_t size)
 Flushes size bytes from the beginning of a memory buffer.
 

Detailed Description

This file is part of the utilities library; it contains the implementation of the memory buffer.

See also
lely/util/membuf.h
Author
J. S. Seldenthuis jseld.nosp@m.enth.nosp@m.uis@l.nosp@m.ely..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Definition in file membuf.c.

Function Documentation

◆ membuf_fini()

void membuf_fini ( struct membuf buf)

Finalizes a memory buffer.

See also
membuf_init()

Definition at line 38 of file membuf.c.

◆ membuf_reserve()

size_t membuf_reserve ( struct membuf buf,
size_t  size 
)

Resizes a memory buffer, if necessary, to make room for at least an additional size bytes.

This function may also shrink the buffer if it is larger than required. Although this functions preserves the data already written to the buffer, it invalidates the pointers obtained from previous calls to membuf_alloc().

Parameters
bufa pointer to a memory buffer.
sizethe required capacity of the buffer.
Returns
the new capacity of the buffer, or 0 on error. The new capacity can be larger than the requested capacity.

Definition at line 46 of file membuf.c.