[tuxdroid-svn] r1159 - software_suite_v2/middleware/tuxdriver/trunk/src
Status: Beta
Brought to you by:
ks156
From: remi <c2m...@c2...> - 2008-05-15 16:40:01
|
Author: remi Date: 2008-05-15 18:39:37 +0200 (Thu, 15 May 2008) New Revision: 1159 Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_cmd_parser.c software_suite_v2/middleware/tuxdriver/trunk/src/tux_types.h Log: * Fixed a bug in "tux_cmd_parser_parse_file". * Updated the functions which parse the macro in order to avoid the premature stop of a macro when a bad command is detected (the macros can contain OSL and DRIVER commands) Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_cmd_parser.c =================================================================== --- software_suite_v2/middleware/tuxdriver/trunk/src/tux_cmd_parser.c 2008-05-15 15:10:29 UTC (rev 1158) +++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_cmd_parser.c 2008-05-15 16:39:37 UTC (rev 1159) @@ -1179,7 +1179,7 @@ { const char lex_ret[] = "\n"; char *line_tmp; - char macro[CMDSIZE]; + char macro[MACROSIZE]; TuxDrvError ret = E_TUXDRV_NOERROR; #ifdef USE_MUTEX @@ -1196,7 +1196,10 @@ ret = parse_line(line_tmp); if (ret != E_TUXDRV_NOERROR) { - return(ret); + if (ret != E_TUXDRV_INVALIDCOMMAND) + { + return(ret); + } } while ((line_tmp = strtok(NULL, lex_ret)) != NULL) @@ -1204,7 +1207,10 @@ ret = parse_line(line_tmp); if (ret != E_TUXDRV_NOERROR) { - break; + if (ret != E_TUXDRV_INVALIDCOMMAND) + { + return(ret); + } } } } @@ -1238,7 +1244,10 @@ ret = parse_line(line); if (ret != E_TUXDRV_NOERROR) { - break; + if (ret != E_TUXDRV_INVALIDCOMMAND) + { + return(ret); + } } } fclose(macro_file); Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_types.h =================================================================== --- software_suite_v2/middleware/tuxdriver/trunk/src/tux_types.h 2008-05-15 15:10:29 UTC (rev 1158) +++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_types.h 2008-05-15 16:39:37 UTC (rev 1159) @@ -28,6 +28,7 @@ typedef unsigned char raw_frame[5]; #define CMDSIZE 1024 +#define MACROSIZE 16384 /* command groups */ typedef enum { |