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