[PATCH 2/2] Use GLib's g_fopen() and g_open() when working with files

Lubomir I. Ivanov neolit123 at gmail.com
Wed Oct 3 07:29:01 PDT 2012


From: "Lubomir I. Ivanov" <neolit123 at gmail.com>

On Windows, the GLib wrappers for fopen() and open() deal with the UTF-8
format used for file names when we have to open or save a file with
unicode characters in its name.

Signed-off-by: Lubomir I. Ivanov <neolit123 at gmail.com>
---
 file.c     | 4 ++--
 save-xml.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/file.c b/file.c
index 943be6f..df00ea2 100644
--- a/file.c
+++ b/file.c
@@ -22,7 +22,7 @@ static int readfile(const char *filename, struct memblock *mem)
 	mem->buffer = NULL;
 	mem->size = 0;
 
-	fd = open(filename, O_RDONLY | O_BINARY);
+	fd = g_open(filename, O_RDONLY | O_BINARY, 0);
 	if (fd < 0)
 		return fd;
 	ret = fstat(fd, &st);
@@ -257,7 +257,7 @@ void parse_file(const char *filename, GError **error)
 		if (default_filename && ! strcmp(filename, default_filename))
 			return;
 
-		fprintf(stderr, "Failed to read '%s'.\n", filename);
+		g_warning("Failed to read '%s'.\n", filename);
 		if (error) {
 			*error = g_error_new(g_quark_from_string("subsurface"),
 					     DIVE_ERROR_PARSE,
diff --git a/save-xml.c b/save-xml.c
index 8fa723f..f386814 100644
--- a/save-xml.c
+++ b/save-xml.c
@@ -352,7 +352,7 @@ void save_dives(const char *filename)
 	struct dive *dive;
 	dive_trip_t *trip = NULL;
 
-	FILE *f = fopen(filename, "w");
+	FILE *f = g_fopen(filename, "w");
 
 	if (!f)
 		return;
-- 
1.7.11.msysgit.0



More information about the subsurface mailing list