From 823edd7146156000dfc3dec71ab0042575bbfa48 Mon Sep 17 00:00:00 2001 From: yabause Date: Mon, 25 Dec 2006 22:06:15 +0000 Subject: [PATCH] Fix to the gtk port so versions of gtk without g_file_set_contents can be used. --- trunk/desmume/src/gtk/Makefile.am | 2 +- trunk/desmume/src/gtk/gtk-compat.c | 33 ++++++++++++++++++++++++++++++ trunk/desmume/src/gtk/gtk-compat.h | 29 ++++++++++++++++++++++++++ 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 trunk/desmume/src/gtk/gtk-compat.c create mode 100644 trunk/desmume/src/gtk/gtk-compat.h diff --git a/trunk/desmume/src/gtk/Makefile.am b/trunk/desmume/src/gtk/Makefile.am index 8e06efaa7..e2fc3780b 100644 --- a/trunk/desmume/src/gtk/Makefile.am +++ b/trunk/desmume/src/gtk/Makefile.am @@ -1,4 +1,4 @@ bin_PROGRAMS = desmume -desmume_SOURCES = main.c desmume.c dToolsList.c tools/ioregsView.c ../sndsdl.c +desmume_SOURCES = gtk-compat.c gtk-compat.h main.c desmume.c dToolsList.c tools/ioregsView.c ../sndsdl.c desmume_LDADD = ../libdesmume.a $(SDL_LIBS) $(GTK_LIBS) desmume_CFLAGS = $(SDL_CFLAGS) $(GTK_CFLAGS) diff --git a/trunk/desmume/src/gtk/gtk-compat.c b/trunk/desmume/src/gtk/gtk-compat.c new file mode 100644 index 000000000..eba86609c --- /dev/null +++ b/trunk/desmume/src/gtk/gtk-compat.c @@ -0,0 +1,33 @@ +/* Copyright 2006 Guillaume Duhamel + + This file is part of DeSmuME. + + DeSmuME is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DeSmuME is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DeSmuME; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#include "gtk-compat.h" + +#if !GLIB_CHECK_VERSION(2, 8, 0) +gboolean g_file_set_contents(const gchar * filename, const gchar * contents, gssize len, GError ** error) { + FILE * file = fopen(filename, "w"); + + if (len == -1) + fprintf(file, "%s", contents); + else + fwrite(contents, 1, len, file); + + fclose(file); +} +#endif diff --git a/trunk/desmume/src/gtk/gtk-compat.h b/trunk/desmume/src/gtk/gtk-compat.h new file mode 100644 index 000000000..ffc70e830 --- /dev/null +++ b/trunk/desmume/src/gtk/gtk-compat.h @@ -0,0 +1,29 @@ +/* Copyright 2006 Guillaume Duhamel + + This file is part of DeSmuME. + + DeSmuME is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DeSmuME is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DeSmuME; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#ifndef YUI_GTK_COMPAT_H +#define YUI_GTK_COMPAT_H + +#include + +#if ((GLIB_MAJOR_VERSION < 2) || ((GLIB_MAJOR_VERSION == 2) && (GLIB_MINOR_VERSION < 8))) +gboolean g_file_set_contents(const gchar *, const gchar *, gssize, GError **); +#endif + +#endif