OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [newlib-1.18.0/] [newlib-1.18.0-or32-1.0rc2/] [newlib/] [libc/] [string/] [strtok.c] - Diff between revs 207 and 520

Only display areas with differences | Details | Blame | View Log

Rev 207 Rev 520
/*
/*
FUNCTION
FUNCTION
        <<strtok>>, <<strtok_r>>, <<strsep>>---get next token from a string
        <<strtok>>, <<strtok_r>>, <<strsep>>---get next token from a string
 
 
INDEX
INDEX
        strtok
        strtok
 
 
INDEX
INDEX
        strtok_r
        strtok_r
 
 
INDEX
INDEX
        strsep
        strsep
 
 
ANSI_SYNOPSIS
ANSI_SYNOPSIS
        #include <string.h>
        #include <string.h>
        char *strtok(char *<[source]>, const char *<[delimiters]>)
        char *strtok(char *<[source]>, const char *<[delimiters]>)
        char *strtok_r(char *<[source]>, const char *<[delimiters]>,
        char *strtok_r(char *<[source]>, const char *<[delimiters]>,
                        char **<[lasts]>)
                        char **<[lasts]>)
        char *strsep(char **<[source_ptr]>, const char *<[delimiters]>)
        char *strsep(char **<[source_ptr]>, const char *<[delimiters]>)
 
 
TRAD_SYNOPSIS
TRAD_SYNOPSIS
        #include <string.h>
        #include <string.h>
        char *strtok(<[source]>, <[delimiters]>)
        char *strtok(<[source]>, <[delimiters]>)
        char *<[source]>;
        char *<[source]>;
        char *<[delimiters]>;
        char *<[delimiters]>;
 
 
        char *strtok_r(<[source]>, <[delimiters]>, <[lasts]>)
        char *strtok_r(<[source]>, <[delimiters]>, <[lasts]>)
        char *<[source]>;
        char *<[source]>;
        char *<[delimiters]>;
        char *<[delimiters]>;
        char **<[lasts]>;
        char **<[lasts]>;
 
 
        char *strsep(<[source_ptr]>, <[delimiters]>)
        char *strsep(<[source_ptr]>, <[delimiters]>)
        char **<[source_ptr]>;
        char **<[source_ptr]>;
        char *<[delimiters]>;
        char *<[delimiters]>;
 
 
DESCRIPTION
DESCRIPTION
        The <<strtok>> function is used to isolate sequential tokens in a
        The <<strtok>> function is used to isolate sequential tokens in a
        null-terminated string, <<*<[source]>>>. These tokens are delimited
        null-terminated string, <<*<[source]>>>. These tokens are delimited
        in the string by at least one of the characters in <<*<[delimiters]>>>.
        in the string by at least one of the characters in <<*<[delimiters]>>>.
        The first time that <<strtok>> is called, <<*<[source]>>> should be
        The first time that <<strtok>> is called, <<*<[source]>>> should be
        specified; subsequent calls, wishing to obtain further tokens from
        specified; subsequent calls, wishing to obtain further tokens from
        the same string, should pass a null pointer instead.  The separator
        the same string, should pass a null pointer instead.  The separator
        string, <<*<[delimiters]>>>, must be supplied each time and may
        string, <<*<[delimiters]>>>, must be supplied each time and may
        change between calls.
        change between calls.
 
 
        The <<strtok>> function returns a pointer to the beginning of each
        The <<strtok>> function returns a pointer to the beginning of each
        subsequent token in the string, after replacing the separator
        subsequent token in the string, after replacing the separator
        character itself with a null character.  When no more tokens remain,
        character itself with a null character.  When no more tokens remain,
        a null pointer is returned.
        a null pointer is returned.
 
 
        The <<strtok_r>> function has the same behavior as <<strtok>>, except
        The <<strtok_r>> function has the same behavior as <<strtok>>, except
        a pointer to placeholder <<*<[lasts]>>> must be supplied by the caller.
        a pointer to placeholder <<*<[lasts]>>> must be supplied by the caller.
 
 
        The <<strsep>> function is similar in behavior to <<strtok>>, except
        The <<strsep>> function is similar in behavior to <<strtok>>, except
        a pointer to the string pointer must be supplied <<<[source_ptr]>>> and
        a pointer to the string pointer must be supplied <<<[source_ptr]>>> and
        the function does not skip leading delimiters.  When the string starts
        the function does not skip leading delimiters.  When the string starts
        with a delimiter, the delimiter is changed to the null character and
        with a delimiter, the delimiter is changed to the null character and
        the empty string is returned.  Like <<strtok_r>> and <<strtok>>, the
        the empty string is returned.  Like <<strtok_r>> and <<strtok>>, the
        <<*<[source_ptr]>>> is updated to the next character following the
        <<*<[source_ptr]>>> is updated to the next character following the
        last delimiter found or NULL if the end of string is reached with
        last delimiter found or NULL if the end of string is reached with
        no more delimiters.
        no more delimiters.
 
 
RETURNS
RETURNS
        <<strtok>>, <<strtok_r>>, and <<strsep>> all return a pointer to the
        <<strtok>>, <<strtok_r>>, and <<strsep>> all return a pointer to the
        next token, or <<NULL>> if no more tokens can be found.  For
        next token, or <<NULL>> if no more tokens can be found.  For
        <<strsep>>, a token may be the empty string.
        <<strsep>>, a token may be the empty string.
 
 
NOTES
NOTES
        <<strtok>> is unsafe for multi-threaded applications.  <<strtok_r>>
        <<strtok>> is unsafe for multi-threaded applications.  <<strtok_r>>
        and <<strsep>> are thread-safe and should be used instead.
        and <<strsep>> are thread-safe and should be used instead.
 
 
PORTABILITY
PORTABILITY
<<strtok>> is ANSI C.
<<strtok>> is ANSI C.
<<strtok_r>> is POSIX.
<<strtok_r>> is POSIX.
<<strsep>> is a BSD extension.
<<strsep>> is a BSD extension.
 
 
<<strtok>>, <<strtok_r>>, and <<strsep>> require no supporting OS subroutines.
<<strtok>>, <<strtok_r>>, and <<strsep>> require no supporting OS subroutines.
 
 
QUICKREF
QUICKREF
        strtok ansi impure
        strtok ansi impure
*/
*/
 
 
/* undef STRICT_ANSI so that strtok_r prototype will be defined */
/* undef STRICT_ANSI so that strtok_r prototype will be defined */
#undef  __STRICT_ANSI__
#undef  __STRICT_ANSI__
#include <string.h>
#include <string.h>
#include <_ansi.h>
#include <_ansi.h>
#include <reent.h>
#include <reent.h>
 
 
#ifndef _REENT_ONLY
#ifndef _REENT_ONLY
 
 
extern char *__strtok_r (char *, const char *, char **, int);
extern char *__strtok_r (char *, const char *, char **, int);
 
 
char *
char *
_DEFUN (strtok, (s, delim),
_DEFUN (strtok, (s, delim),
        register char *s _AND
        register char *s _AND
        register const char *delim)
        register const char *delim)
{
{
        _REENT_CHECK_MISC(_REENT);
        _REENT_CHECK_MISC(_REENT);
        return __strtok_r (s, delim, &(_REENT_STRTOK_LAST(_REENT)), 1);
        return __strtok_r (s, delim, &(_REENT_STRTOK_LAST(_REENT)), 1);
}
}
#endif
#endif
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.