diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-12-15 09:38:53 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-12-15 09:39:34 -0500 |
commit | f95a4a932476be2ba99e2fd081e8d2bc6ea12813 (patch) | |
tree | 75f67192cb2d7b7b575c94edda318e475239b63c /newlib/libc/string/strtok.c | |
parent | f60aca96985e68c7d8a52eb7bc955fb80e132f73 (diff) |
Import newlib and create makefile
Diffstat (limited to 'newlib/libc/string/strtok.c')
-rw-r--r-- | newlib/libc/string/strtok.c | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/newlib/libc/string/strtok.c b/newlib/libc/string/strtok.c new file mode 100644 index 0000000..bc11f0d --- /dev/null +++ b/newlib/libc/string/strtok.c @@ -0,0 +1,76 @@ +/* +FUNCTION + <<strtok>>---get next token from a string + +INDEX + strtok + +INDEX + strtok_r + +ANSI_SYNOPSIS + #include <string.h> + char *strtok(char *<[source]>, const char *<[delimiters]>) + char *strtok_r(char *<[source]>, const char *<[delimiters]>, + char **<[lasts]>) + +TRAD_SYNOPSIS + #include <string.h> + char *strtok(<[source]>, <[delimiters]>) + char *<[source]>; + char *<[delimiters]>; + + char *strtok_r(<[source]>, <[delimiters]>, <[lasts]>) + char *<[source]>; + char *<[delimiters]>; + char **<[lasts]>; + +DESCRIPTION + The <<strtok>> function is used to isolate sequential tokens in a + null-terminated string, <<*<[source]>>>. These tokens are delimited + in the string by at least one of the characters in <<*<[delimiters]>>>. + The first time that <<strtok>> is called, <<*<[source]>>> should be + specified; subsequent calls, wishing to obtain further tokens from + the same string, should pass a null pointer instead. The separator + string, <<*<[delimiters]>>>, must be supplied each time, and may + change between calls. + + The <<strtok>> function returns a pointer to the beginning of each + subsequent token in the string, after replacing the separator + character itself with a NUL character. When no more tokens remain, + a null pointer is returned. + + The <<strtok_r>> function has the same behavior as <<strtok>>, except + a pointer to placeholder <<*[lasts]>> must be supplied by the caller. + +RETURNS + <<strtok>> returns a pointer to the next token, or <<NULL>> if + no more tokens can be found. + +NOTES + <<strtok>> is unsafe for multi-thread applications. <<strtok_r>> + is MT-Safe and should be used instead. + +PORTABILITY +<<strtok>> is ANSI C. + +<<strtok>> requires no supporting OS subroutines. + +QUICKREF + strtok ansi impure +*/ + +#include <string.h> +#include <_ansi.h> +#include <reent.h> + +#ifndef _REENT_ONLY + +char * +_DEFUN (strtok, (s, delim), + register char *s _AND + register const char *delim) +{ + return strtok_r (s, delim, &(_REENT->_new._reent._strtok_last)); +} +#endif |