1667843ccScgyurgyik //===-- Implementation of strtok ------------------------------------------===//
2667843ccScgyurgyik //
3667843ccScgyurgyik // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4667843ccScgyurgyik // See https://llvm.org/LICENSE.txt for license information.
5667843ccScgyurgyik // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6667843ccScgyurgyik //
7667843ccScgyurgyik //===----------------------------------------------------------------------===//
8667843ccScgyurgyik 
9667843ccScgyurgyik #include "src/string/strtok.h"
10667843ccScgyurgyik 
11667843ccScgyurgyik #include "src/__support/common.h"
12bc45bab7Sparallels #include "src/string/string_utils.h"
13667843ccScgyurgyik 
14667843ccScgyurgyik namespace __llvm_libc {
15667843ccScgyurgyik 
16667843ccScgyurgyik static char *strtok_str = nullptr;
17667843ccScgyurgyik 
18*a0b65a7bSMichael Jones LLVM_LIBC_FUNCTION(char *, strtok,
19*a0b65a7bSMichael Jones                    (char *__restrict src,
20*a0b65a7bSMichael Jones                     const char *__restrict delimiter_string)) {
21bc45bab7Sparallels   return internal::string_token(src, delimiter_string, &strtok_str);
22667843ccScgyurgyik }
23667843ccScgyurgyik 
24667843ccScgyurgyik } // namespace __llvm_libc
25