diff options
| author | Simon Tatham <anakin@pobox.com> | 2023-02-18 07:14:05 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2023-02-18 08:55:13 +0000 |
| commit | 873d613dd597f550b1b64946c4577b012d61d1c9 (patch) | |
| tree | e6c458a8dfc349ca4be8755f3bcc26658e0958d7 /gtk.c | |
| parent | dbced097ac16973f648ad2f024cc2302fa187578 (diff) | |
| download | puzzles-873d613dd597f550b1b64946c4577b012d61d1c9.zip puzzles-873d613dd597f550b1b64946c4577b012d61d1c9.tar.gz puzzles-873d613dd597f550b1b64946c4577b012d61d1c9.tar.bz2 puzzles-873d613dd597f550b1b64946c4577b012d61d1c9.tar.xz | |
Fix missing statics and #includes on variables.
After Ben fixed all the unwanted global functions by using gcc's
-Wmissing-declarations to spot any that were not predeclared, I
remembered that clang has -Wmissing-variable-declarations, which does
the same job for global objects. Enabled it in -DSTRICT=ON, and made
the code clean under it.
Mostly this was just a matter of sticking 'static' on the front of
things. One variable was outright removed ('verbose' in signpost.c)
because after I made it static clang was then able to spot that it was
also unused.
The more interesting cases were the ones where declarations had to be
_added_ to header files. In particular, in COMBINED builds, puzzles.h
now arranges to have predeclared each 'game' structure defined by a
puzzle backend. Also there's a new tiny header file gtk.h, containing
the declarations of xpm_icons and n_xpm_icons which are exported by
each puzzle's autogenerated icon source file and by no-icon.c. Happily
even the real XPM icon files were generated by our own Perl script
rather than being raw xpm output from ImageMagick, so there was no
difficulty adding the corresponding #include in there.
Diffstat (limited to 'gtk.c')
| -rw-r--r-- | gtk.c | 10 |
1 files changed, 3 insertions, 7 deletions
@@ -30,6 +30,7 @@ #include <X11/Xatom.h> #include "puzzles.h" +#include "gtk.h" #if GTK_CHECK_VERSION(2,0,0) # define USE_PANGO @@ -2391,8 +2392,8 @@ static void menu_preset_event(GtkMenuItem *menuitem, gpointer data) midend_redraw(fe->me); } -GdkAtom compound_text_atom, utf8_string_atom; -bool paste_initialised = false; +static GdkAtom compound_text_atom, utf8_string_atom; +static bool paste_initialised = false; static void set_selection(frontend *fe, GdkAtom selection) { @@ -3076,9 +3077,6 @@ static void menu_about_event(GtkMenuItem *menuitem, gpointer data) "version", ver, \ "comments", "Part of Simon Tatham's Portable Puzzle Collection" - extern char *const *const xpm_icons[]; - extern const int n_xpm_icons; - if (n_xpm_icons) { GdkPixbuf *icon = gdk_pixbuf_new_from_xpm_data ((const gchar **)xpm_icons[0]); @@ -3193,8 +3191,6 @@ static frontend *new_window( GList *iconlist; int x, y, n; char errbuf[1024]; - extern char *const *const xpm_icons[]; - extern const int n_xpm_icons; struct preset_menu *preset_menu; fe = snew(frontend); |