deprecated: 2.56 since: 2.20


g_data_input_stream_read_until_finish (
  GDataInputStream* stream,
  GAsyncResult* result,
  gsize* length,
  GError** error


Finish an asynchronous call started by g_data_input_stream_read_until_async().

Available since: 2.20

Deprecated since: 2.56

Use g_data_input_stream_read_upto_finish() instead, which has more consistent behaviour regarding the stop character.



Type: GAsyncResult

The GAsyncResult that was provided to the callback.

The data is owned by the caller of the function.

Type: gsize*

A #gsize to get the length of the data read in.

The argument will be set by the function.
The argument can be NULL.

Type: GError **

The return location for a recoverable error.

The argument can be NULL.
If the return location is not NULL, then you must initialize it to a NULL GError*.
The argument will left initialized to NULL by the method if there are no errors.
In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.

Return value

Type: char*

A string with the data that was read before encountering any of the stop characters. Set length to a #gsize to get the length of the string. This function will return NULL on an error.

The caller of the method takes ownership of the data, and is responsible for freeing it.
The value is a NUL terminated UTF-8 string.