---
name: "rbuf_empty"
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_empty"
---

# rbuf\_empty(3)

find out if an rbuf is holding anything

## NAME

rbuf\_empty, rbuf\_not\_empty - find out if an rbuf is holding anything

## SYNOPSIS

\#include \<roy.h\>

int rbuf\_empty (RBuf \**buf*);

int rbuf\_not\_empty (RBuf \**buf*);

## DESCRIPTION

Unlike [*rbuf\_len*(3)](/rbuf_len/3.md) these two api calls do not require *buf* to be non NULL. If *buf* is not empty the programmer can assume that *buf* is non NULL and has data in it's buffer.

Programmers should not confuse [*rbuf\_empty*(3)](/rbuf_empty/3.md) with [*rbuf\_truncate*(3)](/rbuf_truncate/3.md).  A call to [*rbuf\_empty*(3)](/rbuf_empty/3.md) does a check for empty while a call to  [*rbuf\_truncate*(3)](/rbuf_truncate/3.md) can be used to empty an rbuf.

## RETURN VALUE

A call to [*rbuf\_empty*(3)](/rbuf_empty/3.md) returns TRUE if *buf* is NULL or *buf*'s length is zero (0). Otherwise, FALSE is returned.

A call to *rbuf\_not\_empty*(3) returns TRUE if *buf* is non NULL and *buf*'s length is non zero (0). Otherwise, FALSE is returned. This call is equivalant to ![*rbuf\_empty*(3)](/rbuf_empty/3.md).

## ERRORS

These calls do not error.

## MACRO

These two calls are implmented using macros.

## 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\_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\_insert*(3)](/rbuf_insert/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)
