glibc's printf family of functions support '%m' to emit the error string
that corresponds to the current value of errno. It has no corresponding
argument.
In order to take advantage of safe_strerror, PrintfFormatter::format calls
format_system_error, which has been modified to not emit the separator if
the message prefix is empty.
'm' needs to be added to the list of special characters in format-test.cc's
check_unknown_types since it would otherwise always be valid in the format
string.
The AppVeyor mingw test shows that errno is being reset to zero during the
processing of '%m', so it needs to be explicitly preserved. This doesn't
seem to happen on Linux, MacOS, or Windows with MSVC but the preservation
code does no harm.
For the consumer it should not matter if fmt has been added to the
project as subdirectory or via find_package. With the alias targets
the library can be always imported via fmt::fmt.
Each instantiation of ArgArray template uses sizeof operator, which
returns a std::size_t value. GCC 7.1 warns about invalid conversion
(error: conversion to ‘unsigned int’ from ‘long unsigned
int’ may alter its value [-Werror=conversion]).
* printf.h fixed to compile clean - need to check whether this is the right
thing to do
* fix warnings and errors in test compiles with BUILD_SHARED_LIBS
* did requested changes and added one change to allow all tests to succeed
in windows DLL
With Sphinx 1.5, this is needed by searchtools.js to display the source
snippets (see sphinx-doc/sphinx#2454).
With earlier Sphinx versions, this is a no-op because the undefined variable
will evaluate to an empty string.
Fixes#491 (and probably #480) Before, the put-area of the custom streambuf
implementation was (sometimes) incorrectly extended beyond the writeable buffer.
The new implementation is in some cases not as efficient as the old, but avoids
to write into uninitialized memory.
This fixes compiling fmtlib in header-only mode when user code also has
something called 'Arg' defined. Now qualifying Arg struct with internal
namespace.
* allow to stream user defined types in a MemoryWriter
* fix indent
* follow Google C++ Style
* make code c++98 compatible
* fix macro usage
* disable ability to stream user defined types if not at least c++11
* fix for disable ability to stream user defined types if not at least c++11
* use FMT_STATIC_ASSERT