Esempio n. 1
0
TQString KStringHandler::obscure( const TQString &str )
{
  TQString result;
  const TQChar *unicode = str.unicode();
  for ( uint i = 0; i < str.length(); ++i )
    result += ( unicode[ i ].unicode() < 0x21 ) ? unicode[ i ] :
        TQChar( 0x1001F - unicode[ i ].unicode() );

  return result;
}
Esempio n. 2
0
bool KStringHandler::matchFileName( const TQString& filename, const TQString& pattern  )
{
   int len = filename.length();
   int pattern_len = pattern.length();

   if (!pattern_len)
      return false;

   // Patterns like "Makefile*"
   if ( pattern[ pattern_len - 1 ] == (QChar)'*' && len + 1 >= pattern_len ) {
      if ( pattern[ 0 ] == (QChar)'*' )
      {
         return filename.find(pattern.mid(1, pattern_len - 2)) != -1;
      }

      const TQChar *c1 = pattern.unicode();
      const TQChar *c2 = filename.unicode();
      int cnt = 1;
      while ( cnt < pattern_len && *c1++ == *c2++ )
         ++cnt;
      return cnt == pattern_len;
   }

   // Patterns like "*~", "*.extension"
   if ( pattern[ 0 ] == (QChar)'*' && len + 1 >= pattern_len )
   {
     const TQChar *c1 = pattern.unicode() + pattern_len - 1;
     const TQChar *c2 = filename.unicode() + len - 1;
     int cnt = 1;
     while ( cnt < pattern_len && *c1-- == *c2-- )
        ++cnt;
     return cnt == pattern_len;
  }

   // Patterns like "Makefile"
   return ( filename == pattern );
}