diff --git a/hllapi.cbp b/hllapi.cbp index 7ec7bbb..06d7a5d 100644 --- a/hllapi.cbp +++ b/hllapi.cbp @@ -63,9 +63,6 @@ - - - diff --git a/src/ipc3270c/linux/globals.h b/src/ipc3270c/linux/globals.h index ed4ccbc..aa4caef 100644 --- a/src/ipc3270c/linux/globals.h +++ b/src/ipc3270c/linux/globals.h @@ -34,6 +34,7 @@ #define PW3270_DBUS_GLOBALS_H_INCLUDED 1 #include + #include #include #include @@ -41,6 +42,13 @@ #include #include +#if ! GLIB_CHECK_VERSION(2,44,0) + + G_GNUC_INTERNAL void hllapi_autoptr_cleanup_generic_gfree(void *p); + #define g_autofree __attribute__((cleanup(v3270_autoptr_cleanup_generic_gfree))) + +#endif // ! GLIB(2,44,0) + // // Disabling warning on unused-function defined in dbus-glib-bindings.h // warning: 'org_freedesktop_DBus_reload_config' defined but not used [-Wunused-function] ... diff --git a/src/ipc3270c/linux/main.c b/src/ipc3270c/linux/main.c index 9cb2bbc..e92eb0e 100644 --- a/src/ipc3270c/linux/main.c +++ b/src/ipc3270c/linux/main.c @@ -41,6 +41,7 @@ #include #include "service.h" +#include "globals.h" #include "dbus-glue.h" #include @@ -175,5 +176,12 @@ return lib3270_get_default_session_handle(); } - +#if ! GLIB_CHECK_VERSION(2,44,0) +// Reference: https://github.com/ImageMagick/glib/blob/master/glib/glib-autocleanups.h +void hllapi_autoptr_cleanup_generic_gfree(void *p) +{ + void **pp = (void**)p; + g_free (*pp); +} +#endif // ! GLIB(2,44,0) -- libgit2 0.21.2