Example #1
0
bool StringBuffer::EnsureBuffer(int size)
{
	bool b = true;
	if(m_bufferSize < size)
	{
		//place some extra padding
		int newSize = ((size / 16) + 1) * 16;
		b = expandBuffer(newSize);
	}
	return b;
}
Example #2
0
void StringBuffer::append(const TCHAR *pStr, int len)
{
	if(!pStr || !len)return;
	int rem = remaining();
	while(len >= rem)
	{
		expandBuffer(len + 16 - rem);
		rem = remaining();
	}
	TCHAR *pTail = m_pStr + m_strLen;
	CopyMemory(pTail, pStr, len * sizeof(TCHAR));
	m_strLen += len;
}
 void ClientThread::readLine(void) {
   unsigned int i = 0;
   int c;
   while((c = getchar()) && c != '\n' && c != -1) {
       _buffer[i++] = (char) c;
       if(i >= _length) {
           expandBuffer();
         }
     }
   _buffer[i] = '\0';
   if(c == -1) {
       Aversive::stop();
       quit();
     }
 }