[libcxx-commits] [PATCH] D59727: [libc++] Fix return value of snprintf_l() on Windows when buffer is too small
Tom Anderson via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Mar 22 17:10:17 PDT 2019
thomasanderson added a comment.
In D59727#1440354 <https://reviews.llvm.org/D59727#1440354>, @EricWF wrote:
> I'm never comfortable using other STL's implementation details. When a user does that to libc++, we slap their hand.
> And MSVC docs explicitly ask us not to use that here:
> Is there any other paths forward?
There's a messy solution that doesn't rely on internals. We could use `_vsnprintf_s_l()` and if the return value is -1 and errno is ERANGE, then we know the buffer is too small. Then we would have to fall back on the old slow codepath to get the buffer size.
CHANGES SINCE LAST ACTION
More information about the libcxx-commits