From 00bf8be09a333bb7434eeba9e885e6089b6eb5fd Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Thu, 12 Jan 2017 22:45:33 +0100 Subject: Use GStatBuf where appropriate to ensure usage of the correct type (fixes compilation with i686-w64-mingw32) (bzr r15414) --- src/io/sys.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/io/sys.cpp') diff --git a/src/io/sys.cpp b/src/io/sys.cpp index 94175176a..61a6a96f4 100644 --- a/src/io/sys.cpp +++ b/src/io/sys.cpp @@ -226,7 +226,7 @@ bool Inkscape::IO::file_is_writable( char const *utf8name) filename = g_filename_from_utf8 ( utf8name, -1, NULL, NULL, NULL ); } if ( filename ) { - struct stat st; + GStatBuf st; if (g_file_test (filename, G_FILE_TEST_EXISTS)){ if (g_lstat (filename, &st) == 0) { success = ((st.st_mode & S_IWRITE) != 0); -- cgit v1.2.3 From 0544189ac396b1ca1053c5f69a1325dd92f8fbf1 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sat, 22 Apr 2017 15:38:20 +0200 Subject: Cleanup: Remove some unused debug messages (bzr r15629) --- src/io/sys.cpp | 54 ------------------------------------------------------ 1 file changed, 54 deletions(-) (limited to 'src/io/sys.cpp') diff --git a/src/io/sys.cpp b/src/io/sys.cpp index 61a6a96f4..9d0837675 100644 --- a/src/io/sys.cpp +++ b/src/io/sys.cpp @@ -37,36 +37,6 @@ void dump_ustr(Glib::ustring const &ustr); extern guint update_in_progress; -#define DEBUG_MESSAGE(key, ...) \ -{\ - Inkscape::Preferences *prefs = Inkscape::Preferences::get(); \ - gint dump = prefs->getBool("/options/bulia/" #key) ? 1 : 0;\ - gint dumpD = prefs->getBool("/options/bulia/" #key"D") ? 1 : 0;\ - gint dumpD2 = prefs->getBool("/options/bulia/" #key"D2") ? 1 : 0;\ - dumpD &= ( (update_in_progress == 0) || dumpD2 );\ - if ( dump )\ - {\ - g_message( __VA_ARGS__ );\ -\ - }\ - if ( dumpD )\ - {\ - GtkWidget *dialog = gtk_message_dialog_new(NULL,\ - GTK_DIALOG_DESTROY_WITH_PARENT, \ - GTK_MESSAGE_INFO, \ - GTK_BUTTONS_OK, \ - __VA_ARGS__ \ - );\ - g_signal_connect_swapped(dialog, "response",\ - G_CALLBACK(gtk_widget_destroy), \ - dialog); \ - gtk_widget_show_all( dialog );\ - }\ -} - - - - void Inkscape::IO::dump_fopen_call( char const *utf8name, char const *id ) { #ifdef INK_DUMP_FOPEN @@ -97,65 +67,41 @@ void Inkscape::IO::dump_fopen_call( char const *utf8name, char const *id ) FILE *Inkscape::IO::fopen_utf8name( char const *utf8name, char const *mode ) { - static gint counter = 0; FILE* fp = NULL; - - DEBUG_MESSAGE( dumpOne, "entering fopen_utf8name( '%s', '%s' )[%d]", utf8name, mode, (counter++) ); - #ifndef WIN32 - DEBUG_MESSAGE( dumpOne, " STEP 0 ( '%s', '%s' )[%d]", utf8name, mode, (counter++) ); gchar *filename = g_filename_from_utf8( utf8name, -1, NULL, NULL, NULL ); if ( filename ) { - DEBUG_MESSAGE( dumpOne, " STEP 1 ( '%s', '%s' )[%d]", utf8name, mode, (counter++) ); fp = std::fopen(filename, mode); - DEBUG_MESSAGE( dumpOne, " STEP 2 ( '%s', '%s' )[%d]", utf8name, mode, (counter++) ); g_free(filename); - DEBUG_MESSAGE( dumpOne, " STEP 3 ( '%s', '%s' )[%d]", utf8name, mode, (counter++) ); filename = 0; } #else Glib::ustring how( mode ); how.append("b"); - DEBUG_MESSAGE( dumpOne, " calling is_os_wide() ( '%s', '%s' )[%d]", utf8name, mode, (counter++) ); fp = g_fopen(utf8name, how.c_str()); #endif - - DEBUG_MESSAGE( dumpOne, "leaving fopen_utf8name( '%s', '%s' )[%d]", utf8name, mode, (counter++) ); - return fp; } int Inkscape::IO::mkdir_utf8name( char const *utf8name ) { - static gint counter = 0; int retval = -1; - - DEBUG_MESSAGE( dumpMk, "entering mkdir_utf8name( '%s' )[%d]", utf8name, (counter++) ); - #ifndef WIN32 - DEBUG_MESSAGE( dumpMk, " STEP 0 ( '%s' )[%d]", utf8name, (counter++) ); gchar *filename = g_filename_from_utf8( utf8name, -1, NULL, NULL, NULL ); if ( filename ) { - DEBUG_MESSAGE( dumpMk, " STEP 1 ( '%s' )[%d]", utf8name, (counter++) ); retval = ::mkdir(filename, S_IRWXU | S_IRGRP | S_IXGRP); - DEBUG_MESSAGE( dumpMk, " STEP 2 ( '%s' )[%d]", utf8name, (counter++) ); g_free(filename); - DEBUG_MESSAGE( dumpMk, " STEP 3 ( '%s' )[%d]", utf8name, (counter++) ); filename = 0; } #else - DEBUG_MESSAGE( dumpMk, " calling is_os_wide() ( '%s' )[%d]", utf8name, (counter++) ); // Mode should be ingnored inside of glib on the way in retval = g_mkdir( utf8name, 0 ); #endif - - DEBUG_MESSAGE( dumpMk, "leaving mkdir_utf8name( '%s' )[%d]", utf8name, (counter++) ); - return retval; } -- cgit v1.2.3 From f1f37f4e215993c3e00db3240f6fb132479e6577 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sat, 22 Apr 2017 16:13:50 +0200 Subject: Simplify code and avoid conditional compilation by consistently using glib functions Also fixes a case where the modifier passed to g_fopen() might contain a duplicated binary specifier on Windows (e.g. 'wbb') which broke functionality in MSYS2 builds (see bug 1685091) Fixed bugs: - https://launchpad.net/bugs/1685091 (bzr r15630) --- src/io/sys.cpp | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) (limited to 'src/io/sys.cpp') diff --git a/src/io/sys.cpp b/src/io/sys.cpp index 9d0837675..b06b550dd 100644 --- a/src/io/sys.cpp +++ b/src/io/sys.cpp @@ -68,20 +68,18 @@ void Inkscape::IO::dump_fopen_call( char const *utf8name, char const *id ) FILE *Inkscape::IO::fopen_utf8name( char const *utf8name, char const *mode ) { FILE* fp = NULL; -#ifndef WIN32 gchar *filename = g_filename_from_utf8( utf8name, -1, NULL, NULL, NULL ); if ( filename ) { - fp = std::fopen(filename, mode); + Glib::ustring how( mode ); + if ( how.find("b") == Glib::ustring::npos ) + { + how.append("b"); // not needed in POSIX but doesn't hurt either + } + fp = g_fopen(filename, how.c_str()); g_free(filename); filename = 0; } -#else - Glib::ustring how( mode ); - how.append("b"); - - fp = g_fopen(utf8name, how.c_str()); -#endif return fp; } @@ -89,19 +87,13 @@ FILE *Inkscape::IO::fopen_utf8name( char const *utf8name, char const *mode ) int Inkscape::IO::mkdir_utf8name( char const *utf8name ) { int retval = -1; -#ifndef WIN32 gchar *filename = g_filename_from_utf8( utf8name, -1, NULL, NULL, NULL ); if ( filename ) { - retval = ::mkdir(filename, S_IRWXU | S_IRGRP | S_IXGRP); + retval = g_mkdir(filename, S_IRWXU | S_IRGRP | S_IXGRP); // The mode argument is ignored on Windows. g_free(filename); filename = 0; } -#else - - // Mode should be ingnored inside of glib on the way in - retval = g_mkdir( utf8name, 0 ); -#endif return retval; } -- cgit v1.2.3