+2004-11-19  Bruno Haible  <bruno@clisp.org>
+
+       * strtok_r.c: Move comments from here...
+       * strtok_r.h: ... to here.
+
 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
 
        * realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
 
        x = strtok_r(NULL, "-=", &sp);  // x = "def", sp = NULL
        x = strtok_r(NULL, "=", &sp);   // x = NULL
                // s = "abc\0-def\0"
-
-   For the POSIX documentation for this function, see:
-   http://www.opengroup.org/onlinepubs/009695399/functions/strtok.html
-
-   Caveat: It modifies the original string.
-   Caveat: These functions cannot be used on constant strings.
-   Caveat: The identity of the delimiting character is lost.
-   Caveat: It doesn't work with multibyte strings unless all of the delimiter
-           characters are ASCII characters < 0x30.
-
-   See also strsep().
 */
 char *
 __strtok_r (char *s, const char *delim, char **save_ptr)
 
 /* Get strtok_r declaration, if available.  */
 #include <string.h>
 
+/* Parse S into tokens separated by characters in DELIM.
+   If S is NULL, the saved pointer in SAVE_PTR is used as
+   the next starting point.  For example:
+       char s[] = "-abc-=-def";
+       char *sp;
+       x = strtok_r(s, "-", &sp);      // x = "abc", sp = "=-def"
+       x = strtok_r(NULL, "-=", &sp);  // x = "def", sp = NULL
+       x = strtok_r(NULL, "=", &sp);   // x = NULL
+               // s = "abc\0-def\0"
+
+   This is a variant of strtok() that is multithread-safe.
+
+   For the POSIX documentation for this function, see:
+   http://www.opengroup.org/onlinepubs/009695399/functions/strtok.html
+
+   Caveat: It modifies the original string.
+   Caveat: These functions cannot be used on constant strings.
+   Caveat: The identity of the delimiting character is lost.
+   Caveat: It doesn't work with multibyte strings unless all of the delimiter
+           characters are ASCII characters < 0x30.
+
+   See also strsep().
+*/
 #if defined HAVE_DECL_STRTOK_R && !HAVE_DECL_STRTOK_R
-char *strtok_r(char *restrict s, const char *restrict sep,
-              char **restrict lasts);
+extern char *strtok_r(char *restrict s, const char *restrict sep,
+                     char **restrict lasts);
 #endif
 
 #endif /* STRTOK_R_H */