limb 0.2.0

2024-01-09

buffer_putescall(3)
limb manual
buffer_putescall(3)

NAME

buffer_putescall, buffer_putesc, buffer_putescs - write escaped text to a buffer

SYNOPSIS

#include <limb/buffer.h>
int buffer_putescall(buffer *b, const char *s, size_t len, size_t *w, size_t *r)
ssize_t buffer_putesc(buffer *b, const char *s, size_t len)
ssize_t buffer_putescs(buffer *b, const char *s)

DESCRIPTION

The buffer_putescall() function will write the content of s of length len starting at position pointed by r (usually 0) into buffer b, whilst taking care of escaping characters as needed. This means more characters might be written into b than present in s.

The value pointed by r will be updated to reflect the position inside s afterwards, while the value pointed by w will be updated with the length actually written into the buffer.

The buffer_putesc() function does the same always processing s from the start.

The buffer_putescs() function does the same as buffer_putesc() but expects s to be a NUL-terminated string.

For more about the escaping performed, refer to esc_fmt(3).

RETURN VALUE

The buffer_putescall() function returns 1 on success, otherwise it returns 0 and sets errno to indicate the error.

The buffer_putesc() and buffer_putescs() functions return the number of bytes written into buf on success. Otherwise they returns -1 and sets errno to indicate the error.

ERRORS

The buffer_putescall() function may fail if :

EINVAL

r was too high (i.e. more than len).

All of these may also fail and set errno for any of the errors specified for buffer_flush(3).

NOTES

The behavior of these functions depend on the LC_CTYPE category of the current locale.

limb 0.1.0
2023-07-24
buffer_putescall(3)