76 if (Glib::ustring( utf8name ) == Glib::ustring(
"-")) {
79 Glib::ustring how(
mode );
80 if ( how.find(
"w") != Glib::ustring::npos ) {
82 setmode(fileno(stdout), O_BINARY);
90 gchar *filename = g_filename_from_utf8( utf8name, -1,
nullptr,
nullptr,
nullptr );
94 Glib::ustring how(
mode );
95 if ( how.find(
"b") == Glib::ustring::npos )
100 if ( how.find(
"w") != Glib::ustring::npos )
102 gchar *dirname = g_path_get_dirname(utf8name);
103 if (g_mkdir_with_parents(dirname, 0777)) {
104 g_warning(
"Could not create directory '%s'", dirname);
108 fp = g_fopen(filename, how.c_str());
121 if (g_strcmp0(utf8name,
"-") == 0 && G_FILE_TEST_IS_REGULAR)
125 gchar *filename =
nullptr;
126 if (utf8name && !g_utf8_validate(utf8name, -1,
nullptr)) {
131 filename = g_strdup(utf8name);
135 filename = g_filename_from_utf8 ( utf8name, -1,
nullptr,
nullptr,
nullptr );
138 exists = g_file_test (filename,
test);
142 g_warning(
"Unable to convert filename in IO:file_test" );
154 gchar *filename =
nullptr;
155 if (utf8name && !g_utf8_validate(utf8name, -1,
nullptr)) {
160 filename = g_strdup(utf8name);
164 filename = g_filename_from_utf8 ( utf8name, -1,
nullptr,
nullptr,
nullptr );
168 if (g_file_test (filename, G_FILE_TEST_EXISTS)){
169 if (g_lstat (filename, &st) == 0) {
170 success = ((st.st_mode & S_IWRITE) != 0);
176 g_warning(
"Unable to convert filename in IO:file_test" );