summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGisle Vanem <gisle.vanem@gmail.com>2020-05-15 10:59:39 +0000
committerGisle Vanem <gisle.vanem@gmail.com>2020-05-15 10:59:39 +0000
commit5b9cf70d4ea36fd95449855cbbad592dabc653cc (patch)
treee167fe66f6b93f186853bbc4db420a8c23b584d3
parentb734652c09ac9a99166bcd438ecb97fd30803ecf (diff)
downloadgobject-introspection-5b9cf70d4ea36fd95449855cbbad592dabc653cc.tar.gz
Use `_get_oshandle()` and `g_win32_output_stream_new()` instead since
`g_win32_output_stream_new_from_fd()` is private in Gio. It's normally not exported unless `GLIB_STATIC_COMPILATION` is effective. PS. Why would i not be called `GIO_STATIC_COMPILATION` for Gio .c-files?
-rw-r--r--girepository/gi-dump-types.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/girepository/gi-dump-types.c b/girepository/gi-dump-types.c
index bac32f2b..8dae9c02 100644
--- a/girepository/gi-dump-types.c
+++ b/girepository/gi-dump-types.c
@@ -1,6 +1,7 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
#include "gdump.c"
#ifdef G_OS_WIN32
+ #include <io.h> /* For _get_osfhandle() */
#include <gio/gwin32outputstream.h>
#else
#include <gio/gunixoutputstream.h>
@@ -15,7 +16,10 @@ main (int argc,
GModule *self;
#if defined(G_OS_WIN32)
- Stdout = g_win32_output_stream_new (1, FALSE);
+ HANDLE *hnd = (HANDLE) _get_osfhandle (1);
+
+ g_return_val_if_fail (hnd && hnd != INVALID_HANDLE_VALUE, 1);
+ Stdout = g_win32_output_stream_new (hnd, FALSE);
#else
Stdout = g_unix_output_stream_new (1, FALSE);
#endif