[U-Boot] [RFC PATCH v2 14/15] main: Add debug_parser() to avoid #ifdefs

2013-02-24 Thread Simon Glass
Define a simple debug condition at the top of the file, to avoid using
lots of #ifdefs later on.

Signed-off-by: Simon Glass s...@chromium.org
---
Changes in v2: None

 common/main.c | 58 +++---
 1 file changed, 23 insertions(+), 35 deletions(-)

diff --git a/common/main.c b/common/main.c
index 905d0c2..75a184c 100644
--- a/common/main.c
+++ b/common/main.c
@@ -49,7 +49,11 @@ void show_boot_progress (int val) __attribute__((weak, 
alias(__show_boot_progre
 
 #define MAX_DELAY_STOP_STR 32
 
-#undef DEBUG_PARSER
+#define DEBUG_PARSER   0   /* set to 1 to debug */
+
+#define debug_parser(fmt, args...) \
+   debug_cond(DEBUG_PARSER, fmt, ##args)
+
 
 charconsole_buffer[CONFIG_SYS_CBSIZE + 1]; /* console I/O buffer   
*/
 
@@ -1107,9 +,7 @@ int parse_line (char *line, char *argv[])
 {
int nargs = 0;
 
-#ifdef DEBUG_PARSER
-   printf (parse_line: \%s\\n, line);
-#endif
+   debug_parser(parse_line: \%s\\n, line);
while (nargs  CONFIG_SYS_MAXARGS) {
 
/* skip any white space */
@@ -1118,10 +1120,8 @@ int parse_line (char *line, char *argv[])
 
if (*line == '\0') {/* end of line, no more args*/
argv[nargs] = NULL;
-#ifdef DEBUG_PARSER
-   printf (parse_line: nargs=%d\n, nargs);
-#endif
-   return (nargs);
+   debug_parser(parse_line: nargs=%d\n, nargs);
+   return nargs;
}
 
argv[nargs++] = line;   /* begin of argument string */
@@ -1132,10 +1132,8 @@ int parse_line (char *line, char *argv[])
 
if (*line == '\0') {/* end of line, no more args*/
argv[nargs] = NULL;
-#ifdef DEBUG_PARSER
-   printf (parse_line: nargs=%d\n, nargs);
-#endif
-   return (nargs);
+   debug_parser(parse_line: nargs=%d\n, nargs);
+   return nargs;
}
 
*line++ = '\0'; /* terminate current arg */
@@ -1143,9 +1141,7 @@ int parse_line (char *line, char *argv[])
 
printf (** Too many args (max. %d) **\n, CONFIG_SYS_MAXARGS);
 
-#ifdef DEBUG_PARSER
-   printf (parse_line: nargs=%d\n, nargs);
-#endif
+   debug_parser(parse_line: nargs=%d\n, nargs);
return (nargs);
 }
 
@@ -1162,12 +1158,10 @@ static void process_macros (const char *input, char 
*output)
/* 1 = waiting for '(' or '{' */
/* 2 = waiting for ')' or '}' */
/* 3 = waiting for '''  */
-#ifdef DEBUG_PARSER
char *output_start = output;
 
-   printf ([PROCESS_MACROS] INPUT len %d: \%s\\n, strlen (input),
-   input);
-#endif
+   debug_parser([PROCESS_MACROS] INPUT len %zd: \%s\\n, strlen(input),
+input);
 
prev = '\0';/* previous character   */
 
@@ -1255,10 +1249,8 @@ static void process_macros (const char *input, char 
*output)
else
*(output - 1) = 0;
 
-#ifdef DEBUG_PARSER
-   printf ([PROCESS_MACROS] OUTPUT len %d: \%s\\n,
-   strlen (output_start), output_start);
-#endif
+   debug_parser([PROCESS_MACROS] OUTPUT len %zd: \%s\\n,
+   strlen(output_start), output_start);
 }
 
 /
@@ -1289,12 +1281,12 @@ static int builtin_run_command(const char *cmd, int 
flag)
int repeatable = 1;
int rc = 0;
 
-#ifdef DEBUG_PARSER
-   printf ([RUN_COMMAND] cmd[%p]=\, cmd);
-   puts (cmd ? cmd : NULL);  /* use puts - string may be lng */
-   puts (\\n);
-#endif
-
+   debug_parser([RUN_COMMAND] cmd[%p]=\, cmd);
+   if (DEBUG_PARSER) {
+   /* use puts - string may be lng */
+   puts(cmd ? cmd : NULL);
+   puts(\\n);
+   }
clear_ctrlc();  /* forget any previous Control C */
 
if (!cmd || !*cmd) {
@@ -1312,9 +1304,7 @@ static int builtin_run_command(const char *cmd, int flag)
 * repeatable commands
 */
 
-#ifdef DEBUG_PARSER
-   printf ([PROCESS_SEPARATORS] %s\n, cmd);
-#endif
+   debug_parser([PROCESS_SEPARATORS] %s\n, cmd);
while (*str) {
 
/*
@@ -1343,9 +1333,7 @@ static int builtin_run_command(const char *cmd, int flag)
}
else
str = sep;  /* no more commands for next pass */
-#ifdef DEBUG_PARSER
-   printf (token: \%s\\n, token);
-#endif
+   debug_parser(token: \%s\\n, token);
 
/* find macros in this token and replace them */
process_macros (token, finaltoken);
-- 
1.8.1.3

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [RFC PATCH v2 14/15] main: Add debug_parser() to avoid #ifdefs

2013-02-24 Thread Joe Hershberger
Hi Simon,

On Sun, Feb 24, 2013 at 11:26 AM, Simon Glass s...@chromium.org wrote:
 Define a simple debug condition at the top of the file, to avoid using
 lots of #ifdefs later on.

 Signed-off-by: Simon Glass s...@chromium.org
 ---
 Changes in v2: None

  common/main.c | 58 +++---
  1 file changed, 23 insertions(+), 35 deletions(-)


Reviewed-by: Joe Hershberger joe.hershber...@ni.com
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot