mirror of
https://github.com/isar/libmdbx.git
synced 2025-01-31 12:28:20 +08:00
mdbx++: использование \n
вместо std::endl
(backport).
This commit is contained in:
parent
a5ed725ae3
commit
458f713c53
23
src/mdbx.c++
23
src/mdbx.c++
@ -247,6 +247,21 @@ struct temp_buffer {
|
|||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
#ifndef MDBX_CXX_ENDL
|
||||||
|
/* Манипулятор std::endl выталкивате буфферизированый вывод, что здесь не
|
||||||
|
* требуется.
|
||||||
|
*
|
||||||
|
* Кроме этого, при сборке libmdbx для символов по-умолчанию выключается
|
||||||
|
* видимость вне DSO, из-за чего обращение к std::endl иногда укачивает
|
||||||
|
* линковщики, если комплятор ошибочно формируют direct access к global weak
|
||||||
|
* symbol, коим является std::endl. */
|
||||||
|
#if 0
|
||||||
|
#define MDBX_CXX_ENDL ::std::endl
|
||||||
|
#else
|
||||||
|
#define MDBX_CXX_ENDL "\n"
|
||||||
|
#endif
|
||||||
|
#endif /* MDBX_CXX_ENDL */
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
namespace mdbx {
|
namespace mdbx {
|
||||||
@ -663,7 +678,7 @@ char *to_hex::write_bytes(char *__restrict const dest, size_t dest_size) const {
|
|||||||
unsigned width = 0;
|
unsigned width = 0;
|
||||||
for (const auto end = source.end_byte_ptr(); src != end; ++src) {
|
for (const auto end = source.end_byte_ptr(); src != end; ++src) {
|
||||||
if (wrap_width && width >= wrap_width) {
|
if (wrap_width && width >= wrap_width) {
|
||||||
out << ::std::endl;
|
out << MDBX_CXX_ENDL;
|
||||||
width = 0;
|
width = 0;
|
||||||
}
|
}
|
||||||
const int8_t hi = *src >> 4;
|
const int8_t hi = *src >> 4;
|
||||||
@ -858,7 +873,7 @@ char *to_base58::write_bytes(char *__restrict const dest,
|
|||||||
while (MDBX_LIKELY(begin < end) && *begin == 0) {
|
while (MDBX_LIKELY(begin < end) && *begin == 0) {
|
||||||
out.put('1');
|
out.put('1');
|
||||||
if (wrap_width && ++width >= wrap_width) {
|
if (wrap_width && ++width >= wrap_width) {
|
||||||
out << ::std::endl;
|
out << MDBX_CXX_ENDL;
|
||||||
width = 0;
|
width = 0;
|
||||||
}
|
}
|
||||||
++begin;
|
++begin;
|
||||||
@ -872,7 +887,7 @@ char *to_base58::write_bytes(char *__restrict const dest,
|
|||||||
for (size_t i = 0; i < chunk.length(); ++i) {
|
for (size_t i = 0; i < chunk.length(); ++i) {
|
||||||
out.put(chunk.char_ptr()[i]);
|
out.put(chunk.char_ptr()[i]);
|
||||||
if (wrap_width && ++width >= wrap_width) {
|
if (wrap_width && ++width >= wrap_width) {
|
||||||
out << ::std::endl;
|
out << MDBX_CXX_ENDL;
|
||||||
width = 0;
|
width = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1049,7 +1064,7 @@ char *to_base64::write_bytes(char *__restrict const dest,
|
|||||||
src += 3;
|
src += 3;
|
||||||
out.write(&buf.front(), 4);
|
out.write(&buf.front(), 4);
|
||||||
if (wrap_width && (width += 4) >= wrap_width && left) {
|
if (wrap_width && (width += 4) >= wrap_width && left) {
|
||||||
out << ::std::endl;
|
out << MDBX_CXX_ENDL;
|
||||||
width = 0;
|
width = 0;
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user