### Function

# Dex data_input_stream_read_upto

unstable since: 1.2

#### Declaration [src]

    DexFuture*
    dex_data_input_stream_read_upto (
      GDataInputStream* stream,
      const char* stop_chars,
      gssize stop_chars_len,
      int io_priority
    )

#### Description [src]

Reads data from the stream until one of `stop_chars` is found.

Wraps `g_data_input_stream_read_upto_async()`.

Available since: 1.2

#### Parameters

`stream`

  Type: `GDataInputStream`

  A `GDataInputStream`.

  The data is owned by the caller of the function.

`stop_chars`

  Type: `const char*`

  Characters to terminate the read.

  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`stop_chars_len`

  Type: `gssize`

  Length of `stop_chars`, or -1 if `stop_chars` is nul-terminated.

`io_priority`

  Type: `int`

  The IO priority of the request.

#### Return value

Type: `DexFuture`

A `DexFuture` that resolves to a string containing the read data, not including the stop character, or `NULL` if the end of the stream is reached.

The caller of the function takes ownership of the data, and is responsible for freeing it.