(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.7 and 1.8

version 1.7, 2006/06/29 22:53:30 version 1.8, 2006/08/21 17:49:10
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.7  
changed lines
  Added in v.1.8

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2