|
Boost : |
From: Oliver.Kowalke_at_[hidden]
Date: 2006-07-24 04:51:35
Hi,
> ~/devTools/boost_cvs/libs/system/build$ bjam ...found 225 targets...
> ...updating 14 targets...
> gcc-C++-action
> ../../../bin/boost/libs/system/build/libboost_system.a/gcc/deb
> ug/error_code.o
> ../src/error_code.cpp: In function
> 'std::string<unnamed>::errno_md(const
> boost::system::error_code&)':
> ../src/error_code.cpp:190: error: invalid conversion from
> 'char*' to 'int'
> ///that's the while condition here...
>
> char buf[64];
> char * bp = buf;
> std::size_t sz = sizeof(buf);
> int result;
> while ( (result = strerror_r( ec.value(), bp, sz )) == ERANGE )
> {
> if ( sz > sizeof(buf) ) std::free( bp );
> sz *= 2;
/* Reentrant version of `strerror'.
There are 2 flavors of `strerror_r', GNU which returns the string
and may or may not use the supplied temporary buffer and POSIX one
which fills the string into the buffer.
To use the POSIX version, -D_XOPEN_SOURCE=600 or
-D_POSIX_C_SOURCE=200112L
without -D_GNU_SOURCE is needed, otherwise the GNU version is
preferred. */
Oliver
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk