summaryrefslogtreecommitdiff
path: root/apps/gui
diff options
context:
space:
mode:
authorNicolas Pennequin <nicolas.pennequin@free.fr>2007-04-24 23:58:57 +0000
committerNicolas Pennequin <nicolas.pennequin@free.fr>2007-04-24 23:58:57 +0000
commit6ac306a515e560e01fdfd36495afb034ea6a5080 (patch)
tree9d2c4dcd4141baee6760c1dbfab247ad46569b96 /apps/gui
parent4ddc764a7c1738fc39da8b95c560d07940e8de9a (diff)
downloadrockbox-6ac306a515e560e01fdfd36495afb034ea6a5080.zip
rockbox-6ac306a515e560e01fdfd36495afb034ea6a5080.tar.gz
rockbox-6ac306a515e560e01fdfd36495afb034ea6a5080.tar.bz2
rockbox-6ac306a515e560e01fdfd36495afb034ea6a5080.tar.xz
Add a new commandline switch to the simulator: "--debugwps". It enables printing of advanced (and very verbose) WPS debugging information. Also make the debugging code a bit cleaner.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13257 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui')
-rw-r--r--apps/gui/wps_debug.c53
-rw-r--r--apps/gui/wps_parser.c37
2 files changed, 51 insertions, 39 deletions
diff --git a/apps/gui/wps_debug.c b/apps/gui/wps_debug.c
index ad9395b..335c994 100644
--- a/apps/gui/wps_debug.c
+++ b/apps/gui/wps_debug.c
@@ -24,11 +24,19 @@
#include "gwps.h"
#include "debug.h"
+#define PARSE_FAIL_UNCLOSED_COND 1
+#define PARSE_FAIL_INVALID_CHAR 2
+#define PARSE_FAIL_COND_SYNTAX_ERROR 3
+
+#ifdef SIMULATOR
+extern bool debug_wps;
+#endif
+
static char *next_str(bool next) {
- return next ? "next" : "";
+ return next ? "next " : "";
}
-void dump_wps_tokens(struct wps_data *data)
+static void dump_wps_tokens(struct wps_data *data)
{
struct wps_token *token;
int i, j;
@@ -358,7 +366,7 @@ void dump_wps_tokens(struct wps_data *data)
DEBUGF("\n");
}
-void print_line_info(struct wps_data *data)
+static void print_line_info(struct wps_data *data)
{
int i, j;
struct wps_line *line;
@@ -395,7 +403,7 @@ void print_line_info(struct wps_data *data)
DEBUGF("\n");
}
-void print_wps_strings(struct wps_data *data)
+static void print_wps_strings(struct wps_data *data)
{
int i, len, total_len = 0, buf_used = 0;
@@ -414,7 +422,7 @@ void print_wps_strings(struct wps_data *data)
}
#ifdef HAVE_LCD_BITMAP
-void print_img_cond_indexes(struct wps_data *data)
+static void print_img_cond_indexes(struct wps_data *data)
{
DEBUGF("Image conditional indexes:\n");
int i;
@@ -427,4 +435,39 @@ void print_img_cond_indexes(struct wps_data *data)
}
#endif /*HAVE_LCD_BITMAP */
+void print_debug_info(struct wps_data *data, int fail, int line)
+{
+#ifdef SIMULATOR
+ if (debug_wps)
+ {
+ dump_wps_tokens(data);
+ print_line_info(data);
+ print_wps_strings(data);
+#ifdef HAVE_LCD_BITMAP
+ print_img_cond_indexes(data);
+#endif
+ }
+#endif /* SIMULATOR */
+
+ if (fail)
+ {
+ DEBUGF("Failed parsing on line %d : ", line);
+ switch (fail)
+ {
+ case PARSE_FAIL_UNCLOSED_COND:
+ DEBUGF("Unclosed conditional");
+ break;
+
+ case PARSE_FAIL_INVALID_CHAR:
+ DEBUGF("Invalid conditional char (not in an open conditional)");
+ break;
+
+ case PARSE_FAIL_COND_SYNTAX_ERROR:
+ DEBUGF("Conditional syntax error");
+ break;
+ }
+ DEBUGF("\n");
+ }
+}
+
#endif /* DEBUG */
diff --git a/apps/gui/wps_parser.c b/apps/gui/wps_parser.c
index d3e8454..ec98d95 100644
--- a/apps/gui/wps_parser.c
+++ b/apps/gui/wps_parser.c
@@ -69,11 +69,8 @@ static const char *backdrop_bmp_name;
#endif
#ifdef DEBUG
-/* debugging functions */
-extern void dump_wps_tokens(struct wps_data *data);
-extern void print_line_info(struct wps_data *data);
-extern void print_img_cond_indexes(struct wps_data *data);
-extern void print_wps_strings(struct wps_data *data);
+/* debugging function */
+extern void print_debug_info(struct wps_data *data, int fail, int line);
#endif
static void wps_reset(struct wps_data *data);
@@ -795,36 +792,8 @@ static bool wps_parse(struct wps_data *data, const char *wps_bufptr)
}
#ifdef DEBUG
-
-#if 0 /* optional debugging code */
- dump_wps_tokens(data);
- print_line_info(data);
- print_wps_strings(data);
-#ifdef HAVE_LCD_BITMAP
- print_img_cond_indexes(data);
+ print_debug_info(data, fail, line);
#endif
-#endif
-
- if (fail)
- {
- DEBUGF("Failed parsing on line %d : ", line);
- switch (fail)
- {
- case PARSE_FAIL_UNCLOSED_COND:
- DEBUGF("Unclosed conditional");
- break;
-
- case PARSE_FAIL_INVALID_CHAR:
- DEBUGF("Invalid conditional char (not in an open conditional)");
- break;
-
- case PARSE_FAIL_COND_SYNTAX_ERROR:
- DEBUGF("Conditional syntax error");
- break;
- }
- DEBUGF("\n");
- }
-#endif /* DEBUG */
if (fail)
wps_reset(data);