diff options
Diffstat (limited to 'libc/src/string/strerror_r.cpp')
-rw-r--r-- | libc/src/string/strerror_r.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/libc/src/string/strerror_r.cpp b/libc/src/string/strerror_r.cpp new file mode 100644 index 000000000000..30147152c448 --- /dev/null +++ b/libc/src/string/strerror_r.cpp @@ -0,0 +1,23 @@ +//===-- Implementation of strerror_r --------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#include "src/string/strerror_r.h" +#include "src/__support/common.h" +#include "src/__support/error_to_string.h" + +#include <stddef.h> + +namespace __llvm_libc { + +// This is the gnu version of strerror_r. The XSI version may be added later. +LLVM_LIBC_FUNCTION(char *, strerror_r, + (int err_num, char *buf, size_t buflen)) { + return const_cast<char *>(get_error_string(err_num, {buf, buflen}).data()); +} + +} // namespace __llvm_libc |