buffer_get_new_token_sa_pred(3diet)

buffer_get_new_token_sa_pred3diet

Read token from buffer

Usage

#include <stralloc.h>
#include <buffer.h>
int buffer_get_new_token_sa_pred(buffer* b,stralloc* sa,
                 int (*predicate)(stralloc* * sa));

Overview

buffer_get_token_sa_pred copies data from b to sa until predicate(sa) returns 1 or -1.

If predicate returns 1 once a '\n' was read, that new-line character is still appended to sa -- use stralloc_chop or stralloc_chomp to get rid of it. predicate can also return 0 (indicating further input is required to complete the token) or -1 (abort and return -1; use this if predicate wants to enfore a maximum message size or does timeout handling or detects a malformed message).

If reading from the buffer or allocating memory fails, buffer_get_new_token_sa_pred returns -1 and sets errno appropriately. At that point sa may already contain a partial token.

On success, buffer_get_new_token_sa_pred returns 0.

If you want to read from a non-blocking socket, use buffer_get_token_sa_pred instead.

Releases

Unchanged in 4 releases since Debian 3.1 (Sarge).

  1. 3.1–6.0

From libowfat-dev 0.28-2 in Debian 6.0 (Squeeze). Parsed by carta from the page's man source.