Ticket #2277: asio_sunpro_solaris.patch

File asio_sunpro_solaris.patch, 1.8 KB (added by Simon Atanasyan <atanasyan@…>, 14 years ago)

Suggested patch

  • descriptor_ops.hpp

     
    6363
    6464inline void init_buf(buf& b, void* data, size_t size)
    6565{
     66#if (defined(sun) || defined(__sun)) && defined(__SUNPRO_CC)
     67  b.iov_base = static_cast<caddr_t>(data);
     68  b.iov_len = size;
     69#else // (defined(sun) || defined(__sun)) && defined(__SUNPRO_CC)
    6670  b.iov_base = data;
    6771  b.iov_len = size;
     72#endif
    6873}
    6974
    7075inline void init_buf(buf& b, const void* data, size_t size)
    7176{
     77#if (defined(sun) || defined(__sun)) && defined(__SUNPRO_CC)
     78  b.iov_base = static_cast<caddr_t>(const_cast<void*>(data));
     79  b.iov_len = size;
     80#else // (defined(sun) || defined(__sun)) && defined(__SUNPRO_CC)
    7281  b.iov_base = const_cast<void*>(data);
    7382  b.iov_len = size;
     83#endif
    7484}
    7585
    7686inline int scatter_read(int d, buf* bufs, size_t count,
  • socket_ops.hpp

     
    214214#if defined(BOOST_WINDOWS) || defined(__CYGWIN__)
    215215  b.buf = static_cast<char*>(data);
    216216  b.len = static_cast<u_long>(size);
     217#elif (defined(sun) || defined(__sun)) && defined(__SUNPRO_CC)
     218  b.iov_base = static_cast<caddr_t>(data);
     219  b.iov_len = size;
    217220#else // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
    218221  b.iov_base = data;
    219222  b.iov_len = size;
     
    225228#if defined(BOOST_WINDOWS) || defined(__CYGWIN__)
    226229  b.buf = static_cast<char*>(const_cast<void*>(data));
    227230  b.len = static_cast<u_long>(size);
     231#elif (defined(sun) || defined(__sun)) && defined(__SUNPRO_CC)
     232  b.iov_base = static_cast<caddr_t>(const_cast<void*>(data));
     233  b.iov_len = size;
    228234#else // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
    229235  b.iov_base = const_cast<void*>(data);
    230236  b.iov_len = size;