From d403240e6af6b623d1ef048318378f35f52e4cf5 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 25 Feb 2019 18:01:33 -0300 Subject: [PATCH] Fixing RHEL7 build. --- pw3270.cbp | 6 +----- src/pw3270/actions.c | 2 +- src/pw3270/colors.c | 2 +- src/pw3270/common/config.c | 9 +-------- src/pw3270/dialog.c | 2 +- src/pw3270/fonts.c | 2 +- src/pw3270/globals.h | 89 ----------------------------------------------------------------------------------------- src/pw3270/hostdialog.c | 2 +- src/pw3270/main.c | 3 +-- src/pw3270/plugin.c | 2 +- src/pw3270/print.c | 2 +- src/pw3270/private.h | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/pw3270/tools.c | 12 +++++++++++- src/pw3270/window.c | 2 +- 14 files changed, 124 insertions(+), 113 deletions(-) delete mode 100644 src/pw3270/globals.h create mode 100644 src/pw3270/private.h diff --git a/pw3270.cbp b/pw3270.cbp index fa6d221..32906ce 100644 --- a/pw3270.cbp +++ b/pw3270.cbp @@ -207,7 +207,6 @@ - @@ -222,6 +221,7 @@ + @@ -278,14 +278,10 @@ - - - - diff --git a/src/pw3270/actions.c b/src/pw3270/actions.c index d1fe3fa..2f2d72b 100644 --- a/src/pw3270/actions.c +++ b/src/pw3270/actions.c @@ -29,7 +29,7 @@ * */ - #include "globals.h" + #include "private.h" #include "uiparser/parser.h" #include diff --git a/src/pw3270/colors.c b/src/pw3270/colors.c index 74dc7ad..788e8f0 100644 --- a/src/pw3270/colors.c +++ b/src/pw3270/colors.c @@ -28,7 +28,7 @@ */ #include - #include "globals.h" + #include "private.h" #include #define V3270_COLOR_BASE V3270_COLOR_GRAY+1 diff --git a/src/pw3270/common/config.c b/src/pw3270/common/config.c index 3bd5a79..28b826f 100644 --- a/src/pw3270/common/config.c +++ b/src/pw3270/common/config.c @@ -33,14 +33,7 @@ #include #endif // _WIN32 - #include - - #define ENABLE_NLS - #define GETTEXT_PACKAGE PACKAGE_NAME - - #include - #include - #include + #include "../pw3270/private.h" #include "common.h" #include diff --git a/src/pw3270/dialog.c b/src/pw3270/dialog.c index 614b35d..c0e009d 100644 --- a/src/pw3270/dialog.c +++ b/src/pw3270/dialog.c @@ -30,7 +30,7 @@ */ #include - #include "globals.h" + #include "private.h" #include #ifdef _WIN32 diff --git a/src/pw3270/fonts.c b/src/pw3270/fonts.c index fee932d..d727037 100644 --- a/src/pw3270/fonts.c +++ b/src/pw3270/fonts.c @@ -29,7 +29,7 @@ * */ -#include "globals.h" +#include "private.h" #include "uiparser/parser.h" /*--[ Globals ]--------------------------------------------------------------------------------------*/ diff --git a/src/pw3270/globals.h b/src/pw3270/globals.h deleted file mode 100644 index e7e02be..0000000 --- a/src/pw3270/globals.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a - * aplicativos mainframe. Registro no INPI sob o nome G3270. - * - * Copyright (C) <2008> - * - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela - * Free Software Foundation. - * - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para - * obter mais detalhes. - * - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin - * St, Fifth Floor, Boston, MA 02110-1301 USA - * - * Este programa está nomeado como globals.h e possui - linhas de código. - * - * Contatos: - * - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) - * - */ - - #include - #define ENABLE_NLS - #define GETTEXT_PACKAGE PACKAGE_NAME - - #include - #include - #include - - #include - #include - - // Special actions - enum - { - ACTION_PASTENEXT, - ACTION_RESELECT, - ACTION_FULLSCREEN, - ACTION_UNFULLSCREEN, - - ACTION_COUNT - }; - - -/*--[ Statics ]--------------------------------------------------------------------------------------*/ - - G_GNUC_INTERNAL const gchar * tracefile; - -/*--[ Global prototipes ]----------------------------------------------------------------------------*/ - - #include "common/common.h" - - G_GNUC_INTERNAL GtkWidget * create_main_window(const gchar *uri); - G_GNUC_INTERNAL void setup_font_list(GtkWidget *widget, GtkWidget *obj); - G_GNUC_INTERNAL void load_color_schemes(GtkWidget *widget, gchar *active); - G_GNUC_INTERNAL GtkWidget * color_scheme_new(const GdkRGBA *current); -// G_GNUC_INTERNAL LIB3270_OPTION pw3270_options_by_hosttype(const gchar *systype); - G_GNUC_INTERNAL void run_security_dialog(GtkWidget *widget); - - // actions - G_GNUC_INTERNAL void paste_file_action(GtkAction *action, GtkWidget *widget); - G_GNUC_INTERNAL void hostname_action(GtkAction *action, GtkWidget *widget); - G_GNUC_INTERNAL void save_all_action(GtkAction *action, GtkWidget *widget); - G_GNUC_INTERNAL void save_selected_action(GtkAction *action, GtkWidget *widget); - G_GNUC_INTERNAL void save_copy_action(GtkAction *action, GtkWidget *widget); - G_GNUC_INTERNAL void print_all_action(GtkAction *action, GtkWidget *widget); - G_GNUC_INTERNAL void print_selected_action(GtkAction *action, GtkWidget *widget); - G_GNUC_INTERNAL void print_copy_action(GtkAction *action, GtkWidget *widget); - G_GNUC_INTERNAL void editcolors_action(GtkAction *action, GtkWidget *widget); - G_GNUC_INTERNAL void about_dialog_action(GtkAction *action, GtkWidget *widget); - G_GNUC_INTERNAL void transfer_action(GtkAction *action, GtkWidget *widget); - G_GNUC_INTERNAL void download_action(GtkAction *action, GtkWidget *widget); - G_GNUC_INTERNAL void upload_action(GtkAction *action, GtkWidget *widget); - G_GNUC_INTERNAL void print_settings_action(GtkAction *action, GtkWidget *widget); - G_GNUC_INTERNAL gboolean handle_keypress(GtkWidget *terminal, guint keyval, GdkModifierType state, GtkWidget *window); - - - - - - diff --git a/src/pw3270/hostdialog.c b/src/pw3270/hostdialog.c index 63b02d5..611e796 100644 --- a/src/pw3270/hostdialog.c +++ b/src/pw3270/hostdialog.c @@ -27,7 +27,7 @@ * */ - #include "globals.h" + #include "private.h" #include /*--[ Globals ]--------------------------------------------------------------------------------------*/ diff --git a/src/pw3270/main.c b/src/pw3270/main.c index d55026e..c2047e0 100644 --- a/src/pw3270/main.c +++ b/src/pw3270/main.c @@ -29,7 +29,7 @@ * */ -#include +#include "private.h" #ifdef _WIN32 #include @@ -37,7 +37,6 @@ #include #include -#include "globals.h" #ifdef HAVE_GTKMAC #include diff --git a/src/pw3270/plugin.c b/src/pw3270/plugin.c index c1e397d..a0b6996 100644 --- a/src/pw3270/plugin.c +++ b/src/pw3270/plugin.c @@ -29,7 +29,7 @@ * */ -#include "globals.h" +#include "private.h" #include "pw3270/plugin.h" /*--[ Globals ]--------------------------------------------------------------------------------------*/ diff --git a/src/pw3270/print.c b/src/pw3270/print.c index e49c0bb..e0b9086 100644 --- a/src/pw3270/print.c +++ b/src/pw3270/print.c @@ -29,7 +29,7 @@ * */ - #include "globals.h" + #include "private.h" #include #include #include diff --git a/src/pw3270/private.h b/src/pw3270/private.h new file mode 100644 index 0000000..dcfd896 --- /dev/null +++ b/src/pw3270/private.h @@ -0,0 +1,102 @@ +/* + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a + * aplicativos mainframe. Registro no INPI sob o nome G3270. + * + * Copyright (C) <2008> + * + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela + * Free Software Foundation. + * + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para + * obter mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin + * St, Fifth Floor, Boston, MA 02110-1301 USA + * + * Este programa está nomeado como globals.h e possui - linhas de código. + * + * Contatos: + * + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) + * + */ + + #include + +#ifndef PRIVATE_H_INCLUDED + + #define ENABLE_NLS + #define GETTEXT_PACKAGE PACKAGE_NAME + + #include + #include + #include + + #include + #include + + #if ! GLIB_CHECK_VERSION(2,44,0) + + G_GNUC_INTERNAL void pw3270_autoptr_cleanup_generic_gfree(void *p); + + #define g_autofree __attribute__((cleanup(pw3270_autoptr_cleanup_generic_gfree))) + + #endif // ! GLIB(2,44,0) + + + // Special actions + enum + { + ACTION_PASTENEXT, + ACTION_RESELECT, + ACTION_FULLSCREEN, + ACTION_UNFULLSCREEN, + + ACTION_COUNT + }; + + +/*--[ Statics ]--------------------------------------------------------------------------------------*/ + + G_GNUC_INTERNAL const gchar * tracefile; + +/*--[ Global prototipes ]----------------------------------------------------------------------------*/ + + #include "common/common.h" + + G_GNUC_INTERNAL GtkWidget * create_main_window(const gchar *uri); + G_GNUC_INTERNAL void setup_font_list(GtkWidget *widget, GtkWidget *obj); + G_GNUC_INTERNAL void load_color_schemes(GtkWidget *widget, gchar *active); + G_GNUC_INTERNAL GtkWidget * color_scheme_new(const GdkRGBA *current); + G_GNUC_INTERNAL void run_security_dialog(GtkWidget *widget); + + // actions + G_GNUC_INTERNAL void paste_file_action(GtkAction *action, GtkWidget *widget); + G_GNUC_INTERNAL void hostname_action(GtkAction *action, GtkWidget *widget); + G_GNUC_INTERNAL void save_all_action(GtkAction *action, GtkWidget *widget); + G_GNUC_INTERNAL void save_selected_action(GtkAction *action, GtkWidget *widget); + G_GNUC_INTERNAL void save_copy_action(GtkAction *action, GtkWidget *widget); + G_GNUC_INTERNAL void print_all_action(GtkAction *action, GtkWidget *widget); + G_GNUC_INTERNAL void print_selected_action(GtkAction *action, GtkWidget *widget); + G_GNUC_INTERNAL void print_copy_action(GtkAction *action, GtkWidget *widget); + G_GNUC_INTERNAL void editcolors_action(GtkAction *action, GtkWidget *widget); + G_GNUC_INTERNAL void about_dialog_action(GtkAction *action, GtkWidget *widget); + G_GNUC_INTERNAL void transfer_action(GtkAction *action, GtkWidget *widget); + G_GNUC_INTERNAL void download_action(GtkAction *action, GtkWidget *widget); + G_GNUC_INTERNAL void upload_action(GtkAction *action, GtkWidget *widget); + G_GNUC_INTERNAL void print_settings_action(GtkAction *action, GtkWidget *widget); + G_GNUC_INTERNAL gboolean handle_keypress(GtkWidget *terminal, guint keyval, GdkModifierType state, GtkWidget *window); + + +#endif // PRIVATE_H_INCLUDED + + + + + diff --git a/src/pw3270/tools.c b/src/pw3270/tools.c index be93246..4930684 100644 --- a/src/pw3270/tools.c +++ b/src/pw3270/tools.c @@ -27,7 +27,7 @@ * */ - #include "globals.h" + #include "private.h" #include #ifdef _WIN32 @@ -336,3 +336,13 @@ LIB3270_EXPORT void pw3270_set_action_state(GtkAction *action, gboolean on) } + #if ! GLIB_CHECK_VERSION(2,44,0) + + // Reference: https://github.com/ImageMagick/glib/blob/master/glib/glib-autocleanups.h + void pw3270_autoptr_cleanup_generic_gfree(void *p) + { + void **pp = (void**)p; + g_free (*pp); + } + + #endif // ! GLIB(2,44,0) diff --git a/src/pw3270/window.c b/src/pw3270/window.c index aa8c94f..5bd59af 100644 --- a/src/pw3270/window.c +++ b/src/pw3270/window.c @@ -29,7 +29,7 @@ * */ -#include "globals.h" +#include "private.h" #include "uiparser/parser.h" #include #include -- libgit2 0.21.2