summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandroColomar <colomar.6.4.3@gmail.com>2018-11-22 12:41:25 +0100
committerAlejandroColomar <colomar.6.4.3@gmail.com>2018-11-22 12:41:25 +0100
commit1c888372a6edd989ce5796c3d65b484b91ce0c1e (patch)
tree9f9c86fabd2493d2907428fa5bba01cd90c808b5
parent8a14b1f49c8e855c1a0a3ca183cb86c68740a54c (diff)
-Wall -Werror
-rw-r--r--Makefile40
-rw-r--r--bin/Makefile17
-rw-r--r--modules/game/inc/game_iface.h1
-rw-r--r--modules/game/src/game.c1
-rw-r--r--modules/game/src/game_iface.c4
-rw-r--r--modules/menu/src/menu_gui.c2
-rw-r--r--modules/menu/src/menu_tui.c1
-rw-r--r--modules/menu/src/parser.c5
-rw-r--r--modules/player/inc/player_clui.h1
-rw-r--r--modules/player/inc/player_gui.h1
-rw-r--r--modules/player/inc/player_tui.h1
-rw-r--r--modules/player/src/player_clui.c49
-rw-r--r--modules/player/src/player_gui.c11
-rw-r--r--modules/player/src/player_iface.c4
-rw-r--r--modules/player/src/player_tui.c44
15 files changed, 112 insertions, 70 deletions
diff --git a/Makefile b/Makefile
index e994b24..2999b62 100644
--- a/Makefile
+++ b/Makefile
@@ -139,27 +139,36 @@ export LD
################################################################################
# cflags
CFLAGS_STD = -std=c11
-CFLAGS_GTK = `pkg-config --cflags gtk+-2.0`
+
+CFLAGS_OPT = -O3
+CFLAGS_OPT += -march=native
+
+CFLAGS_W = -Wall
+CFLAGS_W += -Werror
+CFLAGS_W += -Wno-format-truncation
+CFLAGS_W += -Wno-format-zero-length
+CFLAGS_W += -Wno-unused-function
+
+CFLAGS_PKG = `pkg-config --cflags ncurses`
+CFLAGS_PKG += `pkg-config --cflags gtk+-2.0`
CFLAGS_D = -D PROG_VERSION=\"$(PROGRAMVERSION)\"
-CFLAGS_D += -D 'INSTALL_SHARE_DIR="$(INSTALL_SHARE_DIR)"'
+CFLAGS_D += -D INSTALL_SHARE_DIR=\"$(INSTALL_SHARE_DIR)\"
CFLAGS_D += -D SHARE_DIR=\"$(SHARE_DIR)\"
-CFLAGS_D += -D 'INSTALL_VAR_DIR="$(INSTALL_VAR_DIR)"'
+CFLAGS_D += -D INSTALL_VAR_DIR=\"$(INSTALL_VAR_DIR)\"
CFLAGS_D += -D VAR_DIR=\"$(VAR_DIR)\"
ifeq ($(OS), linux)
CFLAGS_D += -D OS_LINUX
else ifeq ($(OS), win)
CFLAGS_D += -D OS_WIN
- # curses
- CFLAGS_CURSES = -D _XOPEN_SOURCE=500 -I /mingw64/include/ncurses
endif
-ifeq ($(OS), linux)
- CFLAGS = $(CFLAGS_STD) $(CFLAGS_D) $(CFLAGS_GTK)
-else ifeq ($(OS), win)
- CFLAGS = $(CFLAGS_STD) $(CFLAGS_D) $(CFLAGS_CURSES) $(CFLAGS_GTK)
-endif
+CFLAGS = $(CFLAGS_STD)
+CFLAGS += $(CFLAGS_OPT)
+CFLAGS += $(CFLAGS_W)
+CFLAGS += $(CFLAGS_PKG)
+CFLAGS += $(CFLAGS_D)
export CFLAGS
@@ -167,14 +176,15 @@ export CFLAGS
# libs
LIBS_STATIC = -static
-LIBS_MATH = -l m
-LIBS_CURSES = -l ncurses
-LIBS_GTK = `pkg-config --libs gtk+-2.0`
+LIBS_STD = -l m
+
+LIBS_PKG = `pkg-config --libs ncurses`
+LIBS_PKG += `pkg-config --libs gtk+-2.0`
ifeq ($(OS), linux)
- LIBS = $(LIBS_MATH) $(LIBS_CURSES) $(LIBS_GTK)
+ LIBS = $(LIBS_STD) $(LIBS_PKG)
else ifeq ($(OS), win)
- LIBS = $(LIBS_STATIC) $(LIBS_MATH) $(LIBS_CURSES) $(LIBS_GTK)
+ LIBS = $(LIBS_STD) $(LIBS_STATIC) $(LIBS_PKG)
endif
export LIBS
diff --git a/bin/Makefile b/bin/Makefile
index cab4780..cb5a663 100644
--- a/bin/Makefile
+++ b/bin/Makefile
@@ -2,7 +2,8 @@
# directories
-LIBALX_TMP_DIR = $(LIBALX_DIR)/tmp/
+LIBALX_LIB_DIR = $(LIBALX_DIR)/lib/
+
MODULES_TMP_DIR = $(MODULES_DIR)/tmp/
TMP_DIR = $(MAIN_DIR)/tmp/
@@ -12,11 +13,15 @@ _ALL = $(BIN_NAME) $(BIN_NAME).exe
ALL = $(BIN_NAME)
-MAIN_OBJ_LIBALX = alx_lib.o
MAIN_OBJ_MODULES = modules.o
-MAIN_OBJS = $(TMP_DIR)/main.o \
- $(patsubst %,$(LIBALX_TMP_DIR)/%,$(MAIN_OBJ_LIBALX)) \
- $(patsubst %,$(MODULES_TMP_DIR)/%,$(MAIN_OBJ_MODULES))
+MAIN_OBJS = $(TMP_DIR)/main.o \
+ $(patsubst %,$(LIBALX_TMP_DIR)/%,$(MAIN_OBJ_LIBALX)) \
+ $(patsubst %,$(MODULES_TMP_DIR)/%,$(MAIN_OBJ_MODULES))
+
+# static libs
+MAIN_LIB_LIBALX = -L $(LIBALX_LIB_DIR) -l alx
+
+STATIC_LIBS = $(MAIN_LIB_LIBALX)
# target: dependencies
@@ -26,7 +31,7 @@ all: $(ALL)
$(BIN_NAME): $(MAIN_OBJS)
- $(Q)$(CC) $^ -o $@ $(LIBS)
+ $(Q)$(CC) $^ -o $@ $(STATIC_LIBS) $(LIBS)
@echo " CC $@"
@echo ""
diff --git a/modules/game/inc/game_iface.h b/modules/game/inc/game_iface.h
index 9b61e7d..9ef36ee 100644
--- a/modules/game/inc/game_iface.h
+++ b/modules/game/inc/game_iface.h
@@ -42,6 +42,7 @@
};
enum Game_Iface_Visible_Board {
+ GAME_IFACE_VIS_FOO = -1,
GAME_IFACE_VIS_KBOOM,
GAME_IFACE_VIS_HIDDEN_FIELD,
GAME_IFACE_VIS_HIDDEN_MINE,
diff --git a/modules/game/src/game.c b/modules/game/src/game.c
index 1f414cb..29da873 100644
--- a/modules/game/src/game.c
+++ b/modules/game/src/game.c
@@ -44,7 +44,6 @@ static void game_init_mines (int pos_row, int pos_col);
static void game_init_adjnums (void);
/* Step */
static void game_step (int r, int c);
-static void game_first_step (int r, int c);
static void game_discover (int r, int c);
static void game_discover_recursive (int r, int c);
static void game_big_step (int r, int c);
diff --git a/modules/game/src/game_iface.c b/modules/game/src/game_iface.c
index 6ab5501..01e7cfa 100644
--- a/modules/game/src/game_iface.c
+++ b/modules/game/src/game_iface.c
@@ -535,6 +535,10 @@ static void game_iface_update_usr (int r, int c)
case GAME_USR_POSSIBLE:
field_usr = GAME_IFACE_VIS_POSSIBLE;
break;
+
+ default:
+ field_usr = GAME_IFACE_VIS_FOO;
+ break;
}
game_iface_out.usr[r][c] = field_usr;
diff --git a/modules/menu/src/menu_gui.c b/modules/menu/src/menu_gui.c
index 8271685..451fb7f 100644
--- a/modules/menu/src/menu_gui.c
+++ b/modules/menu/src/menu_gui.c
@@ -321,7 +321,7 @@ static void callback_entry_int (GtkWidget *widget,
entry = ((struct Entry_int_Data *)data);
str = gtk_entry_get_text(GTK_ENTRY(entry->ptr));
- err = alx_sscan_int(&Z, entry->min, entry->def, entry->max, str);
+ err = alx_sscan_int64(&Z, entry->min, entry->def, entry->max, str);
if (err) {
snprintf(buff, LINE_SIZE, "Error %i", err);
diff --git a/modules/menu/src/menu_tui.c b/modules/menu/src/menu_tui.c
index 2ce2429..15b363b 100644
--- a/modules/menu/src/menu_tui.c
+++ b/modules/menu/src/menu_tui.c
@@ -258,7 +258,6 @@ static void menu_tui_select (void)
static void menu_tui_level (void)
{
/* Menu dimensions & options */
- WINDOW *win;
int h;
int w;
h = 10;
diff --git a/modules/menu/src/parser.c b/modules/menu/src/parser.c
index 2a20afb..931c685 100644
--- a/modules/menu/src/parser.c
+++ b/modules/menu/src/parser.c
@@ -121,11 +121,12 @@ void parser (int argc, char *argv[])
case 'p':
parse_proportion(optarg);
break;
-/* Only for DEVEL
+# if 0
+// for DEVEL
case 'r':
parse_rand_seed(optarg);
break;
-*/
+# endif
case 's':
parse_start(optarg);
break;
diff --git a/modules/player/inc/player_clui.h b/modules/player/inc/player_clui.h
index 2d92a38..3ad3bcd 100644
--- a/modules/player/inc/player_clui.h
+++ b/modules/player/inc/player_clui.h
@@ -23,6 +23,7 @@
******* enums ****************************************************************
******************************************************************************/
enum Player_CLUI_Char {
+ PLAYER_CLUI_CHAR_ERROR = 'X',
PLAYER_CLUI_CHAR_KBOOM = '#',
PLAYER_CLUI_CHAR_HIDDEN_FIELD = '+',
PLAYER_CLUI_CHAR_HIDDEN_MINE = '*',
diff --git a/modules/player/inc/player_gui.h b/modules/player/inc/player_gui.h
index cca8677..5e6776d 100644
--- a/modules/player/inc/player_gui.h
+++ b/modules/player/inc/player_gui.h
@@ -23,6 +23,7 @@
******* enums ****************************************************************
******************************************************************************/
enum Player_GUI_Char {
+ PLAYER_GUI_CHAR_ERROR = 'X',
PLAYER_GUI_CHAR_KBOOM = '#',
PLAYER_GUI_CHAR_HIDDEN_FIELD = '+',
PLAYER_GUI_CHAR_HIDDEN_MINE = '*',
diff --git a/modules/player/inc/player_tui.h b/modules/player/inc/player_tui.h
index 6c0e7e2..b27748b 100644
--- a/modules/player/inc/player_tui.h
+++ b/modules/player/inc/player_tui.h
@@ -31,6 +31,7 @@
******* enums ****************************************************************
******************************************************************************/
enum Player_TUI_Char {
+ PLAYER_TUI_CHAR_ERROR = 'X',
PLAYER_TUI_CHAR_KBOOM = '#',
PLAYER_TUI_CHAR_HIDDEN_FIELD = '+',
PLAYER_TUI_CHAR_HIDDEN_MINE = '*',
diff --git a/modules/player/src/player_clui.c b/modules/player/src/player_clui.c
index f1d890c..c947aea 100644
--- a/modules/player/src/player_clui.c
+++ b/modules/player/src/player_clui.c
@@ -287,6 +287,10 @@ static char set_char (int game_iface_visible)
case GAME_IFACE_VIS_POSSIBLE_FALSE:
ch = PLAYER_CLUI_CHAR_POSSIBLE_FALSE;
break;
+
+ default:
+ ch = PLAYER_CLUI_CHAR_ERROR;
+ break;
}
return ch;
@@ -306,6 +310,7 @@ static int usr_input (void)
/* Interpret input */
int action;
+ action = PLAYER_IFACE_ACT_FOO;
sscanf(buff, "%c", &ch);
switch (ch) {
/* Escape sequence */
@@ -317,19 +322,19 @@ static int usr_input (void)
sscanf(buff, "%*2c""%c", &ch);
switch (ch) {
case 65:
- action = PLAYER_IFACE_ACT_MOVE_UP;
+ action = PLAYER_IFACE_ACT_MOVE_UP;
break;
case 66:
- action = PLAYER_IFACE_ACT_MOVE_DOWN;
+ action = PLAYER_IFACE_ACT_MOVE_DOWN;
break;
case 67:
- action = PLAYER_IFACE_ACT_MOVE_RIGHT;
+ action = PLAYER_IFACE_ACT_MOVE_RIGHT;
break;
case 68:
- action = PLAYER_IFACE_ACT_MOVE_LEFT;
+ action = PLAYER_IFACE_ACT_MOVE_LEFT;
break;
}
break;
@@ -337,45 +342,45 @@ static int usr_input (void)
break;
case 'h':
- action = PLAYER_IFACE_ACT_MOVE_LEFT;
+ action = PLAYER_IFACE_ACT_MOVE_LEFT;
break;
case 'j':
- action = PLAYER_IFACE_ACT_MOVE_DOWN;
+ action = PLAYER_IFACE_ACT_MOVE_DOWN;
break;
case 'k':
- action = PLAYER_IFACE_ACT_MOVE_UP;
+ action = PLAYER_IFACE_ACT_MOVE_UP;
break;
case 'l':
- action = PLAYER_IFACE_ACT_MOVE_RIGHT;
+ action = PLAYER_IFACE_ACT_MOVE_RIGHT;
break;
case '+':
- action = PLAYER_IFACE_ACT_STEP;
+ action = PLAYER_IFACE_ACT_STEP;
break;
case ' ':
- action = PLAYER_IFACE_ACT_FLAG;
+ action = PLAYER_IFACE_ACT_FLAG;
break;
case 'f':
- action = PLAYER_IFACE_ACT_FLAG_POSSIBLE;
+ action = PLAYER_IFACE_ACT_FLAG_POSSIBLE;
break;
/* ASCII 0x08 is BS */
case 0x7F:
case 0x08:
- action = PLAYER_IFACE_ACT_RM_FLAG;
+ action = PLAYER_IFACE_ACT_RM_FLAG;
break;
case 'p':
- action = PLAYER_IFACE_ACT_PAUSE;
+ action = PLAYER_IFACE_ACT_PAUSE;
break;
case 's':
- action = PLAYER_IFACE_ACT_SAVE;
+ action = PLAYER_IFACE_ACT_SAVE;
break;
case 'x':
@@ -388,7 +393,7 @@ static int usr_input (void)
if (ch == 'z') {
sscanf(buff, "%*4c""%c", &ch);
if (ch == 'y') {
- action = PLAYER_IFACE_ACT_XYZZY_ON;
+ action = PLAYER_IFACE_ACT_XYZZY_ON;
}
}
}
@@ -396,27 +401,23 @@ static int usr_input (void)
break;
case '0':
- action = PLAYER_IFACE_ACT_XYZZY_OFF;
+ action = PLAYER_IFACE_ACT_XYZZY_OFF;
break;
case '1':
- action = PLAYER_IFACE_ACT_XYZZY_LIN;
+ action = PLAYER_IFACE_ACT_XYZZY_LIN;
break;
case '2':
- action = PLAYER_IFACE_ACT_XYZZY_P;
+ action = PLAYER_IFACE_ACT_XYZZY_P;
break;
case '3':
- action = PLAYER_IFACE_ACT_XYZZY_NP;
+ action = PLAYER_IFACE_ACT_XYZZY_NP;
break;
case 'q':
- action = PLAYER_IFACE_ACT_QUIT;
- break;
-
- default:
- action = PLAYER_IFACE_ACT_FOO;
+ action = PLAYER_IFACE_ACT_QUIT;
break;
}
diff --git a/modules/player/src/player_gui.c b/modules/player/src/player_gui.c
index d7a8446..ae05171 100644
--- a/modules/player/src/player_gui.c
+++ b/modules/player/src/player_gui.c
@@ -575,6 +575,10 @@ static char set_char (int game_iface_visible)
case GAME_IFACE_VIS_POSSIBLE_FALSE:
ch = PLAYER_GUI_CHAR_POSSIBLE_FALSE;
break;
+
+ default:
+ ch = PLAYER_GUI_CHAR_ERROR;
+ break;
}
return ch;
@@ -887,6 +891,7 @@ static gboolean callback_ebox (GtkWidget *widget,
gtk_main_quit();
+ return false;
}
static void callback_button (GtkWidget *widget,
@@ -926,6 +931,8 @@ static gboolean callback_tbutton (GtkWidget *widget,
}
gtk_main_quit();
+
+ return false;
}
static void callback_entry_fname (GtkWidget *widget,
@@ -956,8 +963,6 @@ static void callback_entry_str (GtkWidget *widget,
{
struct Entry_str_Data *entry;
const char *str;
- int err;
- char buff [LINE_SIZE];
entry = ((struct Entry_str_Data *)data);
@@ -975,6 +980,8 @@ static gboolean callback_timeout (void *data)
*(tout->act) = tout->val;
gtk_main_quit();
+
+ return false;
}
diff --git a/modules/player/src/player_iface.c b/modules/player/src/player_iface.c
index f736f2e..07b5590 100644
--- a/modules/player/src/player_iface.c
+++ b/modules/player/src/player_iface.c
@@ -139,6 +139,10 @@ int player_iface_start (int *pos_row, int *pos_col)
case PLAYER_IFACE_ACT_QUIT:
fail = -1;
break;
+
+ default:
+ fail = -2;
+ break;
}
return fail;
}
diff --git a/modules/player/src/player_tui.c b/modules/player/src/player_tui.c
index ebb29db..2905932 100644
--- a/modules/player/src/player_tui.c
+++ b/modules/player/src/player_tui.c
@@ -156,6 +156,8 @@ int player_tui_start (const struct Player_Iface_Position *position,
show_help_start();
show_board_start(position, title, subtitle);
*action = usr_input();
+
+ return 0;
}
int player_tui (const struct Game_Iface_Out *board,
@@ -167,6 +169,8 @@ int player_tui (const struct Game_Iface_Out *board,
show_help(board);
show_board(board, position, title, subtitle);
*action = usr_input();
+
+ return 0;
}
void player_tui_save_name (const char *filepath, char *filename, int destsize)
@@ -381,75 +385,79 @@ static wchar_t set_char (int game_iface_visible)
wchar_t wch;
switch (game_iface_visible) {
case GAME_IFACE_VIS_KBOOM:
- wch = PLAYER_TUI_CHAR_KBOOM;
+ wch = PLAYER_TUI_CHAR_KBOOM;
break;
case GAME_IFACE_VIS_HIDDEN_FIELD:
- wch = PLAYER_TUI_CHAR_HIDDEN_FIELD;
+ wch = PLAYER_TUI_CHAR_HIDDEN_FIELD;
break;
case GAME_IFACE_VIS_HIDDEN_MINE:
- wch = PLAYER_TUI_CHAR_HIDDEN_MINE;
+ wch = PLAYER_TUI_CHAR_HIDDEN_MINE;
break;
case GAME_IFACE_VIS_HIDDEN_SAFE:
- wch = PLAYER_TUI_CHAR_HIDDEN_SAFE;
+ wch = PLAYER_TUI_CHAR_HIDDEN_SAFE;
break;
case GAME_IFACE_VIS_SAFE_MINE:
- wch = PLAYER_TUI_CHAR_SAFE_MINE;
+ wch = PLAYER_TUI_CHAR_SAFE_MINE;
break;
case GAME_IFACE_VIS_0:
- wch = PLAYER_TUI_CHAR_0;
+ wch = PLAYER_TUI_CHAR_0;
break;
case GAME_IFACE_VIS_1:
- wch = PLAYER_TUI_CHAR_1;
+ wch = PLAYER_TUI_CHAR_1;
break;
case GAME_IFACE_VIS_2:
- wch = PLAYER_TUI_CHAR_2;
+ wch = PLAYER_TUI_CHAR_2;
break;
case GAME_IFACE_VIS_3:
- wch = PLAYER_TUI_CHAR_3;
+ wch = PLAYER_TUI_CHAR_3;
break;
case GAME_IFACE_VIS_4:
- wch = PLAYER_TUI_CHAR_4;
+ wch = PLAYER_TUI_CHAR_4;
break;
case GAME_IFACE_VIS_5:
- wch = PLAYER_TUI_CHAR_5;
+ wch = PLAYER_TUI_CHAR_5;
break;
case GAME_IFACE_VIS_6:
- wch = PLAYER_TUI_CHAR_6;
+ wch = PLAYER_TUI_CHAR_6;
break;
case GAME_IFACE_VIS_7:
- wch = PLAYER_TUI_CHAR_7;
+ wch = PLAYER_TUI_CHAR_7;
break;
case GAME_IFACE_VIS_8:
- wch = PLAYER_TUI_CHAR_8;
+ wch = PLAYER_TUI_CHAR_8;
break;
case GAME_IFACE_VIS_FLAG:
- wch = PLAYER_TUI_CHAR_FLAG;
+ wch = PLAYER_TUI_CHAR_FLAG;
break;
case GAME_IFACE_VIS_FLAG_FALSE:
- wch = PLAYER_TUI_CHAR_FLAG_FALSE;
+ wch = PLAYER_TUI_CHAR_FLAG_FALSE;
break;
case GAME_IFACE_VIS_POSSIBLE:
- wch = PLAYER_TUI_CHAR_POSSIBLE;
+ wch = PLAYER_TUI_CHAR_POSSIBLE;
break;
case GAME_IFACE_VIS_POSSIBLE_FALSE:
- wch = PLAYER_TUI_CHAR_POSSIBLE_FALSE;
+ wch = PLAYER_TUI_CHAR_POSSIBLE_FALSE;
+ break;
+
+ default:
+ wch = PLAYER_TUI_CHAR_ERROR;
break;
}