|
From: Kouhei S. <nul...@cl...> - 2013-07-13 13:49:29
|
Kouhei Sutou 2013-07-13 22:49:00 +0900 (Sat, 13 Jul 2013) New Revision: 4e7a5f9725c896ab22dcbb7d90501a53297b5c6d https://github.com/clear-code/cutter/commit/4e7a5f9725c896ab22dcbb7d90501a53297b5c6d Message: Extract backward compatible codes for GLib 2.32 API change Added files: cutter/cut-glib-compatible.c cutter/cut-glib-compatible.h Modified files: cutter/Makefile.am cutter/cut-test-context.c Modified: cutter/Makefile.am (+2 -0) =================================================================== --- cutter/Makefile.am 2013-06-26 10:19:49 +0900 (fa46c05) +++ cutter/Makefile.am 2013-07-13 22:49:00 +0900 (d513b05) @@ -77,6 +77,7 @@ libcutter_public_headers = \ noinst_headers = \ cut-crash-backtrace.h \ cut-elf-loader.h \ + cut-glib-compatible.h \ cut-loader.h \ cut-mach-o-loader.h \ cut-module-impl.h \ @@ -131,6 +132,7 @@ libcutter_sources = \ cut-elf-loader.c \ cut-factory-builder.c \ cut-file-stream-reader.c \ + cut-glib-compatible.c \ cut-helper.c \ cut-iterated-test.c \ cut-listener.c \ Added: cutter/cut-glib-compatible.c (+46 -0) 100644 =================================================================== --- /dev/null +++ cutter/cut-glib-compatible.c 2013-07-13 22:49:00 +0900 (73c3063) @@ -0,0 +1,46 @@ +/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * Copyright (C) 2013 Kouhei Sutou <ko...@cl...> + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This library 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 Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif /* HAVE_CONFIG_H */ + +#include "cut-glib-compatible.h" + +#if GLIB_CHECK_VERSION(2, 32, 0) +GMutex * +cut_glib_compatible_mutex_new(void) +{ + GMutex *mutex; + mutex = g_new(GMutex, 1); + g_mutex_init(mutex); + return mutex; +} + +void +cut_glib_compatible_mutex_free(GMutex *mutex) +{ + g_mutex_clear(mutex); + g_free(mutex); +} +#endif + +/* +vi:ts=4:nowrap:ai:expandtab:sw=4 +*/ Added: cutter/cut-glib-compatible.h (+47 -0) 100644 =================================================================== --- /dev/null +++ cutter/cut-glib-compatible.h 2013-07-13 22:49:00 +0900 (9617fdb) @@ -0,0 +1,47 @@ +/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * Copyright (C) 2013 Kouhei Sutou <ko...@cl...> + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This library 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 Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +#ifndef __CUT_GLIB_COMPATIBLE_H__ +#define __CUT_GLIB_COMPATIBLE_H__ + +#include <glib.h> + +G_BEGIN_DECLS + +#if !GLIB_CHECK_VERSION(2, 32, 0) +# define GPrivate GStaticPrivate +# define G_PRIVATE_INIT(notify) G_STATIC_PRIVATE_INIT +# define g_private_get(key) g_static_private_get(key) +# define g_private_set(key, value) g_static_private_set(key, value, NULL) +#else +# define g_mutex_new() cut_glib_compatible_mutex_new() +# define g_mutex_free(mutex) cut_glib_compatible_mutex_free(mutex) + +GMutex *cut_glib_compatible_mutex_new (void); +void cut_glib_compatible_mutex_free(GMutex *mutex); + +#endif + +G_END_DECLS + +#endif /* __CUT_GLIB_COMPATIBLE_H__ */ + +/* +vi:ts=4:nowrap:ai:expandtab:sw=4 +*/ Modified: cutter/cut-test-context.c (+1 -25) =================================================================== --- cutter/cut-test-context.c 2013-06-26 10:19:49 +0900 (51e2c1c) +++ cutter/cut-test-context.c 2013-07-13 22:49:00 +0900 (3da898a) @@ -53,31 +53,7 @@ #include "cut-process.h" #include "cut-backtrace-entry.h" #include "cut-utils.h" - -#if !GLIB_CHECK_VERSION(2, 32, 0) -# define GPrivate GStaticPrivate -# define G_PRIVATE_INIT(notify) G_STATIC_PRIVATE_INIT -# define g_private_get(key) g_static_private_get(key) -# define g_private_set(key, value) g_static_private_set(key, value, NULL) -#else -# define g_mutex_new() mutex_new() -# define g_mutex_free(mutex) mutex_free(mutex) -static GMutex * -mutex_new(void) -{ - GMutex *mutex; - mutex = g_new(GMutex, 1); - g_mutex_init(mutex); - return mutex; -} - -static void -mutex_free(GMutex *mutex) -{ - g_mutex_clear(mutex); - g_free(mutex); -} -#endif +#include "cut-glib-compatible.h" #define CUT_SIGNAL_EXPLICIT_JUMP G_MININT |