blob: 1b470e729ad703228f3348af3fcbe479a9b32a1b [file] [log] [blame]
// 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;
}