(file) Return to LanguageParser.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/LanguageParser.cpp between version 1.6 and 1.7

version 1.6, 2003/09/04 18:35:37 version 1.7, 2003/09/04 20:49:52
Line 32 
Line 32 
 #include <Pegasus/Common/Tracer.h> #include <Pegasus/Common/Tracer.h>
 #include <Pegasus/Common/MessageLoader.h> //l10n #include <Pegasus/Common/MessageLoader.h> //l10n
 #include <cstring> #include <cstring>
 #include <iostream>  
 #include <cstdlib>  
 //PEGASUS_USING_STD; //PEGASUS_USING_STD;
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
Line 195 
Line 194 
     PEG_METHOD_ENTER(TRC_L10N, "LanguageParser::parseLanguageSubtags");     PEG_METHOD_ENTER(TRC_L10N, "LanguageParser::parseLanguageSubtags");
         Uint32 i;         Uint32 i;
         char separator = findSeparator(language_tag.getCString());         char separator = findSeparator(language_tag.getCString());
   
         while( (i = language_tag.find(Char16(separator))) != PEG_NOT_FOUND ){         while( (i = language_tag.find(Char16(separator))) != PEG_NOT_FOUND ){
   
                         subtags.append(language_tag.subString(0,i));                         subtags.append(language_tag.subString(0,i));
                         language_tag.remove(0,i + 1);                         language_tag.remove(0,i + 1);
         }         }
Line 244 
Line 241 
  
 Boolean LanguageParser::checkAlpha(CString _str){ Boolean LanguageParser::checkAlpha(CString _str){
         Uint32 length = (Uint32) strlen(_str);         Uint32 length = (Uint32) strlen(_str);
         for(Uint32 i = 0; i < length; i++){          for(Uint32 i = 0; i < length; i++)
         if (!(((_str[i] >= 'A') && (_str[i] <= 'Z')) ||  
            ((_str[i] >= 'a') && (_str[i] <= 'z'))))  
                         return false;  
         }  
         return true;  
   
         /*for(Uint32 i = 0; i < length; i++)  
                 if( !isalpha(_str[i]) )                 if( !isalpha(_str[i]) )
                         return false;                         return false;
         return true;*/  
 }  
   
 Boolean LanguageParser::checkAlphaNum(char c){  
   
         if (!(((c >= 'A') && (c <= 'Z')) ||  
            ((c >= 'a') && (c <= 'z')) ||  
            ((c >= '0') && (c <= '9'))))  
                         return false;  
   
         return true;         return true;
 } }
  
 char LanguageParser::findSeparator(CString _str){ char LanguageParser::findSeparator(CString _str){
         Uint32 length = (Uint32) strlen(_str);         Uint32 length = (Uint32) strlen(_str);
         for(Uint32 i = 0; i < length; i++)         for(Uint32 i = 0; i < length; i++)
                 if(!checkAlphaNum(_str[i]))                  if(!isalnum(_str[i]))
                         return _str[i];                         return _str[i];
         return '\0';         return '\0';
 } }
Line 279 
Line 259 
         char * _str = const_cast<char *>((const char*)_s);         char * _str = const_cast<char *>((const char*)_s);
         Uint32 length = (Uint32) strlen(_str);         Uint32 length = (Uint32) strlen(_str);
         for(Uint32 i = 0; i < length; i++)         for(Uint32 i = 0; i < length; i++)
                 _str[i] = (!checkAlphaNum(_str[i])) ? new_sep : _str[i];                  _str[i] = (!isalnum(_str[i])) ? new_sep : _str[i];
         return (String(_str)).getCString();         return (String(_str)).getCString();
 } }
  


Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2