示例#1
0
/// Gets the fret number on a given string
/// @param string String to get the fret number for
/// @return The fret number on the string
wxByte ChordDiagram::GetFretNumber(wxUint32 string) const
{
    //------Last Checked------//
    // - Jan 15, 2005
    wxCHECK(IsValidString(string), 0); 
    return (m_fretNumberArray[string]);
}
/// Sets the fret number for an existing string in the chordDiagram
/// @param string String to set the fret number for
/// @param fretNumber Fret number to set
/// @return True if the fret number was set, false if not
bool ChordDiagram::SetFretNumber(uint32_t string, uint8_t fretNumber)
{
    PTB_CHECK_THAT(IsValidString(string), false);
    PTB_CHECK_THAT(IsValidFretNumber(fretNumber), false);
    m_fretNumberArray[string] = fretNumber;
    return (true);
}
示例#3
0
void CUnicodeString::TrimRight(LPCWSTR lpszTargets)
{
	ASSERT(IsValidString(lpszTargets));
	LPWSTR lpsz = m_Buffer;
	LPWSTR lpszLast = NULL;

	while(*lpsz != '\0')
	{
		if(wcschr(lpszTargets, *lpsz) != NULL)
		{
			if(lpszLast == NULL)
				lpszLast = lpsz;
		}
		else
			lpszLast = NULL;
		lpsz = _wcsinc(lpsz);
	}

	if(lpszLast != NULL)
	{
		// truncate at left-most matching character
		*lpszLast = '\0';
		m_Length = lpszLast - m_Buffer;
	}
}
示例#4
0
TBool CX509DomainName::AddSubdomainL(TInt& aPos)
	{
	TBool res = EFalse;
	TInt end = iName->Length();
	if (aPos >= end)
		{
		return res;
		}
	TPtrC whatsLeft(&(iName->operator[] (aPos)), end - aPos);
	TInt subdomainEnd = whatsLeft.FindF(KX509SubdomainSeparator);
	if (subdomainEnd == 0)
		{
		return res;
		}
	if (subdomainEnd == KErrNotFound)
		{
		subdomainEnd = end - aPos;
		}
	TPtrC subdomain(&whatsLeft[0], subdomainEnd);
	if (IsValidString(subdomain))
		{
		REP_APPEND_L(subdomain);
		res = ETrue;
		}
	aPos = aPos + subdomainEnd;
	return res;
	}
示例#5
0
CUnicodeString operator+(const CUnicodeString& s, LPCSTR pstrString)
{
	ASSERT(IsValidString(pstrString));
	CUnicodeString cus;
	cus = s;
	cus += pstrString;
	return cus;
}
示例#6
0
CUnicodeString operator+(LPCWSTR pstrString, const CUnicodeString& s)
{
	ASSERT(IsValidString(pstrString));
	CUnicodeString cus;
	cus = pstrString;
	cus += s;
	return cus;
}
示例#7
0
BOOL operator !=(LPCWSTR s1, const CUnicodeString& s2)
{
	ASSERT(IsValidString(s1));
	if(wcslen(s1) != wcslen(s2))
		return TRUE;
	if(!wcscmp(s1, s2))
		return FALSE;
	return TRUE;
}
示例#8
0
// Fret Number Functions
/// Sets the fret number for an existing string in the chordDiagram
/// @param string String to set the fret number for
/// @param fretNumber Fret number to set
/// @return True if the fret number was set, false if not
bool ChordDiagram::SetFretNumber(wxUint32 string, wxByte fretNumber)
{
    //------Last Checked------//
    // - Jan 15, 2005
    wxCHECK(IsValidString(string), false);
    wxCHECK(IsValidFretNumber(fretNumber), false);
    m_fretNumberArray[string] = fretNumber;
    return (true);
}
示例#9
0
void CUnicodeString::TrimRight(LPCSTR lpszTargets)
{
	ASSERT(IsValidString(lpszTargets));
	DWORD dwszLen = strlen(lpszTargets);
	LPWSTR lpwsz = (LPWSTR)malloc((dwszLen + 1) * sizeof(WCHAR));
	lpwsz[dwszLen] = L'\0';
	MultiByteToWideChar(CP_ACP, 0, lpszTargets, dwszLen, lpwsz, dwszLen);
	TrimRight(lpwsz);
	free(lpwsz);
}
示例#10
0
void CUnicodeString::operator += (LPCWSTR pstrString)
{
	ASSERT(IsValidString(pstrString));
	m_Length += wcslen(pstrString);
	LPWSTR pstrNewString = (LPWSTR)malloc((m_Length + 1) * sizeof(WCHAR));
	wcscpy(pstrNewString, m_Buffer);
	wcscat(pstrNewString, pstrString);
	free(m_Buffer);
	m_Buffer = pstrNewString;
	m_MaximumLength = m_Length;
}
示例#11
0
int CUnicodeString::Find(LPCSTR lpszSub, int nStart) const
{
	ASSERT(IsValidString(lpszSub));
	DWORD dwszLen = strlen(lpszSub);
	LPWSTR lpwsz = (LPWSTR)malloc((dwszLen + 1) * sizeof(WCHAR));
	lpwsz[dwszLen] = L'\0';
	MultiByteToWideChar(CP_ACP, 0, lpszSub, dwszLen, lpwsz, dwszLen);
	int iRet = Find(lpwsz, nStart);
	free(lpwsz);
	return iRet;
}
示例#12
0
int CUnicodeString::CollateNoCase(LPCSTR lpsz)
{
	ASSERT(IsValidString(lpsz));
	DWORD dwszLen = strlen(lpsz);
	LPWSTR lpwsz = (LPWSTR)malloc((dwszLen + 1) * sizeof(WCHAR));
	lpwsz[dwszLen] = L'\0';
	MultiByteToWideChar(CP_ACP, 0, lpsz, dwszLen, lpwsz, dwszLen);
	int iRet = wcsicoll(m_Buffer, lpwsz);
	free(lpwsz);
	return iRet;
}
示例#13
0
int CUnicodeString::Insert(int nIndex, LPCSTR pstr)
{
	ASSERT(IsValidString(pstr));
	DWORD dwszLen = strlen(pstr);
	LPWSTR lpwsz = (LPWSTR)malloc((dwszLen + 1) * sizeof(WCHAR));
	lpwsz[dwszLen] = L'\0';
	MultiByteToWideChar(CP_ACP, 0, pstr, dwszLen, lpwsz, dwszLen);
	int iRet = Insert(nIndex, lpwsz);
	free(lpwsz);
	return iRet;
}
示例#14
0
CUnicodeString CUnicodeString::SpanExcluding(LPCSTR lpszCharSet)
{
	ASSERT(IsValidString(lpszCharSet));
	WCHAR wc[1024];
	DWORD dwszLen = strlen(lpszCharSet);
	ASSERT(dwszLen < 1024);
	wc[dwszLen] = L'\0';

	MultiByteToWideChar(CP_ACP, 0, lpszCharSet, dwszLen, wc, dwszLen);
	return Left(wcscspn(m_Buffer, wc));
}
示例#15
0
void CUnicodeString::operator += (LPCSTR pstrString)
{
	ASSERT(IsValidString(pstrString));
	USHORT usNewLength = m_Length + strlen(pstrString);
	LPWSTR pstrNewString = (LPWSTR)malloc((usNewLength + 1) * sizeof(WCHAR));
	wcscpy(pstrNewString, m_Buffer);
	MultiByteToWideChar(CP_ACP, 0, pstrString, strlen(pstrString), &pstrNewString[m_Length], usNewLength - m_Length);
	free(m_Buffer);
	m_Buffer = pstrNewString;
	m_Length = usNewLength;
	m_MaximumLength = m_Length;
}
bool SizzlingProtect::IsChatExploit( const CCommand &args, int ClientCommandIndex )
{
	const char *pChar = V_strstr( args.ArgS(), "%" );
	while ( pChar )
	{
		if ( !IsValidString(&pChar) )
		{
			return true;
		}
		pChar = V_strstr( pChar, "%" );
	}
	return false;
}
示例#17
0
const CUnicodeString& CUnicodeString::operator =(LPCSTR pstrString)
{
	if(pstrString == NULL)
	{
		Empty();
		return *this;
	}
	ASSERT(IsValidString(pstrString));
	if(m_Buffer)
		free(m_Buffer);
	InitializeFromString(pstrString);
	return *this;
}
示例#18
0
int CUnicodeString::Find(LPCWSTR lpszSub, int nStart) const
{
	ASSERT(IsValidString(lpszSub));

	int nLength = m_Length;
	if(nStart > nLength)
		return -1;

	// find first matching substring
	LPWSTR lpsz = wcsstr(m_Buffer + nStart, lpszSub);

	// return -1 for not found, distance from beginning otherwise
	return(lpsz == NULL) ? -1 : (int)(lpsz - m_Buffer);
}
示例#19
0
void CUnicodeString::FormatV(LPCWSTR lpszFormat, va_list argList)
{
	ASSERT(IsValidString(lpszFormat));

	int nBuf;
	WCHAR szBuffer[1024];

	nBuf = _vsnwprintf(szBuffer, sizeof(szBuffer), lpszFormat, argList);
	if(m_Buffer)
		free(m_Buffer);
	m_Buffer = (LPWSTR)malloc((nBuf + 1) * sizeof(WCHAR));
	m_Length = m_MaximumLength = nBuf;
	memcpy(m_Buffer, szBuffer, nBuf * sizeof(WCHAR));
	m_Buffer[m_Length] = L'\0';
}
示例#20
0
BOOL operator !=(LPCSTR s1, const CUnicodeString& s2)
{
	ASSERT(IsValidString(s1));
	USHORT usLen = strlen(s1);
	if(usLen != wcslen(s2))
		return TRUE;
	BOOL bRet = TRUE;
	LPWSTR ws1 = (LPWSTR)malloc((usLen + 1) * sizeof(WCHAR));
	MultiByteToWideChar(CP_ACP, 0, s1, usLen, ws1, usLen);
	ws1[usLen] = L'\0';
	if(!wcscmp(ws1, s2))
		bRet = FALSE;
	free(ws1);
	return bRet;
}
示例#21
0
void CUnicodeString::FormatV(LPCSTR lpszFormat, va_list argList)
{
	ASSERT(IsValidString(lpszFormat));

	int nBuf;
	CHAR szBuffer[1024];

	nBuf = _vsnprintf(szBuffer, sizeof(szBuffer), lpszFormat, argList);
	if(m_Buffer)
		free(m_Buffer);
	m_Buffer = (LPWSTR)malloc((nBuf + 1) * sizeof(WCHAR));
	m_Length = m_MaximumLength = nBuf;

	MultiByteToWideChar(CP_ACP, 0, szBuffer, m_Length, m_Buffer, m_Length);

	m_Buffer[m_Length] = L'\0';
}
示例#22
0
int CUnicodeString::Insert(int nIndex, LPCWSTR pstr)
{
	ASSERT(IsValidString(pstr));
	ASSERT(nIndex < m_Length);
	ASSERT(m_Buffer);
	DWORD dwszLen = wcslen(pstr);
	int iNewLength = (m_Length + dwszLen + 1) * sizeof(WCHAR);
	LPWSTR pstrNew = (LPWSTR)malloc((iNewLength + 1) * sizeof(WCHAR));
	ZeroMemory(pstrNew, iNewLength);
	wcsncpy(pstrNew, m_Buffer, nIndex);
	wcscat(pstrNew, pstr);
	wcscat(pstrNew, &m_Buffer[nIndex]);
	free(m_Buffer);
	m_Buffer = pstrNew;
	m_Length = m_MaximumLength = (iNewLength / 2) - 1;
	return m_Length;
}
示例#23
0
BOOL CUnicodeString::InitializeFromString(LPCSTR pstrString)
{
	if(pstrString == NULL)
	{
		Empty();
		return TRUE;
	}

	ASSERT(IsValidString(pstrString));
	m_Length = strlen(pstrString);
	m_MaximumLength = m_Length;
	m_Buffer = (LPWSTR)malloc((m_Length + 1) * sizeof(WCHAR));
	MultiByteToWideChar(CP_ACP, 0, pstrString, m_Length, m_Buffer, m_Length);
	m_Buffer[m_Length] = L'\0';
	if(m_Buffer)
		return TRUE;
	return FALSE;
}
示例#24
0
BOOL CUnicodeString::InitializeFromWideString(LPCWSTR pstrString)
{
	if(pstrString == NULL)
	{
		Empty();
		return TRUE;
	}

	ASSERT(IsValidString(pstrString));
	m_Length = wcslen(pstrString);
	m_MaximumLength = m_Length;
	m_Buffer = (LPWSTR)malloc((m_Length + 1) * sizeof(WCHAR));
	wcscpy(m_Buffer, pstrString);
	m_Buffer[m_Length] = L'\0';
	if(m_Buffer)
		return TRUE;
	return FALSE;
}
示例#25
0
BOOL CSeException::GetErrorMessage(LPTSTR lpszError, UINT nMaxError, PUINT pnHelpContext/* = NULL*/)
{
	assert(lpszError != NULL && IsValidString(lpszError, nMaxError));

	if (pnHelpContext != NULL)
		*pnHelpContext = 0;

	string strMessage;
	GetErrorMessage(strMessage);

	if ((UINT)strMessage.size() >= nMaxError) {
		lpszError[0] = 0;
		return FALSE;
	} else {
		lstrcpyn(lpszError, strMessage.c_str(), nMaxError);
		return TRUE;
	}
}
示例#26
0
void CUnicodeString::Format(LPCSTR pstrFormat, ...)
{
	ASSERT(IsValidString(pstrFormat));
	va_list args;
	va_start(args, pstrFormat);

	int nBuf;
	CHAR szBuffer[1024];

	nBuf = _vsnprintf(szBuffer, sizeof(szBuffer), pstrFormat, args);
	if(m_Buffer)
		free(m_Buffer);
	m_Buffer = (LPWSTR)malloc((nBuf + 1) * sizeof(WCHAR));
	m_Length = m_MaximumLength = nBuf;
	MultiByteToWideChar(CP_ACP, 0, szBuffer, nBuf, m_Buffer, m_Length);
	m_Buffer[m_Length] = L'\0';

	va_end(args);
}
示例#27
0
void CUnicodeString::Format(LPCWSTR pstrFormat, ...)
{
	ASSERT(IsValidString(pstrFormat));
	va_list args;
	va_start(args, pstrFormat);

	int nBuf;
	WCHAR szBuffer[1024];

	nBuf = _vsnwprintf(szBuffer, sizeof(szBuffer), pstrFormat, args);
	if(m_Buffer)
		free(m_Buffer);
	m_Buffer = (LPWSTR)malloc((nBuf + 1) * sizeof(WCHAR));
	m_Length = m_MaximumLength = nBuf;
	memcpy(m_Buffer, szBuffer, nBuf * sizeof(WCHAR));
	m_Buffer[m_Length] = L'\0';

	va_end(args);
}
示例#28
0
void CUnicodeString::TrimLeft(LPCWSTR lpszTargets)
{
	ASSERT(IsValidString(lpszTargets));
	LPCWSTR lpsz = m_Buffer;

	while(*lpsz != '\0')
	{
		if(wcschr(lpszTargets, *lpsz) == NULL)
			break;
		lpsz = _wcsinc(lpsz);
	}

	if(lpsz != m_Buffer)
	{
		// fix up data and length
		int nDataLength = m_Length - (lpsz - m_Buffer);
		memmove(m_Buffer, lpsz, (nDataLength+1)*sizeof(WCHAR));
		m_Length = nDataLength;
	}
}
示例#29
0
CUnicodeString CUnicodeString::SpanExcluding(LPCWSTR lpszCharSet)
{
	ASSERT(IsValidString(lpszCharSet));
	return Left(wcscspn(m_Buffer, lpszCharSet));
}
示例#30
0
int CUnicodeString::CollateNoCase(LPCWSTR lpsz)
{
	ASSERT(IsValidString(lpsz));
	return wcsicoll(m_Buffer, lpsz);
}