# bson_reader_read()

## Synopsis

    const bson_t *
    bson_reader_read (bson_reader_t *reader,
                      bool          *reached_eof);

## Parameters

reader | A bson_reader_t.
reached_eof | A UNKNOWN.

## Description

The bson_reader_read() function shall read the next document from the underlying file-descriptor or buffer.

If there are no further documents or a failure was detected, then NULL is returned.

If we reached the end of the sequence, reached_eof is set to true.

To detect an error, check for NULL and reached_of is false.

## Returns

A bson_t that should not be modified or freed.

## Example

    const bson_t *doc;
    bool reached_eof = false;

    while ((doc = bson_reader_read (reader, &reached_eof))) {
    	/* do something */
    }

    if (!reached_eof) {
    	fprintf (stderr, "Failed to read all documents.\n");
    }