| // Copyright 2020 The Fuchsia Authors |
| // |
| // Use of this source code is governed by a MIT-style |
| // license that can be found in the LICENSE file or at |
| // https://opensource.org/licenses/MIT |
| |
| #include <stdarg.h> |
| #include <stdio.h> |
| #include <string-file.h> |
| |
| #include <ktl/algorithm.h> |
| #include <ktl/move.h> |
| |
| #include <ktl/enforce.h> |
| |
| int vsnprintf(char* buf, size_t len, const char* fmt, va_list args) { |
| StringFile out({buf, len}); |
| int ret = vfprintf(&out, fmt, args); |
| ktl::move(out).take(); |
| return ret; |
| } |
| |
| int snprintf(char* buf, size_t len, const char* fmt, ...) { |
| va_list args; |
| va_start(args, fmt); |
| int result = vsnprintf(buf, len, fmt, args); |
| va_end(args); |
| return result; |
| } |