Exemplo n.º 1
0
void ForeignToUpper(_TCHAR *buffer)
	{
	int i = 0;
	while (buffer[i])
		{
		if (gLangIDNum != F4LANG_ENGLISH)
			{
			// Check for special characters
			if ((uchar)(buffer[i]) >= 224 && (uchar)(buffer[i]) <=253)
				buffer[i] -= 32;
			else if (_istlower(buffer[i]))
				buffer[i] = _toupper(buffer[i]);
/*
			switch (buffer[i])
				{
				case 'è':
				case 'é':
				case 'ë':
				case 'ê':
					buffer[i] = 'E';
					break;
				case 'â':
				case 'à':
				case 'á':
				case 'ä':
					buffer[i] = 'A';
					break;
				case 'ì':
				case 'í':
				case 'î':
				case 'ï':
					buffer[i] = 'I';
					break;
				case 'û':
				case 'ú':
				case 'ù':
				case 'ü':
					buffer[i] = 'U';
					break;
				case 'ç':
					buffer[i] = 'C';
					break;
				case 'ñ':
					buffer[i] = 'N';
					break;
				case 'ô':
				case 'ö':
					buffer[i] = 'O';
					break;
				default:
					if (_istlower(buffer[i]))
						buffer[i] = _toupper(buffer[i]);
				}
*/
			}
		else if (_istlower(buffer[i]))
			buffer[i] = _toupper(buffer[i]);
		i++;
		}
	}
Exemplo n.º 2
0
void ShiftAnd::compile(const String &pattern, bool ignoreCase) {
  m_patternLen = (int)pattern.length();
  if(m_patternLen >= 64) {
    throwException(_T("<%s> too long for shiftand-search. max length is 63"), pattern.cstr());
  }
  memset(m_mask, -1, sizeof(m_mask));
  for(int i = 0; i < m_patternLen; i++) {
    const _TUCHAR ch = pattern[i];
    m_mask[ch] &= ~((UINT64)1 << i);
    if (ignoreCase) {
      if (_istlower(ch)) {
        m_mask[_toupper(ch)] &= ~((UINT64)1 << i);
      } else if(_istupper(ch)) {
        m_mask[_tolower(ch)] &= ~((UINT64)1 << i);
      }
    }
  }
  m_s = (UINT64)1 << m_patternLen;
#ifdef _TEST_CLASS
  for(int i = 0; i < ARRAYSIZE(m_mask); i++) {
    const UINT64 mask = m_mask[i];
    if(mask != -1) {
      _tprintf(_T("mask[%c]:%s\n"), i, sprintbin(mask).cstr());
    }
  }
#endif
}
Exemplo n.º 3
0
String firstLetterToUpperCase(const String &str) { // Return a copy of str, with first non-space letter changed to uppercase.
  String  result(str);
  _TUCHAR *s;
  for(s = (_TUCHAR*)result.cstr(); _istspace(*s); s++);
  if(_istascii(*s) && _istlower(*s)) {
    *s = _totupper(*s);
  }
  return result;
}
Exemplo n.º 4
0
static int
prolog_complete(RlcCompleteData data)
{ Line ln = data->line;

  switch(data->call_type)
  { case COMPLETE_INIT:
    { size_t start = ln->point;
      wint_t c;

      if ( !ln->data )		/* we donot want to complete on all atoms */
	return FALSE;

      while(start > 0 && (_istalnum((c=ln->data[start-1])) || c == '_') )
	start--;
      if ( start > 0 )
      { _TINT cs = ln->data[start-1];

	if ( _tcschr(_T("'/\\.~"), cs) )
	  return FALSE;			/* treat as a filename */
      }
      if ( _istlower(ln->data[start]) )	/* Lower, Aplha ...: an atom */
      { size_t patlen = ln->point - start;

	_tcsncpy(data->buf_handle, &ln->data[start], patlen);
	data->buf_handle[patlen] = '\0';

	if ( PL_atom_generator_w(data->buf_handle,
				 data->candidate,
				 sizeof(data->candidate)/sizeof(TCHAR),
				 FALSE) )
	{ data->replace_from = (int)start;
	  data->function = prolog_complete;
	  return TRUE;
	}
      }

      return FALSE;
    }
    case COMPLETE_ENUMERATE:
    { if ( PL_atom_generator_w(data->buf_handle,
			       data->candidate,
			       sizeof(data->candidate)/sizeof(TCHAR),
			       TRUE) )
	return TRUE;

      return FALSE;
    }
    case COMPLETE_CLOSE:
      return TRUE;
    default:
      return FALSE;
  }
}
Exemplo n.º 5
0
void COXFileChanger::ReverseCase(CString& sText)
	// --- In      : sText, the text to reverse case
	// --- Out     : 
	// --- Returns : a string with reversed case for each character
	// --- Effect  : reverse every character's case in a string
	{
	TCHAR ch;
	for (int i = 0; i < sText.GetLength(); i++)
		{
		ch = sText[i];
		sText.SetAt(i, (_istlower(ch) ? (TCHAR)_totupper(ch) : (TCHAR)_totlower(ch)));
		}
	}
LPTSTR strToUpper(LPTSTR dest, LPCTSTR src)
{
	LPTSTR start = dest;

	while (*dest = *src) {
		if (_istlower(*dest))
			*dest = _toupper(*dest);
		dest++;
		src++;
	}

	return start;
}
Exemplo n.º 7
0
size_t KString::AlphabetToValue(TCHAR cChar)
{
	if(_istdigit(cChar))
		return cChar - TEXT('0');

	if(_istupper(cChar))
		return cChar - TEXT('A') + 10;

	if(_istlower(cChar))
		return cChar - TEXT('a') + (10 + 26);

	return UINT_MAX;
}
Exemplo n.º 8
0
// Add or remove ANSICON to AutoRun.
void process_autorun( TCHAR cmd )
{
  HKEY	 cmdkey;
  TCHAR  ansicon[MAX_PATH+8];
  LPTSTR autorun, ansirun;
  DWORD  len, type, exist;
  BOOL	 inst;

  len = GetModuleFileName( NULL, ansicon+2, MAX_PATH );
  ansicon[0] = '&';
  ansicon[1] = ansicon[2+len] = '"';
  _tcscpy( ansicon + 3+len, L" -p" );
  len += 6;

  inst = (_totlower( cmd ) == 'i');
  RegCreateKeyEx( (_istlower( cmd )) ? HKEY_CURRENT_USER : HKEY_LOCAL_MACHINE,
		  CMDKEY, 0, NULL,
		  REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL,
		  &cmdkey, &exist );
  exist = 0;
  RegQueryValueEx( cmdkey, AUTORUN, NULL, NULL, NULL, &exist );
  autorun = malloc( exist + len * sizeof(TCHAR) + sizeof(TCHAR) );
  // Let's assume there's sufficient memory.
  if (exist > sizeof(TCHAR))
  {
    exist += sizeof(TCHAR);
    RegQueryValueEx( cmdkey, AUTORUN, NULL, &type, (PBYTE)autorun, &exist );
    ansirun = _tcsstr( autorun, ansicon+1 );
    if (inst)
    {
      if (!ansirun)
      {
	_tcscpy( (LPTSTR)((PBYTE)autorun + exist - sizeof(TCHAR)), ansicon );
	RegSetValueEx( cmdkey, AUTORUN, 0, type, (PBYTE)autorun,
		       exist + len*sizeof(TCHAR) );
      }
    }
    else
    {
      if (ansirun)
      {
	if (ansirun == autorun && exist == len*sizeof(TCHAR))
	  RegDeleteValue( cmdkey, AUTORUN );
	else
	{
	  if (ansirun > autorun && ansirun[-1] == '&')
	    --ansirun;
	  else if (autorun[len-1] != '&')
	    --len;
	  memcpy( ansirun, ansirun + len, exist - len*sizeof(TCHAR) );
	  RegSetValueEx( cmdkey, AUTORUN, 0, type, (PBYTE)autorun,
			 exist - len*sizeof(TCHAR) );
	}
      }
    }
  }
  else if (inst)
  {
    RegSetValueEx( cmdkey, AUTORUN, 0, REG_SZ, (PBYTE)(ansicon+1),
		   len*sizeof(TCHAR) );
  }

  free( autorun );
  RegCloseKey( cmdkey );
}
Exemplo n.º 9
0
int islower( int c ) { return _istlower(c); }
Exemplo n.º 10
0
bool Character::IsSmallLetter(TCHAR character)
{
	return (_istlower(character) != 0) ? true : false;
}