0029252: Coding rules - eliminate GCC compiler warnings -Wformat-overflow
[occt.git] / src / OSD / OSD_DirectoryIterator.cxx
index 667b484..568122b 100644 (file)
@@ -100,13 +100,11 @@ static int strcmp_joker(const char *Mask,const char *Name)
 void OSD_DirectoryIterator::Next(){
 int again = 1;
 struct stat stat_buf;
-char full_name[255];
-
  myFlag = false;   // Initialize to nothing found
 
  do{
     myEntry = readdir((DIR *)myDescr);
-   
+
     if (!myEntry){   // No file found
      myEntry = NULL;              // Keep pointer clean
      myFlag = Standard_False;   // No more files/directory
@@ -119,10 +117,8 @@ char full_name[255];
 //     if (!strcmp(entry->d_name,"..")) continue;         2 directories.
 
      // Is it a directory ?
-
-     sprintf(full_name,"%s/%s",myPlace.ToCString(),
-            ((struct dirent *)myEntry)->d_name);                // LD debug
-     stat(full_name, &stat_buf);
+     const TCollection_AsciiString aFullName = myPlace + "/" + ((struct dirent* )myEntry)->d_name;
+     stat(aFullName.ToCString(), &stat_buf);
      if (S_ISDIR(stat_buf.st_mode))   // Ensure me it's not a file
       if (strcmp_joker(myMask.ToCString(), ((struct dirent *)myEntry)->d_name)){
                                                         // Does it follow mask ?