---
name: "rbuf_insert"
section: "3"
platform: "linux"
package: "libroy-dev"
version: "1.0.8-1"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/rbuf_insert"
---

# rbuf\_insert(3)

insert a value into an rbuf

## NAME

rbuf\_insert\_rbuf, rbuf\_insert\_data - insert a value into an rbuf

## SYNOPSIS

\#include \<roy.h\>

void rbuf\_insert\_str (RBuf \**buf*, unsigned int *pos*, const char \**val*);

void rbuf\_insert\_rbuf (RBuf \**buf*, unsigned int *pos*, const RBuf \**val*);

void rbuf\_insert\_data (RBuf \**buf*, unsigned int *pos*, const char \**val*, unsigned int *len*);

## DESCRIPTION

These calls allow the programmer to insert data into the middle of *buf*. Any existing data located after the insert position *pos* in *buf* will be moved down *buf*'s buffer the length of the inserted data. The buffer will be grown if needed.

If *pos* is zero (0) these calls to act like [*rbuf\_prepend*(3)](/rbuf_prepend/3.md). If *pos* is greater then *buf*'s length then these calls pretend that the buffer was filled with '\\0's up until *pos*.

## RETURN VALUE

These calls return no value.

## ERRORS

If *pos* is greater than the length of the buffer, the call will return without modifying the contents of the buffer.

## FUNCTION

These calls are implemented using functions.

## SEE ALSO

[*rbuf*(3)](/rbuf/3.md), [*rbuf\_append*(3)](/rbuf_append/3.md),  [*rbuf\_append\_char*(3)](/rbuf_append_char/3.md), [*rbuf\_append\_data*(3)](/rbuf_append_data/3.md),  [*rbuf\_append\_rbuf*(3)](/rbuf_append_rbuf/3.md), [*rbuf\_append\_sprintf*(3)](/rbuf_append_sprintf/3.md),  [*rbuf\_append\_str*(3)](/rbuf_append_str/3.md), [*rbuf\_append\_vsprintf*(3)](/rbuf_append_vsprintf/3.md),  [*rbuf\_auto*(3)](/rbuf_auto/3.md), [*rbuf\_down*(3)](/rbuf_down/3.md),  [*rbuf\_empty*(3)](/rbuf_empty/3.md), [*rbuf\_equal*(3)](/rbuf_equal/3.md),  [*rbuf\_equal\_data*(3)](/rbuf_equal_data/3.md), [*rbuf\_equal\_rbuf*(3)](/rbuf_equal_rbuf/3.md),  [*rbuf\_equal\_rbuf\_len*(3)](/rbuf_equal_rbuf_len/3.md), [*rbuf\_equal\_rbufcase*(3)](/rbuf_equal_rbufcase/3.md),  [*rbuf\_equal\_str*(3)](/rbuf_equal_str/3.md), [*rbuf\_equal\_str\_len*(3)](/rbuf_equal_str_len/3.md),  [*rbuf\_equal\_strcase*(3)](/rbuf_equal_strcase/3.md), [*rbuf\_erase*(3)](/rbuf_erase/3.md),  [*rbuf\_float*(3)](/rbuf_float/3.md), [*rbuf\_free*(3)](/rbuf_free/3.md),  [*rbuf\_hash*(3)](/rbuf_hash/3.md), [*rbuf\_last*(3)](/rbuf_last/3.md),  [*rbuf\_len*(3)](/rbuf_len/3.md), [*rbuf\_long*(3)](/rbuf_long/3.md),  [*rbuf\_new*(3)](/rbuf_new/3.md), [*rbuf\_new\_with\_sprintf*(3)](/rbuf_new_with_sprintf/3.md),  [*rbuf\_own*(3)](/rbuf_own/3.md), [*rbuf\_prepend*(3)](/rbuf_prepend/3.md),  [*rbuf\_prepend\_char*(3)](/rbuf_prepend_char/3.md), [*rbuf\_prepend\_data*(3)](/rbuf_prepend_data/3.md),  [*rbuf\_prepend\_rbuf*(3)](/rbuf_prepend_rbuf/3.md), [*rbuf\_prepend\_str*(3)](/rbuf_prepend_str/3.md),  [*rbuf\_rdonly*(3)](/rbuf_rdonly/3.md), [*rbuf\_set\_to*(3)](/rbuf_set_to/3.md),  [*rbuf\_split*(3)](/rbuf_split/3.md), [*rbuf\_sprintf*(3)](/rbuf_sprintf/3.md),  [*rbuf\_str*(3)](/rbuf_str/3.md), [*rbuf\_truncate*(3)](/rbuf_truncate/3.md),  [*rbuf\_up*(3)](/rbuf_up/3.md), [*roy*(3)](/roy/3.md)
