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

Diff for /pegasus/src/Pegasus/Common/CIMName.cpp between version 1.19 and 1.20

version 1.19, 2003/08/12 17:45:57 version 1.20, 2003/08/13 18:55:33
Line 119 
Line 119 
 Boolean CIMName::legal(const String& name) Boolean CIMName::legal(const String& name)
 { {
     Uint32 length = name.size();     Uint32 length = name.size();
     Uint32 i = 0;      Char16 chkchr;
  
  
     if (length == 0)     if (length == 0)
         return false;         return false;
  
     CString temp = name.getCStringUTF8();      chkchr = name[0];
     const char* UTF8name = temp;  
  
     char currentChar;      if(!(
           (chkchr == 0x005F) ||
           ((chkchr >= 0x0041) && (chkchr <= 0x005A)) ||
           ((chkchr >= 0x0061) && (chkchr <= 0x007A)) ||
           ((chkchr >= 0x0080) && (chkchr <= 0xFFEF))))
       {
           return false;
       }
  
     while(i<length)  
       for(Uint32 i = 1; i < length; ++i)
       {
           chkchr = name[i];
           if(!(
                (chkchr == 0x005F) ||
                ((chkchr >= 0x0041) && (chkchr <= 0x005A)) ||
                ((chkchr >= 0x0061) && (chkchr <= 0x007A)) ||
                ((chkchr >= 0x0080) && (chkchr <= 0xFFEF)) ||
                ((chkchr >= 0x0030) && (chkchr <= 0x0039))))
     {     {
         UTF8_NEXT(UTF8name,i,currentChar);  
         if (!(String::isUTF8(&UTF8name[i])))  
             return false;             return false;
     }     }
       }
  
     return true;     return true;
 } }
Line 234 
Line 248 
  
 Boolean CIMNamespaceName::legal(const String& name) Boolean CIMNamespaceName::legal(const String& name)
 { {
     Uint32 i = 0;  
     Uint32 length = name.size();     Uint32 length = name.size();
     if (length == 0) return true;    // ATTN: Cheap hack!      Char16 chkchr;
  
     if (length == 0) return true;    // ATTN: Cheap hack!  
  
     CString temp = name.getCStringUTF8();      if (length == 0)
     const char* UTF8name = temp;          return false;
  
     char currentChar;      chkchr = name[0];
  
     while(i<length)      if(!(
           (chkchr == 0x005F) ||
           ((chkchr >= 0x0041) && (chkchr <= 0x005A)) ||
           ((chkchr >= 0x0061) && (chkchr <= 0x007A)) ||
           ((chkchr >= 0x0080) && (chkchr <= 0xFFEF))))
     {     {
         UTF8_NEXT(UTF8name,i,currentChar);  
         if (!(String::isUTF8(&UTF8name[i])))  
             return false;             return false;
     }     }
  
     return true;  
  
       for(Uint32 i = 1; i < length; ++i)
       {
           chkchr = name[i];
           if(!(
                (chkchr == 0x005F) ||
                ((chkchr >= 0x0041) && (chkchr <= 0x005A)) ||
                ((chkchr >= 0x0061) && (chkchr <= 0x007A)) ||
                ((chkchr >= 0x0080) && (chkchr <= 0xFFEF)) ||
                ((chkchr >= 0x0030) && (chkchr <= 0x0039))))
           {
                return false;
           }
       }
   
       return true;
 // Alternate implementation // Alternate implementation
 #if 0 #if 0
     String temp;     String temp;


Legend:
Removed from v.1.19  
changed lines
  Added in v.1.20

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2