@ -48,7 +48,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 )
char console_buffer [ CONFIG_SYS_CBSIZE + 1 ] ; /* console I/O buffer */
@ -1179,9 +1183,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 */
@ -1190,10 +1192,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 */
@ -1204,10 +1204,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 */
@ -1215,9 +1213,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 ) ;
}
@ -1235,12 +1231,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 */
@ -1328,10 +1322,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 ) ;
}
/****************************************************************************
@ -1362,12 +1354,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 loooong */
puts ( " \" \n " ) ;
# endif
debug_parser ( " [RUN_COMMAND] cmd[%p]= \" " , cmd ) ;
if ( DEBUG_PARSER ) {
/* use puts - string may be loooong */
puts ( cmd ? cmd : " NULL " ) ;
puts ( " \" \n " ) ;
}
clear_ctrlc ( ) ; /* forget any previous Control C */
if ( ! cmd | | ! * cmd ) {
@ -1385,9 +1377,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 ) {
/*
@ -1416,9 +1406,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 ) ;