public inbox for ecos-patches@sourceware.org
 help / color / mirror / Atom feed
* Fix configtool
@ 2008-02-21 16:23 Kirill K. Smirnov
  0 siblings, 0 replies; only message in thread
From: Kirill K. Smirnov @ 2008-02-21 16:23 UTC (permalink / raw)
  To: ecos-patches

[-- Attachment #1: Type: text/plain, Size: 154 bytes --]

  Hello!

The StartSearch function initializes only local stack copy of pHandle 
variable. The patch fixes it.

Approved by valgrind-3.2.0 ;-)

--
Kirill

[-- Attachment #2: configtool_search.diff --]
[-- Type: text/plain, Size: 4619 bytes --]

? for_mail.diff
Index: tools/ecostest/common/TestResource.cpp
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/ecostest/common/TestResource.cpp,v
retrieving revision 1.2
diff -u -r1.2 TestResource.cpp
--- tools/ecostest/common/TestResource.cpp	18 Apr 2000 21:51:58 -0000	1.2
+++ tools/ecostest/common/TestResource.cpp	21 Feb 2008 16:12:11 -0000
@@ -152,7 +152,7 @@
   if(0==_tchdir(psz)){
     String strFile;
     void *pHandle;
-    for(bool b=CeCosTestUtils::StartSearch(pHandle,strFile);b;b=CeCosTestUtils::NextFile(pHandle,strFile)){
+    for(bool b=CeCosTestUtils::StartSearch(&pHandle,strFile);b;b=CeCosTestUtils::NextFile(pHandle,strFile)){
       if(CeCosTestUtils::IsFile(strFile)){
         CTestResource *pResource=new CTestResource(_T(""),_T(""));
         CTestResourceProperties prop(pResource);
@@ -180,7 +180,7 @@
     _tgetcwd(szOrigDir,sizeof szOrigDir-1);
     if(0==_tchdir(pszDir)){
       String strFile;
-      for(bool b=CeCosTestUtils::StartSearch(pHandle,strFile);b;b=CeCosTestUtils::NextFile(pHandle,strFile)){
+      for(bool b=CeCosTestUtils::StartSearch(&pHandle,strFile);b;b=CeCosTestUtils::NextFile(pHandle,strFile)){
         if(CeCosTestUtils::IsFile(strFile)){
           _tunlink(strFile);
         }
Index: tools/ecostest/common/eCosTestPlatform.cpp
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/ecostest/common/eCosTestPlatform.cpp,v
retrieving revision 1.6
diff -u -r1.6 eCosTestPlatform.cpp
--- tools/ecostest/common/eCosTestPlatform.cpp	11 Apr 2003 12:12:26 -0000	1.6
+++ tools/ecostest/common/eCosTestPlatform.cpp	21 Feb 2008 16:12:11 -0000
@@ -67,7 +67,7 @@
   if(0==_tchdir(pszDir)){
     String strFile;
     void *pHandle;
-    for(bool b=CeCosTestUtils::StartSearch(pHandle,strFile);b;b=CeCosTestUtils::NextFile(pHandle,strFile)){
+    for(bool b=CeCosTestUtils::StartSearch(&pHandle,strFile);b;b=CeCosTestUtils::NextFile(pHandle,strFile)){
       if(CeCosTestUtils::IsFile(strFile)){
         CeCosTestPlatform t;
         t.m_strName=strFile;
@@ -256,7 +256,7 @@
   if(0==_tchdir(pszDir)){
     // Delete all the files under directory "pszDir"
     String strFile;
-    for(bool b=CeCosTestUtils::StartSearch(pHandle,strFile);b;b=CeCosTestUtils::NextFile(pHandle,strFile)){
+    for(bool b=CeCosTestUtils::StartSearch(&pHandle,strFile);b;b=CeCosTestUtils::NextFile(pHandle,strFile)){
       if(CeCosTestUtils::IsFile(strFile)){
         _tunlink(strFile);
       }
Index: tools/ecostest/common/eCosTestUtils.cpp
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/ecostest/common/eCosTestUtils.cpp,v
retrieving revision 1.3
diff -u -r1.3 eCosTestUtils.cpp
--- tools/ecostest/common/eCosTestUtils.cpp	11 Jul 2006 09:56:15 -0000	1.3
+++ tools/ecostest/common/eCosTestUtils.cpp	21 Feb 2008 16:12:11 -0000
@@ -78,27 +78,27 @@
   }
   
   // Start file iteration and return first file.
-bool CeCosTestUtils::StartSearch (void *pHandle,String &str)
+bool CeCosTestUtils::StartSearch (void **pHandle,String &str)
   {
 #ifdef _WIN32
     WIN32_FIND_DATA fd;
-    pHandle=(void *)FindFirstFile (_T("*.*"), &fd);
+    *pHandle=(void *)FindFirstFile (_T("*.*"), &fd);
     if(INVALID_HANDLE_VALUE==(HANDLE)pHandle){
       ERROR(_T("Failed to open dir\n"));
       return false;
     } else if (fd.cFileName[0]=='.') {
-      return NextFile(pHandle,str);
+      return NextFile(*pHandle,str);
     } else {
 		str=String(fd.cFileName);
       return true;
     }
 #else // UNIX
-    pHandle=(void *)opendir(_T("."));
-    if(0==pHandle){
+    *pHandle=(void *)opendir(_T("."));
+    if(0==*pHandle){
       ERROR(_T("Failed to open dir\n"));
       return false;
     }
-    return NextFile(pHandle,str);
+    return NextFile(*pHandle,str);
 #endif
   }
   
Index: tools/ecostest/common/eCosTestUtils.h
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/ecostest/common/eCosTestUtils.h,v
retrieving revision 1.3
diff -u -r1.3 eCosTestUtils.h
--- tools/ecostest/common/eCosTestUtils.h	11 Jul 2006 09:56:15 -0000	1.3
+++ tools/ecostest/common/eCosTestUtils.h	21 Feb 2008 16:12:11 -0000
@@ -68,7 +68,7 @@
   // File iterator.  Gets next file in directory, avoiding "." and ".."
   static bool NextFile (void *pHandle,String &str);
   // Start file iteration and return first file.
-  static bool StartSearch (void *pHandle,String &str);
+  static bool StartSearch (void **pHandle,String &str);
   // End file iteration
   static void EndSearch (void *pHandle);
 

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-02-21 16:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-02-21 16:23 Fix configtool Kirill K. Smirnov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).