QString gfxRhino3D::convertONstring(ON_wString ONs){ int j; QString line; line=""; for (j=0;j<ONs.Length();j++){ line+=ONs[j]; } return line; }
static ONX_ErrorCounter Internal_Test( unsigned int max_directory_tree_depth, ON_wString full_path, bool bVerbose, ON_TextLog& text_log, unsigned int& directory_counter, unsigned int& file_count, unsigned int& folder_count ) { ONX_ErrorCounter err = ONX_ErrorCounter::Zero; if (ON_FileSystem::IsFile(full_path)) { if (ON_FileStream::Is3dmFile(full_path, false)) { text_log.Print(L"Testing 3dm file: %ls\n", static_cast<const wchar_t*>(full_path)); err = Internal_TestFileRead(text_log, full_path, ON_wString::EmptyString, bVerbose); file_count++; } } else if ( max_directory_tree_depth > 0 ) { if (full_path.Length() != 1 || false == ON_FileSystemPath::IsDirectorySeparator(full_path[0], true)) { const wchar_t dir_seps[3] = { ON_FileSystemPath::DirectorySeparator,ON_FileSystemPath::AlternateDirectorySeparator,0 }; full_path.TrimRight(dir_seps); } if (ON_FileSystem::IsDirectory(full_path)) { text_log.Print(L"Testing 3dm files in folder: %ls\n", static_cast<const wchar_t*>(full_path)); Internal_CTestContext test_context; directory_counter++; test_context.SetInitialDirecory(full_path,directory_counter); test_context.m_max_directory_tree_depth = max_directory_tree_depth; err = Internal_TestReadFolder(text_log, full_path, 1, bVerbose, test_context); file_count += test_context.m_file_count; folder_count += test_context.m_directory_count; } } return err; }
bool ON::IsDirectory( const wchar_t* pathname ) { bool rc = false; if ( 0 != pathname && 0 != pathname[0] ) { ON_wString buffer; const wchar_t* stail = pathname; while ( 0 != *stail ) stail++; stail--; if ( '\\' == *stail || '/' == *stail ) { const wchar_t trim[2] = {*stail,0}; buffer = pathname; buffer.TrimRight(trim); if ( buffer.Length() > 0 ) pathname = buffer; } #if defined(ON_COMPILER_MSC) // this works on Windows struct _stat64 buf; memset(&buf,0,sizeof(buf)); int stat_errno = _wstat64( pathname, &buf ); if ( 0 == stat_errno && 0 != (_S_IFDIR & buf.st_mode) ) { rc = true; } #else ON_String s = pathname; const char* utf8pathname = s; rc = ON::IsDirectory(utf8pathname); #endif } return rc; }
void ON_wString::AppendToArray( const ON_wString& s ) { AppendToArray( s.Length(), s.Array() ); }
void ON_wString::CopyToArray( const ON_wString& s ) { CopyToArray( s.Length(), s.Array() ); }