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

Diff for /pegasus/src/Pegasus/Common/Buffer.cpp between version 1.8 and 1.9

version 1.8, 2006/08/21 17:49:10 version 1.9, 2006/08/21 17:52:56
Line 203 
Line 203 
     _rep->size -= size;     _rep->size -= size;
 } }
  
 size_t Buffer::appendf(const char* format, ...)  
 {  
     size_t size = 128;  
     va_list ap;  
   
     for (;;)  
     {  
         reserveCapacity(_rep->size + size);  
         char* str = _rep->data + _rep->size;  
   
         va_start(ap, format);  
   
 #if defined(PEGASUS_OS_TYPE_WINDOWS)  
         int n = _vsnprintf(str, size, format, ap);  
 #else  
         int n = vsnprintf(str, size, format, ap);  
 #endif  
   
         va_end(ap);  
   
         if (n > -1 && n < int(size))  
         {  
             _rep->size += n;  
             return size_t(n);  
         }  
   
         if (n > -1)  
             size = n + 1;  
         else  
             size *= 2;  
     }  
   
     // Unreachable:  
     return 0;  
 }  
   
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2