diff --git a/desmume/src/gtk/Makefile.am b/desmume/src/gtk/Makefile.am index 8e06efaa7..e2fc3780b 100644 --- a/desmume/src/gtk/Makefile.am +++ b/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/desmume/src/gtk/gtk-compat.c b/desmume/src/gtk/gtk-compat.c new file mode 100644 index 000000000..eba86609c --- /dev/null +++ b/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/desmume/src/gtk/gtk-compat.h b/desmume/src/gtk/gtk-compat.h new file mode 100644 index 000000000..ffc70e830 --- /dev/null +++ b/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