--- tester/covoar/ConfigFile.cc | 4 +-- tester/covoar/ConfigFile.h | 8 ++--- tester/covoar/CoverageMap.h | 4 +-- tester/covoar/CoverageRanges.cc | 2 +- tester/covoar/CoverageRanges.h | 16 ++++----- tester/covoar/CoverageReaderBase.h | 4 +-- tester/covoar/CoverageReaderTSIM.h | 4 +-- tester/covoar/CoverageWriterBase.h | 4 +-- tester/covoar/CoverageWriterRTEMS.h | 6 ++-- tester/covoar/CoverageWriterSkyeye.h | 6 ++-- tester/covoar/CoverageWriterTSIM.h | 6 ++-- tester/covoar/Explanations.h | 6 ++-- tester/covoar/GcovData.h | 6 ++-- tester/covoar/GcovFunctionData.h | 12 +++---- tester/covoar/Makefile | 2 +- tester/covoar/ReportsBase.h | 26 +++++++------- tester/covoar/ReportsHtml.h | 62 ++++++++++++++++---------------- tester/covoar/ReportsText.cc | 18 +++++----- tester/covoar/ReportsText.h | 34 +++++++++--------- tester/covoar/SymbolTable.h | 6 ++-- tester/covoar/TargetBase.h | 4 +-- tester/covoar/Target_arm.h | 2 +- tester/covoar/Target_i386.cc | 4 +-- tester/covoar/Target_i386.h | 2 +- tester/covoar/Target_lm32.cc | 4 +-- tester/covoar/Target_lm32.h | 2 +- tester/covoar/Target_m68k.h | 2 +- tester/covoar/Target_powerpc.h | 2 +- tester/covoar/Target_sparc.cc | 12 +++---- tester/covoar/Target_sparc.h | 2 +- tester/covoar/TraceList.cc | 12 +++---- tester/covoar/TraceList.h | 6 ++-- tester/covoar/TraceReaderBase.h | 4 +-- tester/covoar/TraceReaderLogQEMU.h | 4 +-- tester/covoar/TraceWriterBase.h | 4 +-- tester/covoar/TraceWriterQEMU.h | 4 +-- tester/covoar/configFile.txt | 8 ++--- tester/covoar/configfile_test.cc | 2 +- tester/covoar/coverage_converter.cc | 8 ++--- tester/covoar/covmerge.cc | 32 ++++++++--------- tester/covoar/covoar.css | 10 +++--- tester/covoar/mkExplanation | 10 +++--- tester/covoar/qemu-dump-trace.c | 4 +-- tester/covoar/table.js | 68 ++++++++++++++++++------------------ 44 files changed, 224 insertions(+), 224 deletions(-)
diff --git a/tester/covoar/ConfigFile.cc b/tester/covoar/ConfigFile.cc index ccfc00a..c16b64a 100644 --- a/tester/covoar/ConfigFile.cc +++ b/tester/covoar/ConfigFile.cc @@ -93,7 +93,7 @@ namespace Configuration { * all comments and blanks therefore, only * an empty string needs to be checked. */ - if (line[0] == '\0') + if (line[0] == '\0') continue; if (sscanf(line, "%s", option) != 1) { @@ -127,7 +127,7 @@ namespace Configuration { i++; for (j=0; line[i] != '\0'; i++, j++ ) value[j] = line[i]; - value[j] = '\0'; + value[j] = '\0'; if (value[0] == '\0') { fprintf( stderr, diff --git a/tester/covoar/ConfigFile.h b/tester/covoar/ConfigFile.h index 88da81b..0bae7ac 100644 --- a/tester/covoar/ConfigFile.h +++ b/tester/covoar/ConfigFile.h @@ -12,10 +12,10 @@ namespace Configuration { /*! - * + * * This structure contains the configuration parameter * name and value pair. - */ + */ typedef struct { const char *option; const char *value; @@ -31,7 +31,7 @@ namespace Configuration { public: - /*! + /*! * This method constructs a FileReader instance. * * @param[in] options is the set of options @@ -40,7 +40,7 @@ namespace Configuration { Options_t *options ); - /*! + /*! * This method destructs a FileReader instance. */ virtual ~FileReader(); diff --git a/tester/covoar/CoverageMap.h b/tester/covoar/CoverageMap.h index c211949..c098072 100644 --- a/tester/covoar/CoverageMap.h +++ b/tester/covoar/CoverageMap.h @@ -14,13 +14,13 @@ namespace Coverage { /*! @class CoverageMap * * This class implements a coverage map which supports a single - * range of addresses from low to high. + * range of addresses from low to high. */ class CoverageMap : public CoverageMapBase { public: - /*! + /*! * This method constructs a CoverageMap instance. * * @param[in] low specifies the lowest address of the coverage map. diff --git a/tester/covoar/CoverageRanges.cc b/tester/covoar/CoverageRanges.cc index 1f79dd3..159c556 100644 --- a/tester/covoar/CoverageRanges.cc +++ b/tester/covoar/CoverageRanges.cc @@ -1,7 +1,7 @@ /*! @file CoverageRanges.cc * @brief CoverageRanges Implementation * - * This file contains the implementation of the functions + * This file contains the implementation of the functions * which provide a base level of functionality of a CoverageRanges. */ diff --git a/tester/covoar/CoverageRanges.h b/tester/covoar/CoverageRanges.h index 17640b7..e3b651d 100644 --- a/tester/covoar/CoverageRanges.h +++ b/tester/covoar/CoverageRanges.h @@ -39,19 +39,19 @@ namespace Coverage { */ typedef struct { /*! - * This member contains an identification number for this + * This member contains an identification number for this * coverage range. */ uint32_t id; /*! - * This member contains the low address of this coverage + * This member contains the low address of this coverage * range. */ uint32_t lowAddress; /*! - * This member contains the source line associated with the + * This member contains the source line associated with the * low address for this coverage range. */ std::string lowSourceLine; @@ -67,7 +67,7 @@ namespace Coverage { std::string highSourceLine; /*! - * This member contains an instruction count for this coverage + * This member contains an instruction count for this coverage * address range. */ uint32_t instructionCount; @@ -88,12 +88,12 @@ namespace Coverage { */ ranges_t set; - /*! + /*! * This method constructs a CoverageRanges instance. */ CoverageRanges(); - /*! + /*! * This method destructs a CoverageRanges instance. */ ~CoverageRanges(); @@ -112,14 +112,14 @@ namespace Coverage { uncoveredReason_t why, uint32_t numInstructions ); - + /*! * This method returns the index of a range given the low address. * Upon failure on finding the adress 0 is returned. */ uint32_t getId( uint32_t lowAddress ); - + protected: diff --git a/tester/covoar/CoverageReaderBase.h b/tester/covoar/CoverageReaderBase.h index bf59f88..81090c0 100644 --- a/tester/covoar/CoverageReaderBase.h +++ b/tester/covoar/CoverageReaderBase.h @@ -20,12 +20,12 @@ namespace Coverage { public: - /*! + /*! * This method constructs a CoverageReaderBase instance. */ CoverageReaderBase(); - /*! + /*! * This method destructs a CoverageReaderBase instance. */ virtual ~CoverageReaderBase(); diff --git a/tester/covoar/CoverageReaderTSIM.h b/tester/covoar/CoverageReaderTSIM.h index 4acb889..e4ae849 100644 --- a/tester/covoar/CoverageReaderTSIM.h +++ b/tester/covoar/CoverageReaderTSIM.h @@ -20,8 +20,8 @@ namespace Coverage { * integer will have the least significant bit if the address * was executed. @verbatim -40000000 : 1 0 0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 1 -40000080 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 +40000000 : 1 0 0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 1 +40000080 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 @endverbatim */ class CoverageReaderTSIM : public CoverageReaderBase { diff --git a/tester/covoar/CoverageWriterBase.h b/tester/covoar/CoverageWriterBase.h index 1d7d6eb..e43a45b 100644 --- a/tester/covoar/CoverageWriterBase.h +++ b/tester/covoar/CoverageWriterBase.h @@ -22,12 +22,12 @@ namespace Coverage { public: - /*! + /*! * This method constructs a CoverageWriterBase instance. */ CoverageWriterBase(); - /*! + /*! * This method destructs a CoverageWriterBase instance. */ virtual ~CoverageWriterBase(); diff --git a/tester/covoar/CoverageWriterRTEMS.h b/tester/covoar/CoverageWriterRTEMS.h index c934f61..b66d2fa 100644 --- a/tester/covoar/CoverageWriterRTEMS.h +++ b/tester/covoar/CoverageWriterRTEMS.h @@ -14,19 +14,19 @@ namespace Coverage { /*! @class CoverageWriterRTEMS * - * This class writes a coverage map in RTEMS format. The format is + * This class writes a coverage map in RTEMS format. The format is * documented in CoverageReaderRTEMS. */ class CoverageWriterRTEMS : public CoverageWriterBase { public: - /*! + /*! * This method constructs a CoverageWriterRTEMS instance. */ CoverageWriterRTEMS(); - /*! + /*! * This method destructs a CoverageWriterRTEMS instance. */ virtual ~CoverageWriterRTEMS(); diff --git a/tester/covoar/CoverageWriterSkyeye.h b/tester/covoar/CoverageWriterSkyeye.h index 5d8aeb9..8a74f55 100644 --- a/tester/covoar/CoverageWriterSkyeye.h +++ b/tester/covoar/CoverageWriterSkyeye.h @@ -14,19 +14,19 @@ namespace Coverage { /*! @class CoverageWriterSkyeye * - * This class writes a coverage map in Skyeye format. The format is + * This class writes a coverage map in Skyeye format. The format is * documented in CoverageReaderSkyeye. */ class CoverageWriterSkyeye : public CoverageWriterBase { public: - /*! + /*! * This method constructs a CoverageWriterSkyeye instance. */ CoverageWriterSkyeye(); - /*! + /*! * This method destructs a CoverageWriterSkyeye instance. */ virtual ~CoverageWriterSkyeye(); diff --git a/tester/covoar/CoverageWriterTSIM.h b/tester/covoar/CoverageWriterTSIM.h index 927fd64..b43e1c6 100644 --- a/tester/covoar/CoverageWriterTSIM.h +++ b/tester/covoar/CoverageWriterTSIM.h @@ -14,19 +14,19 @@ namespace Coverage { /*! @class CoverageWriterTSIM * - * This class writes a coverage map in TSIM format. The format is + * This class writes a coverage map in TSIM format. The format is * documented in CoverageReaderTSIM. */ class CoverageWriterTSIM : public CoverageWriterBase { public: - /*! + /*! * This method constructs a CoverageWriterTSIM instance. */ CoverageWriterTSIM(); - /*! + /*! * This method destructs a CoverageWriterTSIM instance. */ virtual ~CoverageWriterTSIM(); diff --git a/tester/covoar/Explanations.h b/tester/covoar/Explanations.h index 9b32358..ce0e4d4 100644 --- a/tester/covoar/Explanations.h +++ b/tester/covoar/Explanations.h @@ -70,12 +70,12 @@ namespace Coverage { */ std::map<std::string, Explanation> set; - /*! + /*! * This method constructs an Explanations instance. */ Explanations(); - /*! + /*! * This method destructs an Explanations instance. */ ~Explanations(); @@ -107,7 +107,7 @@ namespace Coverage { * explanations that were not looked up. * * @param[in] fileName specifies the name of the file to write - */ + */ void writeNotFound( const char* const fileName ); diff --git a/tester/covoar/GcovData.h b/tester/covoar/GcovData.h index 83b8772..3191a45 100644 --- a/tester/covoar/GcovData.h +++ b/tester/covoar/GcovData.h @@ -84,7 +84,7 @@ struct gcov_statistics bool readGcnoFile( const char* const fileName ); /*! - * This method writes the *.gcda file. It also produces and stores + * This method writes the *.gcda file. It also produces and stores * gcda and txt file names for future outputs. * * @return Returns TRUE if the method succeeded and FALSE if it failed. @@ -150,7 +150,7 @@ struct gcov_statistics * @param[in] header stores the header * @param[in] file specifies the name of the file to read * - * @return Returns length of words read (word = 32bit) + * @return Returns length of words read (word = 32bit) * or -1 if error ocurred */ int readFrameHeader( @@ -165,7 +165,7 @@ struct gcov_statistics * @param[in] gcovFile specifies the name of the file to read * @param[in] desiredMagic stores the expected magic of a file * - * @return Returns length of words read (word = 32bit) + * @return Returns length of words read (word = 32bit) * or -1 if error ocurred */ int readFilePreamble( diff --git a/tester/covoar/GcovFunctionData.h b/tester/covoar/GcovFunctionData.h index 1bc1be9..959d8ff 100644 --- a/tester/covoar/GcovFunctionData.h +++ b/tester/covoar/GcovFunctionData.h @@ -90,7 +90,7 @@ typedef std::list<gcov_block_info>::iterator blocks_iterator_t; ); /*! - * This method stores name of the function and ties it to its + * This method stores name of the function and ties it to its * unified coverage map. * * @param[in] functionName passes name of the the function @@ -219,8 +219,8 @@ typedef std::list<gcov_block_info>::iterator blocks_iterator_t; * @param[in] arc passes iterator identifying arc */ void printArcInfo( - FILE * textFile, - arcs_iterator_t arc + FILE * textFile, + arcs_iterator_t arc ); /*! @@ -229,7 +229,7 @@ typedef std::list<gcov_block_info>::iterator blocks_iterator_t; * @param[in] block passes iterator identifying block */ void printBlockInfo( - FILE * textFile, + FILE * textFile, blocks_iterator_t block ); @@ -265,8 +265,8 @@ typedef std::list<gcov_block_info>::iterator blocks_iterator_t; * @param[in] notTaken used to return not taken counts list */ bool processBranches( - std::list<uint64_t> * taken , - std::list<uint64_t> * notTaken + std::list<uint64_t> * taken , + std::list<uint64_t> * notTaken ); }; diff --git a/tester/covoar/Makefile b/tester/covoar/Makefile index bb8b6f7..694e4e1 100644 --- a/tester/covoar/Makefile +++ b/tester/covoar/Makefile @@ -100,7 +100,7 @@ CoverageFactory.o: CoverageFactory.cc CoverageFactory.h \ CoverageReaderBase.h CoverageReaderQEMU.h CoverageReaderRTEMS.h \ CoverageReaderSkyeye.h CoverageReaderTSIM.h \ CoverageWriterBase.h CoverageWriterRTEMS.h \ - CoverageWriterSkyeye.h CoverageWriterTSIM.h + CoverageWriterSkyeye.h CoverageWriterTSIM.h CoverageMap.o: CoverageMap.cc CoverageMap.h CoverageMapBase.o: CoverageMapBase.cc CoverageMapBase.h CoverageRanges.o: CoverageRanges.cc CoverageRanges.h diff --git a/tester/covoar/ReportsBase.h b/tester/covoar/ReportsBase.h index 43cd80e..5eff76c 100644 --- a/tester/covoar/ReportsBase.h +++ b/tester/covoar/ReportsBase.h @@ -17,7 +17,7 @@ namespace Coverage { /*! - * This class contains the base information to create a report + * This class contains the base information to create a report * set. The report set may be text based, html based or some * other format to be defined at a future time. */ @@ -96,7 +96,7 @@ class ReportsBase { /*! * This method returns the unique extension for the Report - * type. If the extension is ".txt" files will be + * type. If the extension is ".txt" files will be * named "annotated.txt", "branch.txt" ...... */ std::string ReportExtension() { return reportExtension_m; } @@ -172,7 +172,7 @@ class ReportsBase { virtual FILE* OpenCoverageFile( const char* const fileName ); - + /*! * This method opens a report file and verifies that it opened. * Then appends any necessary header information onto the file. @@ -204,7 +204,7 @@ class ReportsBase { ); /*! - * This method Closes a report file. + * This method Closes a report file. * * @param[in] aFile identifies the report file name */ @@ -280,14 +280,14 @@ class ReportsBase { * * @param[in] aFile identifies the report file name * @param[in] state identifies the state machine state - * @param[in] line identifies the string to print + * @param[in] line identifies the string to print * @param[in] id identifies the branch or range id. */ - virtual void PutAnnotatedLine( - FILE* aFile, - AnnotatedLineState_t state, + virtual void PutAnnotatedLine( + FILE* aFile, + AnnotatedLineState_t state, std::string line, - uint32_t id + uint32_t id )=0; /*! @@ -299,7 +299,7 @@ class ReportsBase { virtual void AnnotatedStart( FILE* aFile )=0; - + /*! * This method puts any necessary footer information in * front of an annotated section. @@ -309,7 +309,7 @@ class ReportsBase { virtual void AnnotatedEnd( FILE* aFile )=0; - + /*! * This method puts any necessary footer information into @@ -322,7 +322,7 @@ class ReportsBase { ) = 0; /*! - * This method puts a branch entry into the branch report. + * This method puts a branch entry into the branch report. * * @param[in] report identifies the report file name * @param[in] number identifies the line number. @@ -339,7 +339,7 @@ class ReportsBase { )=0; /*! - * This method reports when no range is available for + * This method reports when no range is available for * a symbol in the coverage report. * * @param[in] report identifies the report file name diff --git a/tester/covoar/ReportsHtml.h b/tester/covoar/ReportsHtml.h index 7972ce1..60c5dc8 100644 --- a/tester/covoar/ReportsHtml.h +++ b/tester/covoar/ReportsHtml.h @@ -67,99 +67,99 @@ class ReportsHtml: public ReportsBase { protected: /*! - * This variable tracks the annotated state at the time the + * This variable tracks the annotated state at the time the * last line was output. This allows the text formating to change * based upon the type of lines being put out: source code or assembly * object dump line.... */ AnnotatedLineState_t lastState_m; - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual FILE* OpenAnnotatedFile( const char* const fileName ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual FILE* OpenBranchFile( const char* const fileName, bool hasBranches ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual FILE* OpenCoverageFile( const char* const fileName ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ FILE* OpenNoRangeFile( const char* const fileName ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual FILE* OpenSizeFile( const char* const fileName ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual FILE* OpenSymbolSummaryFile( const char* const fileName ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual void CloseAnnotatedFile( FILE* aFile ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual void CloseBranchFile( FILE* aFile, bool hasBranches ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual void CloseCoverageFile( FILE* aFile ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ void CloseNoRangeFile( FILE* aFile ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual void CloseSizeFile( FILE* aFile ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual void CloseSymbolSummaryFile( FILE* aFile ); - /* Inherit documentation from base class. */ - virtual void PutAnnotatedLine( - FILE* aFile, - AnnotatedLineState_t state, - std::string line, - uint32_t id + /* Inherit documentation from base class. */ + virtual void PutAnnotatedLine( + FILE* aFile, + AnnotatedLineState_t state, + std::string line, + uint32_t id ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual void AnnotatedStart( FILE* aFile ); - - /* Inherit documentation from base class. */ + + /* Inherit documentation from base class. */ virtual void AnnotatedEnd( FILE* aFile ); - - /* Inherit documentation from base class. */ + + /* Inherit documentation from base class. */ virtual bool PutNoBranchInfo( FILE* report ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual bool PutBranchEntry( FILE* report, unsigned int number, @@ -168,7 +168,7 @@ class ReportsHtml: public ReportsBase { Coverage::CoverageRanges::ranges_t::iterator rangePtr ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual void putCoverageNoRange( FILE* report, FILE* noRangeFile, @@ -176,7 +176,7 @@ class ReportsHtml: public ReportsBase { std::string symbol ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual bool PutCoverageLine( FILE* report, unsigned int number, @@ -185,7 +185,7 @@ class ReportsHtml: public ReportsBase { Coverage::CoverageRanges::ranges_t::iterator ritr ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual bool PutSizeLine( FILE* report, unsigned int number, @@ -193,7 +193,7 @@ class ReportsHtml: public ReportsBase { Coverage::CoverageRanges::ranges_t::iterator range ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual bool PutSymbolSummaryLine( FILE* report, unsigned int number, @@ -201,12 +201,12 @@ class ReportsHtml: public ReportsBase { const SymbolInformation& symbolInfo ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual FILE* OpenFile( const char* const fileName ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual bool WriteExplationFile( const char* fileName, const Coverage::Explanation* explanation diff --git a/tester/covoar/ReportsText.cc b/tester/covoar/ReportsText.cc index f552cdd..f56580a 100644 --- a/tester/covoar/ReportsText.cc +++ b/tester/covoar/ReportsText.cc @@ -25,24 +25,24 @@ void ReportsText::AnnotatedStart( FILE* aFile ) { - fprintf( - aFile, + fprintf( + aFile, "========================================" - "=======================================\n" + "=======================================\n" ); } - + void ReportsText::AnnotatedEnd( FILE* aFile ) { } -void ReportsText::PutAnnotatedLine( - FILE* aFile, - AnnotatedLineState_t state, - std::string line, - uint32_t id +void ReportsText::PutAnnotatedLine( + FILE* aFile, + AnnotatedLineState_t state, + std::string line, + uint32_t id ) { fprintf( aFile, "%s\n", line.c_str()); diff --git a/tester/covoar/ReportsText.h b/tester/covoar/ReportsText.h index cf8a813..91366b5 100644 --- a/tester/covoar/ReportsText.h +++ b/tester/covoar/ReportsText.h @@ -56,30 +56,30 @@ class ReportsText: public ReportsBase { protected: - /* Inherit documentation from base class. */ - virtual void PutAnnotatedLine( - FILE* aFile, - AnnotatedLineState_t state, - std::string line, - uint32_t id + /* Inherit documentation from base class. */ + virtual void PutAnnotatedLine( + FILE* aFile, + AnnotatedLineState_t state, + std::string line, + uint32_t id ); - - /* Inherit documentation from base class. */ + + /* Inherit documentation from base class. */ virtual void AnnotatedStart( FILE* aFile ); - - /* Inherit documentation from base class. */ + + /* Inherit documentation from base class. */ virtual void AnnotatedEnd( FILE* aFile ); - - /* Inherit documentation from base class. */ + + /* Inherit documentation from base class. */ virtual bool PutNoBranchInfo( FILE* report ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual bool PutBranchEntry( FILE* report, unsigned int number, @@ -88,7 +88,7 @@ class ReportsText: public ReportsBase { Coverage::CoverageRanges::ranges_t::iterator rangePtr ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual void putCoverageNoRange( FILE* report, FILE* noRangeFile, @@ -96,7 +96,7 @@ class ReportsText: public ReportsBase { std::string symbol ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual bool PutCoverageLine( FILE* report, unsigned int number, @@ -105,7 +105,7 @@ class ReportsText: public ReportsBase { Coverage::CoverageRanges::ranges_t::iterator ritr ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual bool PutSizeLine( FILE* report, unsigned int number, @@ -113,7 +113,7 @@ class ReportsText: public ReportsBase { Coverage::CoverageRanges::ranges_t::iterator range ); - /* Inherit documentation from base class. */ + /* Inherit documentation from base class. */ virtual bool PutSymbolSummaryLine( FILE* report, unsigned int number, diff --git a/tester/covoar/SymbolTable.h b/tester/covoar/SymbolTable.h index 7b71304..4149868 100644 --- a/tester/covoar/SymbolTable.h +++ b/tester/covoar/SymbolTable.h @@ -31,11 +31,11 @@ namespace Coverage { uint32_t startingAddress; uint32_t length; } symbolInfo_t; - + typedef std::list< symbolInfo_t > symbolInfo; typedef std::list< symbolInfo_t >::iterator symbolInfoIterator_t; - - + + /*! * This method constructs a SymbolTable instance. diff --git a/tester/covoar/TargetBase.h b/tester/covoar/TargetBase.h index e566c15..d13216d 100644 --- a/tester/covoar/TargetBase.h +++ b/tester/covoar/TargetBase.h @@ -66,7 +66,7 @@ namespace Target { const char* getTarget( void ) const; /*! - * This method determines whether the specified line from a + * This method determines whether the specified line from a * objdump file is a nop instruction. * * @param[in] line contains the object dump line to check @@ -93,7 +93,7 @@ namespace Target { const char* const line ); - + /*! * This method determines if the specified line from an * objdump file is a branch instruction. diff --git a/tester/covoar/Target_arm.h b/tester/covoar/Target_arm.h index 0396402..80b68af 100644 --- a/tester/covoar/Target_arm.h +++ b/tester/covoar/Target_arm.h @@ -33,7 +33,7 @@ namespace Target { virtual ~Target_arm(); /*! - * This method determines whether the specified line from a + * This method determines whether the specified line from a * objdump file is a nop instruction. * * @param[in] line contains the object dump line to check diff --git a/tester/covoar/Target_i386.cc b/tester/covoar/Target_i386.cc index 4567c1e..2990273 100644 --- a/tester/covoar/Target_i386.cc +++ b/tester/covoar/Target_i386.cc @@ -1,7 +1,7 @@ /*! @file Target_i386.cc * @brief Target_i386 Implementation * - * This file contains the implementation of the base class for + * This file contains the implementation of the base class for * functions supporting target unique functionallity. */ @@ -62,7 +62,7 @@ namespace Target { ) { if (!strcmp( &line[strlen(line)-3], "nop")) { - size = 1; + size = 1; return true; } diff --git a/tester/covoar/Target_i386.h b/tester/covoar/Target_i386.h index 9c332dd..3641de7 100644 --- a/tester/covoar/Target_i386.h +++ b/tester/covoar/Target_i386.h @@ -34,7 +34,7 @@ namespace Target { virtual ~Target_i386(); /*! - * This method determines whether the specified line from a + * This method determines whether the specified line from a * objdump file is a nop instruction. * * @param[in] line contains the object dump line to check diff --git a/tester/covoar/Target_lm32.cc b/tester/covoar/Target_lm32.cc index 93184ec..18e7191 100644 --- a/tester/covoar/Target_lm32.cc +++ b/tester/covoar/Target_lm32.cc @@ -1,7 +1,7 @@ /*! @file Target_lm32.cc * @brief Target_lm32 Implementation * - * This file contains the implementation of the base class for + * This file contains the implementation of the base class for * functions supporting target unique functionallity. */ #include "Target_lm32.h" @@ -35,7 +35,7 @@ namespace Target { ) { if (!strcmp( &line[strlen(line)-3], "nop")) { - size = 4; + size = 4; return true; } diff --git a/tester/covoar/Target_lm32.h b/tester/covoar/Target_lm32.h index 5e85da7..5d23db5 100644 --- a/tester/covoar/Target_lm32.h +++ b/tester/covoar/Target_lm32.h @@ -34,7 +34,7 @@ namespace Target { virtual ~Target_lm32(); /*! - * This method determines whether the specified line from a + * This method determines whether the specified line from a * objdump file is a nop instruction. * * @param[in] line contains the object dump line to check diff --git a/tester/covoar/Target_m68k.h b/tester/covoar/Target_m68k.h index 053e3b4..5ed7933 100644 --- a/tester/covoar/Target_m68k.h +++ b/tester/covoar/Target_m68k.h @@ -34,7 +34,7 @@ namespace Target { virtual ~Target_m68k(); /*! - * This method determines whether the specified line from a + * This method determines whether the specified line from a * objdump file is a nop instruction. * * @param[in] line contains the object dump line to check diff --git a/tester/covoar/Target_powerpc.h b/tester/covoar/Target_powerpc.h index 34bc0fe..3008d4c 100644 --- a/tester/covoar/Target_powerpc.h +++ b/tester/covoar/Target_powerpc.h @@ -34,7 +34,7 @@ namespace Target { virtual ~Target_powerpc(); /*! - * This method determines whether the specified line from a + * This method determines whether the specified line from a * objdump file is a nop instruction. * * @param[in] line contains the object dump line to check diff --git a/tester/covoar/Target_sparc.cc b/tester/covoar/Target_sparc.cc index f9874f8..fbdcd1e 100644 --- a/tester/covoar/Target_sparc.cc +++ b/tester/covoar/Target_sparc.cc @@ -1,7 +1,7 @@ /*! @file Target_sparc.cc * @brief Target_sparc Implementation * - * This file contains the implementation of the base class for + * This file contains the implementation of the base class for * functions supporting target unique functionallity. */ #include "Target_sparc.h" @@ -47,7 +47,7 @@ namespace Target { conditionalBranchInstructions.push_back("bpos,a"); conditionalBranchInstructions.push_back("bvc"); conditionalBranchInstructions.push_back("bvc,a"); - + conditionalBranchInstructions.sort(); } @@ -66,16 +66,16 @@ namespace Target { } if (!strcmp( &line[strlen(line)-7], "unknown")) { - size = 4; + size = 4; return true; - } + } #define GNU_LD_FILLS_ALIGNMENT_WITH_RTS #if defined(GNU_LD_FILLS_ALIGNMENT_WITH_RTS) // Until binutils 2.20, binutils would fill with rts not nop if (!strcmp( &line[strlen(line)-3], "rts")) { - size = 4; + size = 4; return true; - } + } #endif return false; diff --git a/tester/covoar/Target_sparc.h b/tester/covoar/Target_sparc.h index 253e53a..0e38859 100644 --- a/tester/covoar/Target_sparc.h +++ b/tester/covoar/Target_sparc.h @@ -34,7 +34,7 @@ namespace Target { virtual ~Target_sparc(); /*! - * This method determines whether the specified line from a + * This method determines whether the specified line from a * objdump file is a nop instruction. * * @param[in] line contains the object dump line to check diff --git a/tester/covoar/TraceList.cc b/tester/covoar/TraceList.cc index 514813b..a4e29e6 100644 --- a/tester/covoar/TraceList.cc +++ b/tester/covoar/TraceList.cc @@ -7,8 +7,8 @@ namespace Trace { { } - TraceList::~TraceList() - { + TraceList::~TraceList() + { } void TraceList::add( @@ -23,15 +23,15 @@ namespace Trace { t.length = highAddressArg - lowAddressArg; t.exitReason = why; - set.push_back( t ); + set.push_back( t ); } void TraceList::ShowTrace( traceRange_t *t) { printf( - "Start 0x%x, length 0x%03x Reason %d\n", - t->lowAddress, - t->length, + "Start 0x%x, length 0x%03x Reason %d\n", + t->lowAddress, + t->length, t->exitReason ); } diff --git a/tester/covoar/TraceList.h b/tester/covoar/TraceList.h index 7fa1751..dc4d369 100644 --- a/tester/covoar/TraceList.h +++ b/tester/covoar/TraceList.h @@ -15,7 +15,7 @@ namespace Trace { /*! @class TraceList * - * This class defines XXX + * This class defines XXX */ class TraceList { @@ -65,12 +65,12 @@ namespace Trace { */ ranges_t set; - /*! + /*! * This method constructs a TraceList instance. */ TraceList(); - /*! + /*! * This method destructs a TraceList instance. */ ~TraceList(); diff --git a/tester/covoar/TraceReaderBase.h b/tester/covoar/TraceReaderBase.h index cf1cd22..6ad488e 100644 --- a/tester/covoar/TraceReaderBase.h +++ b/tester/covoar/TraceReaderBase.h @@ -26,12 +26,12 @@ namespace Trace { TraceList Trace; - /*! + /*! * This method constructs a TraceReaderBase instance. */ TraceReaderBase(); - /*! + /*! * This method destructs a TraceReaderBase instance. */ virtual ~TraceReaderBase(); diff --git a/tester/covoar/TraceReaderLogQEMU.h b/tester/covoar/TraceReaderLogQEMU.h index e7b03f0..fb1d020 100644 --- a/tester/covoar/TraceReaderLogQEMU.h +++ b/tester/covoar/TraceReaderLogQEMU.h @@ -23,12 +23,12 @@ namespace Trace { public: - /*! + /*! * This method constructs a TraceReaderLogQEMU instance. */ TraceReaderLogQEMU(); - /*! + /*! * This method destructs a TraceReaderLogQEMU instance. */ virtual ~TraceReaderLogQEMU(); diff --git a/tester/covoar/TraceWriterBase.h b/tester/covoar/TraceWriterBase.h index 2d27d04..41307d1 100644 --- a/tester/covoar/TraceWriterBase.h +++ b/tester/covoar/TraceWriterBase.h @@ -21,12 +21,12 @@ namespace Trace { public: - /*! + /*! * This method constructs a TraceWriterBase instance. */ TraceWriterBase(); - /*! + /*! * This method destructs a TraceWriterBase instance. */ virtual ~TraceWriterBase(); diff --git a/tester/covoar/TraceWriterQEMU.h b/tester/covoar/TraceWriterQEMU.h index 254c292..89fca5e 100644 --- a/tester/covoar/TraceWriterQEMU.h +++ b/tester/covoar/TraceWriterQEMU.h @@ -24,12 +24,12 @@ namespace Trace { public: - /*! + /*! * This method constructs a TraceWriterQEMU instance. */ TraceWriterQEMU(); - /*! + /*! * This method destructs a TraceWriterQEMU instance. */ virtual ~TraceWriterQEMU(); diff --git a/tester/covoar/configFile.txt b/tester/covoar/configFile.txt index d69cda5..66d953b 100644 --- a/tester/covoar/configFile.txt +++ b/tester/covoar/configFile.txt @@ -4,11 +4,11 @@ projectName = RTEMS 4.10 -verbose = no +verbose = no verbose -verbose yes +verbose yes bad_option = no @@ -16,7 +16,7 @@ verbose = yes # comment verbose = no # comment - verbose = yes + verbose = yes # next line is filled with spaces - + # comment diff --git a/tester/covoar/configfile_test.cc b/tester/covoar/configfile_test.cc index 253c248..406a81f 100644 --- a/tester/covoar/configfile_test.cc +++ b/tester/covoar/configfile_test.cc @@ -15,7 +15,7 @@ int main( Configuration::FileReader *config; config = new Configuration::FileReader(Options); - + config->processFile( "configFile.txt" ); config->printOptions(); diff --git a/tester/covoar/coverage_converter.cc b/tester/covoar/coverage_converter.cc index 8144d93..e972d83 100644 --- a/tester/covoar/coverage_converter.cc +++ b/tester/covoar/coverage_converter.cc @@ -51,13 +51,13 @@ bool stringToUint32( result = strtoll( s, NULL, base ); if ((result == 0) && errno) - return false; + return false; if ((result == LLONG_MAX) && (errno == ERANGE)) - return false; + return false; if ((result == LLONG_MIN) && (errno == ERANGE)) - return false; + return false; *n = (uint32_t)result; return true; @@ -113,7 +113,7 @@ int main( exit(-1); } break; - case 'h': + case 'h': if (!stringToUint32( optarg, 16, &highAddress )) { fprintf( stderr, "ERROR: High address is not a hexadecimal number\n" ); usage(); diff --git a/tester/covoar/covmerge.cc b/tester/covoar/covmerge.cc index e283774..a200998 100644 --- a/tester/covoar/covmerge.cc +++ b/tester/covoar/covmerge.cc @@ -55,7 +55,7 @@ int UncoveredRanges = 0; /* * Set of addresses we need source line number for */ -std::list<uint32_t> AddressesNeedingSourceLine; +std::list<uint32_t> AddressesNeedingSourceLine; /* * Convert string to int with status out @@ -78,13 +78,13 @@ bool stringToUint32( result = strtoll( s, NULL, base ); if ( (result == 0) && errno ) - return false; + return false; if ( (result == LLONG_MAX) && (errno == ERANGE)) - return false; + return false; if ( (result == LLONG_MIN) && (errno == ERANGE)) - return false; + return false; *n = (uint32_t)result; return true; @@ -137,8 +137,8 @@ void ComputeUncovered(void) UncoveredRanges++; Ranges->add( la, ha ); - AddressesNeedingSourceLine.push_back( la ); - AddressesNeedingSourceLine.push_back( ha ); + AddressesNeedingSourceLine.push_back( la ); + AddressesNeedingSourceLine.push_back( ha ); a = ha + 1; } @@ -153,11 +153,11 @@ void ComputeUncovered(void) if (CoverageMap->wasAlwaysTaken( la )) { BranchesAlwaysTaken++; - AddressesNeedingSourceLine.push_back( la ); + AddressesNeedingSourceLine.push_back( la ); } else if (CoverageMap->wasNeverTaken( la )) { BranchesNeverTaken++; - AddressesNeedingSourceLine.push_back( la ); + AddressesNeedingSourceLine.push_back( la ); } a = ha + 1; } @@ -172,7 +172,7 @@ void ComputeUncovered(void) void FindSourceForAddresses(void) { FILE *tmpfile; - std::list<uint32_t>::iterator it; + std::list<uint32_t>::iterator it; /* * Write a temporary file with ranges @@ -281,7 +281,7 @@ int main( exit(-1); } break; - case 'h': + case 'h': if ( ! stringToUint32( optarg, 16, &highAddress ) ) { fprintf( stderr, "High address is not a hexadecimal number\n" ); usage(); @@ -412,7 +412,7 @@ int main( for ( i=optind ; i < argc ; i++ ) { //fprintf( stderr, "Processing %s\n", argv[i] ); CoverageReader->ProcessFile( argv[i], CoverageMap ); - } + } /* * Now to write some output @@ -446,12 +446,12 @@ int main( /* * Look up the source file and line number for the addresses * of interest. - */ + */ FindSourceForAddresses(); /* * Generate report of ranges not executed - */ + */ if ( coverageReportFile ) { if ( verbose ) fprintf( stderr, "Writing coverage report (%s)\n", coverageReportFile ); @@ -465,7 +465,7 @@ int main( /* * Generate report of branches taken/not taken - */ + */ if ( branchReportFile ) { if ( verbose ) fprintf( stderr, "Writing branch report (%s)\n", branchReportFile ); @@ -491,8 +491,8 @@ int main( } /* - * Simple formatted report of size of ranges - */ + * Simple formatted report of size of ranges + */ if ( sizeReportFile ) { if ( verbose ) fprintf( stderr, "Writing size report (%s)\n", sizeReportFile ); diff --git a/tester/covoar/covoar.css b/tester/covoar/covoar.css index e5be14e..e503b6b 100644 --- a/tester/covoar/covoar.css +++ b/tester/covoar/covoar.css @@ -1,4 +1,4 @@ -body { +body { background: rgb(253,253,253); color: rgb(0,0,0); font-family: helvetica, sans-serif; @@ -8,14 +8,14 @@ body { padding: 0; } -a:link { +a:link { color: rgb(180, 50, 50); font-family: helvetica, sans-serif; font-size: 1.0em; } -a:visited { - color: purple; +a:visited { + color: purple; font-family: helvetica, sans-serif; font-size: 1.0em; } @@ -27,7 +27,7 @@ a:hover { } a:active { - color: red; + color: red; font-family: helvetica, sans-serif; font-size: 1.0em; } diff --git a/tester/covoar/mkExplanation b/tester/covoar/mkExplanation index 6aa7940..4e696a3 100755 --- a/tester/covoar/mkExplanation +++ b/tester/covoar/mkExplanation @@ -25,11 +25,11 @@ sourceLine= verbose=no while getopts c:m:M:r:v OPT do - case "$OPT" in - c) category=$OPTARG ;; - m) message=$OPTARG ;; - M) messageFile=$OPTARG ;; - r) sourceLine=$OPTARG ;; + case "$OPT" in + c) category=$OPTARG ;; + m) message=$OPTARG ;; + M) messageFile=$OPTARG ;; + r) sourceLine=$OPTARG ;; v) verbose=`toggle ${verbose}` ;; *) usage ;; esac diff --git a/tester/covoar/qemu-dump-trace.c b/tester/covoar/qemu-dump-trace.c index aeb93fd..28f6d47 100644 --- a/tester/covoar/qemu-dump-trace.c +++ b/tester/covoar/qemu-dump-trace.c @@ -44,10 +44,10 @@ int dump_file( printf( "0x%08x %d 0x%2x\n", entry.pc, entry.size, entry.op ); } - + fclose( trace ); printf( "instructions = %d\n", instructions ); - + return 0; } diff --git a/tester/covoar/table.js b/tester/covoar/table.js index e1e5d5d..cb9da71 100644 --- a/tester/covoar/table.js +++ b/tester/covoar/table.js @@ -1,21 +1,21 @@ /** * Copyright (c)2005-2009 Matt Kruse (javascripttoolbox.com) - * - * Dual licensed under the MIT and GPL licenses. + * + * Dual licensed under the MIT and GPL licenses. * This basically means you can use this code however you want for * free, but don't claim to have written it yourself! * Donations always accepted: http://www.JavascriptToolbox.com/donate/ - * + * * Please do not link to the .js files on javascripttoolbox.com from * your site. Copy the files locally to your server instead. - * + * */ /** * Table.js * Functions for interactive Tables * * Copyright (c) 2007 Matt Kruse (javascripttoolbox.com) - * Dual licensed under the MIT and GPL licenses. + * Dual licensed under the MIT and GPL licenses. * * @version 0.981 * @@ -167,7 +167,7 @@ var Table = (function(){ /** * Return true if an object is hidden. * This uses the "russian doll" technique to unwrap itself to the most efficient - * function after the first pass. This avoids repeated feature detection that + * function after the first pass. This avoids repeated feature detection that * would always fall into the same block of code. */ function isHidden(o) { @@ -260,7 +260,7 @@ var Table = (function(){ if (o==null) { return null; } if (!o.id) { var id = null; - do { var id = "TABLE_"+(table.uniqueId++); } + do { var id = "TABLE_"+(table.uniqueId++); } while (document.getElementById(id)!=null); o.id = id; } @@ -273,7 +273,7 @@ var Table = (function(){ /** - * Run a function against each cell in a table header or footer, usually + * Run a function against each cell in a table header or footer, usually * to add or remove css classes based on sorting, filtering, etc. */ table.processTableCells = function(t, type, func, arg) { @@ -294,9 +294,9 @@ var Table = (function(){ */ table.processCells = function(section,func,arg) { if (section!=null) { - if (section.rows && section.rows.length && section.rows.length>0) { + if (section.rows && section.rows.length && section.rows.length>0) { var rows = section.rows; - for (var j=0,L2=rows.length; j<L2; j++) { + for (var j=0,L2=rows.length; j<L2; j++) { var row = rows[j]; if (row.cells && row.cells.length && row.cells.length>0) { var cells = row.cells; @@ -341,7 +341,7 @@ var Table = (function(){ * These are put here so it is extensible. */ table.nodeValue = { - 'INPUT':function(node) { + 'INPUT':function(node) { if (def(node.value) && node.type && ((node.type!="checkbox" && node.type!="radio") || node.checked)) { return node.value; } @@ -360,15 +360,15 @@ var Table = (function(){ }; /** - * Get the text value of a cell. Only use innerText if explicitly told to, because + * Get the text value of a cell. Only use innerText if explicitly told to, because * otherwise we want to be able to handle sorting on inputs and other types */ table.getCellValue = function(td,useInnerText) { if (useInnerText && def(td.innerText)) { return td.innerText; } - if (!td.childNodes) { - return ""; + if (!td.childNodes) { + return ""; } var childNodes=td.childNodes; var ret = ""; @@ -400,7 +400,7 @@ var Table = (function(){ /** * Consider colspan and rowspan values in table header cells to calculate the actual cellIndex - * of a given cell. This is necessary because if the first cell in row 0 has a rowspan of 2, + * of a given cell. This is necessary because if the first cell in row 0 has a rowspan of 2, * then the first cell in row 1 will have a cellIndex of 0 rather than 1, even though it really * starts in the second column rather than the first. * See: http://www.javascripttoolbox.com/temp/table_cellindex.html @@ -413,8 +413,8 @@ var Table = (function(){ // If it has already been computed, return the answer from the lookup table if (def(this.tableHeaderIndexes[tableObj.id])) { - return this.tableHeaderIndexes[tableObj.id][cellCoordinates]; - } + return this.tableHeaderIndexes[tableObj.id][cellCoordinates]; + } var matrix = []; this.tableHeaderIndexes[tableObj.id] = {}; @@ -435,8 +435,8 @@ var Table = (function(){ var rowSpan = c.rowSpan || 1; var colSpan = c.colSpan || 1; var firstAvailCol; - if(!def(matrix[rowIndex])) { - matrix[rowIndex] = []; + if(!def(matrix[rowIndex])) { + matrix[rowIndex] = []; } var m = matrix[rowIndex]; // Find first available column in the first row @@ -448,8 +448,8 @@ var Table = (function(){ } this.tableHeaderIndexes[tableObj.id][cellId] = firstAvailCol; for (var k=rowIndex; k<rowIndex+rowSpan; k++) { - if(!def(matrix[k])) { - matrix[k] = []; + if(!def(matrix[k])) { + matrix[k] = []; } var matrixrow = matrix[k]; for (var l=firstAvailCol; l<firstAvailCol+colSpan; l++) { @@ -474,8 +474,8 @@ var Table = (function(){ args = args || {}; // If no col is specified, deduce it from the object sent in - if (!def(args.col)) { - args.col = this.getActualCellIndex(o) || 0; + if (!def(args.col)) { + args.col = this.getActualCellIndex(o) || 0; } // If no sort type is specified, default to the default sort args.sorttype = args.sorttype || Sort['default']; @@ -557,8 +557,8 @@ var Table = (function(){ var displayedCount=0; var f=[removeClass,addClass]; if (cRow=rows[cRowIndex]){ - do { - tb.appendChild(cRow[1]); + do { + tb.appendChild(cRow[1]); } while (cRow=rows[++cRowIndex]) } } @@ -619,9 +619,9 @@ var Table = (function(){ filter.filter = Function(RegExp.$1,RegExp.$2); } } - // If some non-table object was passed in rather than a 'col' value, resolve it - // and assign it's column index to the filter if it doesn't have one. This way, - // passing in a cell reference or a select object etc instead of a table object + // If some non-table object was passed in rather than a 'col' value, resolve it + // and assign it's column index to the filter if it doesn't have one. This way, + // passing in a cell reference or a select object etc instead of a table object // will automatically set the correct column to filter. if (filter && !def(filter.col) && (cell=getParent(o,"TD","TH"))) { filter.col = this.getCellIndex(cell); @@ -753,7 +753,7 @@ var Table = (function(){ } if (def(page)) { - // Check to see if filtering has put us past the requested page index. If it has, + // Check to see if filtering has put us past the requested page index. If it has, // then go back to the last page and show it. if (pagestart>=unfilteredrowcount) { pagestart = unfilteredrowcount-(unfilteredrowcount%pagesize); @@ -801,7 +801,7 @@ var Table = (function(){ /** * Shade alternate rows, aka Stripe the table. */ - table.stripe = function(t,className,args) { + table.stripe = function(t,className,args) { args = args || {}; args.stripeclass = className; @@ -809,8 +809,8 @@ var Table = (function(){ var tdata = this.tabledata[t.id]; var bodies = t.tBodies; - if (bodies==null || bodies.length==0) { - return; + if (bodies==null || bodies.length==0) { + return; } className = tdata.stripeclass; @@ -917,7 +917,7 @@ var Table = (function(){ }; /** - * Add paging functionality to a table + * Add paging functionality to a table */ table.autopage = function(t,args) { t = this.resolve(t,args); @@ -946,7 +946,7 @@ var Table = (function(){ */ table.cancelBubble = function(e) { e = e || window.event; - if (typeof(e.stopPropagation)=="function") { e.stopPropagation(); } + if (typeof(e.stopPropagation)=="function") { e.stopPropagation(); } if (def(e.cancelBubble)) { e.cancelBubble = true; } }; -- 1.8.3.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel