Clang16 will not allow implicit function declarations and implicit integers etc. This patch overhauls the source code for modern C. Bug: https://bugs.gentoo.org/875704 Upstream PR: https://github.com/oshazard/gtkdialog/pull/81 Signed-off-by: Pascal Jäger --- a/src/actions.c +++ b/src/actions.c @@ -36,6 +36,7 @@ #include "attributes.h" #include "variables.h" #include "tag_attributes.h" +#include "gtkdialog_parser.h" extern gchar *option_include_file; --- a/src/automaton.c +++ b/src/automaton.c @@ -35,6 +35,7 @@ */ #include +#include #include "config.h" #include "gtkdialog.h" @@ -87,6 +88,8 @@ #undef TOOLTIPS extern gboolean option_no_warning; +extern void push_widget(GtkWidget * widget, int widgettype); +int instruction_execute(instruction command); instruction *program = NULL; int instruction_counter = 0; /* The first available memory cell */ @@ -323,8 +326,7 @@ void print_command(instruction command) fflush(stdout); } -void -print_program() +void print_program() { gint pc; instruction command; @@ -580,8 +582,7 @@ finalize: } -int -instruction_execute(instruction command) +int instruction_execute(instruction command) { GList *element; token Token; @@ -911,9 +912,11 @@ gboolean widget_moved(GtkWidget *widget, //gtk_widget_set_usize(window, // configure->width -20, // configure->height); +#if HAVE_GTK==2 gtk_widget_set_uposition(GTK_WIDGET(window), configure->x, configure->y); +#endif } fflush(stderr); --- a/src/gtkdialog.h +++ b/src/gtkdialog.h @@ -65,5 +65,6 @@ gint get_program_from_variable(gchar *name); void set_program_name(gchar *name); gchar *get_program_name(void); void load_styles_file(gchar *filename); +int getnextchar(void); #endif --- a/src/gtkdialog_parser.h +++ b/src/gtkdialog_parser.h @@ -385,3 +385,8 @@ typedef union YYSTYPE extern YYSTYPE gtkdialog_lval; +extern int gtkdialog_error(char *c); +extern void run_program(void); +extern void print_program(); +extern int gtkdialog_lex (void); +extern int gtkdialog_parse (void); --- a/src/printing.c +++ b/src/printing.c @@ -25,6 +25,7 @@ #include #include #include +#include #include "gtkdialog.h" #include "printing.h" --- a/src/signals.c +++ b/src/signals.c @@ -40,6 +40,8 @@ //#define DEBUG_CONTENT //#define DEBUG_TRANSITS +extern gboolean variables_is_avail_by_name(const char *name); + /* Local variables */ char *condexpr[] = { "active_is_true(", "active_is_false(", "active_is_true (", "active_is_false (", --- a/src/stringman.c +++ b/src/stringman.c @@ -30,6 +30,7 @@ #include #include +#include #include #include #include --- a/src/variables.c +++ b/src/variables.c @@ -59,6 +59,7 @@ #endif extern gboolean option_no_warning; +extern int yywarning(char *c); /* Local function prototypes */ #ifdef DEBUG --- a/src/widget_notebook.c +++ b/src/widget_notebook.c @@ -28,6 +28,7 @@ #include "automaton.h" #include "widgets.h" #include "tag_attributes.h" +#include "signals.h" /* Defines */ //#define DEBUG_CONTENT --- a/src/widget_timer.c +++ b/src/widget_timer.c @@ -28,6 +28,7 @@ #include "automaton.h" #include "widgets.h" #include "tag_attributes.h" +#include "signals.h" /* Defines */ //#define DEBUG_CONTENT --- a/src/widgets.h +++ b/src/widgets.h @@ -38,6 +38,38 @@ #include "variables.h" #include "automaton.h" +#include "widget_window.h" +#include "widget_vbox.h" +#include "widget_tree.h" +#include "widget_timer.h" +#include "widget_text.h" +#include "widget_terminal.h" +#include "widget_template.h" +#include "widget_table.h" +#include "widget_statusbar.h" +#include "widget_spinbutton.h" +#include "widget_radiobutton.h" +#include "widget_progressbar.h" +#include "widget_pixmap.h" +#include "widget_notebook.h" +#include "widget_menuitem.h" +#include "widget_menubar.h" +#include "widget_list.h" +#include "widget_hseparator.h" +#include "widget_hscale.h" +#include "widget_hbox.h" +#include "widget_frame.h" +#include "widget_fontbutton.h" +#include "widget_expander.h" +#include "widget_eventbox.h" +#include "widget_entry.h" +#include "widget_edit.h" +#include "widget_comboboxtext.h" +#include "widget_combobox.h" +#include "widget_colorbutton.h" +#include "widget_checkbox.h" +#include "widget_button.h" + char *widget_get_text_value(GtkWidget *widget, int type); FILE *widget_opencommand(const char *command); char *widgets_to_str(int itype); --- a/src/gtkdialog.c +++ b/src/gtkdialog.c @@ -345,7 +345,7 @@ get_program_from_file(char *name) * required because the #! is not included in the language. */ program_src = NULL; - result = getline(&program_src, &tmp, sourcefile); + result = getline(&program_src, (size_t*)&tmp, sourcefile); if (program_src[0] != '#') { fclose(sourcefile); sourcefile = fopen(name, "r");