Exemplo n.º 1
0
Burger::LinkedListObjects::Object *Burger::LinkedListObjects::GetStringObject(const char *pString) const
{
	Object *pResult = m_pRoot;	// Get the first entry
	if (pResult) {				// Should I traverse?
		Word uCount = m_uCount;
		Object *pObject = pResult;
		do {
			if (!StringCaseCompare(static_cast<const char *>(pObject->GetData()),pString)) {
				pResult = pObject;
				break;
			}
			pObject = pObject->GetNext();	// Follow the list
		} while (--uCount);		// All done?
	}
	return pResult;
}
Exemplo n.º 2
0
Word Burger::LinkedListObjects::GetStringIndex(const char *pString) const
{
	Word uResult = static_cast<Word>(-1);
	Object *pObject = m_pRoot;	// Get the first entry
	if (pObject) {				// Should I traverse?
		Word uCount = m_uCount;
		do {
			if (!StringCaseCompare(static_cast<const char *>(pObject->GetData()),pString)) {
				uResult = m_uCount-uCount;		// Determine the index number
				break;
			}
			pObject = pObject->GetNext();	// Follow the list
		} while (--uCount);		// All done?
	}
	return uResult;
}
Exemplo n.º 3
0
bool
StringTo(
  bool &    	dest,
  const char *  src,
  size_t    	len
  )
{
  if( ! src )
    return( false );

  if( src[0] == 0 )
    {
      dest = false;
      return( true );
    }
  
  if( isdigit( src[0] ) )
    {
      int num = 0;
      StringTo( num, src, 0, len );
      dest = (num) ? true : false;
      return( true );
    }

  if( ( (len == 1 || (len == NPOS && src[1] == 0 ) ) &&
	( tolower( src[0] ) == 't' || tolower( src[0] ) == 'y' ) ) ||
	
      ! StringCaseCompare( src, "true", (len && len < 4) ? len : 4 ) ||
      ! StringCaseCompare( src, "yes", (len && len < 3) ? len : 3 ) ||
      ! StringCaseCompare( src, "on", (len && len < 2) ? len : 2 ) )
    {
      dest = true;
      return( true );
    }

  if( ( (len == 1 || (len == NPOS && src[1] == 0 ) ) &&
	( tolower( src[0] ) == 'f' ||
	  tolower( src[0] ) == 'n' ||
	  tolower( src[0] ) == ' ' ) ) ||
      ! StringCaseCompare( src, "false", ( (len != NPOS && len < 4) ?
					   len : 4 ) ) ||
      ! StringCaseCompare( src, "no", (len != NPOS && len < 2) ? len : 2 ) ||
      ! StringCaseCompare( src, "off", (len != NPOS && len < 3) ? len : 3 ) )
    {
      dest = false;
      return( true );
    }

  const char * c = src;
  
  for( ; ((len != NPOS && ((size_t)(c - src)) < len) || *c != 0) &&
	 *c == ' '; c++ );

  if( (len != NPOS &&  ((size_t)(c - src)) == len ) || *c == 0 )
    {
      dest = false;
      return( true );
    }

  return( false );
}