У меня есть GDataOutputStream*, и теперь мне нужно вручную закрыть базовый GOutputStream* (вызвав g_output_stream_close()).
GDataOutputStream*
GOutputStream*
g_output_stream_close()
Безопасно ли просто разыграть GDataOutputStream* на GOutputStream*? Или мне нужно получить базовый поток другим способом?
Да, это правильный путь:
g_autoptr(GError) local_error = NULL; if (!g_output_stream_close (G_OUTPUT_STREAM (my_data_stream), NULL, &local_error)) { /* handle the error, for example: */ g_warning ("Error closing stream: %s", local_error->message); }