Use GLib's g_fopen() and g_open() when working with files

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@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Lubomir I. Ivanov 2012-10-03 17:29:01 +03:00 committed by Dirk Hohndel
parent f3b9a37fb2
commit 4f18f83ce9
2 changed files with 3 additions and 3 deletions

4
file.c
View file

@ -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,

View file

@ -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;