avr-libc-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-libc-commit] [2515] Move all documentation from assembly code files


From: Joerg Wunsch
Subject: [avr-libc-commit] [2515] Move all documentation from assembly code files into the header files,
Date: Mon, 08 Feb 2016 22:46:43 +0000

Revision: 2515
          http://svn.sv.gnu.org/viewvc/?view=rev&root=avr-libc&revision=2515
Author:   joerg_wunsch
Date:     2016-02-08 22:46:42 +0000 (Mon, 08 Feb 2016)
Log Message:
-----------
Move all documentation from assembly code files into the header files,
so Doxygen will pick it up.

Modified Paths:
--------------
    trunk/avr-libc/ChangeLog
    trunk/avr-libc/include/stdlib.h
    trunk/avr-libc/include/string.h
    trunk/avr-libc/libc/stdlib/atof.S
    trunk/avr-libc/libc/string/ffs.S
    trunk/avr-libc/libc/string/ffsl.S
    trunk/avr-libc/libc/string/ffsll.S
    trunk/avr-libc/libc/string/memccpy.S
    trunk/avr-libc/libc/string/memchr.S
    trunk/avr-libc/libc/string/memcmp.S
    trunk/avr-libc/libc/string/memcpy.S
    trunk/avr-libc/libc/string/memmem.S
    trunk/avr-libc/libc/string/memmove.S
    trunk/avr-libc/libc/string/memrchr.S
    trunk/avr-libc/libc/string/memset.S
    trunk/avr-libc/libc/string/strcasecmp.S
    trunk/avr-libc/libc/string/strcasestr.S
    trunk/avr-libc/libc/string/strcat.S
    trunk/avr-libc/libc/string/strchr.S
    trunk/avr-libc/libc/string/strchrnul.S
    trunk/avr-libc/libc/string/strcmp.S
    trunk/avr-libc/libc/string/strcpy.S
    trunk/avr-libc/libc/string/strcspn.S
    trunk/avr-libc/libc/string/strdup.c
    trunk/avr-libc/libc/string/strlcat.S
    trunk/avr-libc/libc/string/strlcpy.S
    trunk/avr-libc/libc/string/strlen.S
    trunk/avr-libc/libc/string/strlwr.S
    trunk/avr-libc/libc/string/strncasecmp.S
    trunk/avr-libc/libc/string/strncat.S
    trunk/avr-libc/libc/string/strncmp.S
    trunk/avr-libc/libc/string/strncpy.S
    trunk/avr-libc/libc/string/strnlen.S
    trunk/avr-libc/libc/string/strpbrk.S
    trunk/avr-libc/libc/string/strrchr.S
    trunk/avr-libc/libc/string/strrev.S
    trunk/avr-libc/libc/string/strsep.S
    trunk/avr-libc/libc/string/strspn.S
    trunk/avr-libc/libc/string/strstr.S
    trunk/avr-libc/libc/string/strtok.c
    trunk/avr-libc/libc/string/strtok_r.S
    trunk/avr-libc/libc/string/strupr.S

Modified: trunk/avr-libc/ChangeLog
===================================================================
--- trunk/avr-libc/ChangeLog    2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/ChangeLog    2016-02-08 22:46:42 UTC (rev 2515)
@@ -4,6 +4,51 @@
 
 2016-02-08  Joerg Wunsch <address@hidden>
 
+       * include/stdlib.h: Move all documentation from assembly code
+       files into the header files, so Doxygen will pick it up.
+       * include/string.h: (Dito.)
+       * libc/stdlib/atof.S: (Dito.)
+       * libc/string/ffs.S: (Dito.)
+       * libc/string/ffsl.S: (Dito.)
+       * libc/string/ffsll.S: (Dito.)
+       * libc/string/memccpy.S: (Dito.)
+       * libc/string/memchr.S: (Dito.)
+       * libc/string/memcmp.S: (Dito.)
+       * libc/string/memcpy.S: (Dito.)
+       * libc/string/memmem.S: (Dito.)
+       * libc/string/memmove.S: (Dito.)
+       * libc/string/memrchr.S: (Dito.)
+       * libc/string/memset.S: (Dito.)
+       * libc/string/strcasecmp.S: (Dito.)
+       * libc/string/strcasestr.S: (Dito.)
+       * libc/string/strcat.S: (Dito.)
+       * libc/string/strchr.S: (Dito.)
+       * libc/string/strchrnul.S: (Dito.)
+       * libc/string/strcmp.S: (Dito.)
+       * libc/string/strcpy.S: (Dito.)
+       * libc/string/strcspn.S: (Dito.)
+       * libc/string/strdup.c: (Dito.)
+       * libc/string/strlcat.S: (Dito.)
+       * libc/string/strlcpy.S: (Dito.)
+       * libc/string/strlen.S: (Dito.)
+       * libc/string/strlwr.S: (Dito.)
+       * libc/string/strncasecmp.S: (Dito.)
+       * libc/string/strncat.S: (Dito.)
+       * libc/string/strncmp.S: (Dito.)
+       * libc/string/strncpy.S: (Dito.)
+       * libc/string/strnlen.S: (Dito.)
+       * libc/string/strpbrk.S: (Dito.)
+       * libc/string/strrchr.S: (Dito.)
+       * libc/string/strrev.S: (Dito.)
+       * libc/string/strsep.S: (Dito.)
+       * libc/string/strspn.S: (Dito.)
+       * libc/string/strstr.S: (Dito.)
+       * libc/string/strtok.c: (Dito.)
+       * libc/string/strtok_r.S: (Dito.)
+       * libc/string/strupr.S: (Dito.)
+
+2016-02-08  Joerg Wunsch <address@hidden>
+
        * doc/api/rel-method.dox: Mention major number 2.
 
 2016-02-08  Joerg Wunsch <address@hidden>

Modified: trunk/avr-libc/include/stdlib.h
===================================================================
--- trunk/avr-libc/include/stdlib.h     2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/include/stdlib.h     2016-02-08 22:46:42 UTC (rev 2515)
@@ -349,6 +349,15 @@
 
 extern double strtod(const char *__nptr, char **__endptr);
 
+/** \ingroup avr_stdlib
+    \fn  double atof (const char *nptr)
+
+    The atof() function converts the initial portion of the string pointed
+    to by \a nptr to double representation.
+
+    It is equivalent to calling
+       \code strtod(nptr, (char **)0); \endcode
+ */
 extern double atof(const char *__nptr);
 
 /** Highest number that can be generated by rand(). */

Modified: trunk/avr-libc/include/string.h
===================================================================
--- trunk/avr-libc/include/string.h     2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/include/string.h     2016-02-08 22:46:42 UTC (rev 2515)
@@ -110,43 +110,499 @@
         - (((x) & 0177777) == 0) * 16)
 #endif /* DOXYGEN */
 
-extern int ffs (int __val) __ATTR_CONST__;
-extern int ffsl (long __val) __ATTR_CONST__;
-__extension__ extern int ffsll (long long __val) __ATTR_CONST__;
+/** \ingroup avr_string
+    \fn int ffs(int val);
+
+    \brief This function finds the first (least significant) bit set in the 
input value.
+
+    \returns The ffs() function returns the position of the first
+    (least significant) bit set in the word val, or 0 if no bits are set.
+    The least significant bit is position 1.
+
+    \note For expressions that are constant at compile time, consider
+    using the \ref _FFS macro instead.
+*/
+extern int ffs(int __val) __ATTR_CONST__;
+
+/** \ingroup avr_string
+    \fn int ffsl(long val);
+
+    \brief Same as ffs(), for an argument of type long. */
+extern int ffsl(long __val) __ATTR_CONST__;
+
+/** \ingroup avr_string
+    \fn int ffsll(long long val);
+
+    \brief Same as ffs(), for an argument of type long long. */
+__extension__ extern int ffsll(long long __val) __ATTR_CONST__;
+
+/** \ingroup avr_string
+    \fn void *memccpy(void *dest, const void *src, int val, size_t len)
+    \brief Copy memory area.
+
+    The memccpy() function copies no more than \p len bytes from memory
+    area \p src to memory area \p dest, stopping when the character \p val
+    is found.
+
+    \returns The memccpy() function returns a pointer to the next character
+    in \p dest after \p val, or NULL if \p val was not found in the first
+    \p len characters of \p src. */
 extern void *memccpy(void *, const void *, int, size_t);
+
+/** \ingroup avr_string
+    \fn void *memchr(const void *src, int val, size_t len)
+    \brief Scan memory for a character.
+
+    The memchr() function scans the first len bytes of the memory area pointed
+    to by src for the character val.  The first byte to match val (interpreted
+    as an unsigned character) stops the operation.
+
+    \returns The memchr() function returns a pointer to the matching byte or
+    NULL if the character does not occur in the given memory area.  */
 extern void *memchr(const void *, int, size_t) __ATTR_PURE__;
+
+/** \ingroup avr_string
+    \fn int memcmp(const void *s1, const void *s2, size_t len)
+    \brief Compare memory areas
+
+    The memcmp() function compares the first len bytes of the memory areas s1
+    and s2. The comparision is performed using unsigned char operations.
+
+    \returns The memcmp() function returns an integer less than, equal to, or
+    greater than zero if the first len bytes of s1 is found, respectively, to 
be
+    less than, to match, or be greater than the first len bytes of s2.
+
+    \note Be sure to store the result in a 16 bit variable since you may get
+    incorrect results if you use an unsigned char or char due to truncation.
+
+    \warning This function is not -mint8 compatible, although if you only care
+    about testing for equality, this function should be safe to use. */
 extern int memcmp(const void *, const void *, size_t) __ATTR_PURE__;
+
+/** \ingroup avr_string
+    \fn void *memcpy(void *dest, const void *src, size_t len)
+    \brief Copy a memory area.
+
+    The memcpy() function copies len bytes from memory area src to memory area
+    dest.  The memory areas may not overlap.  Use memmove() if the memory
+    areas do overlap.
+
+    \returns The memcpy() function returns a pointer to dest.  */
 extern void *memcpy(void *, const void *, size_t);
+
+/** \ingroup avr_string
+    \fn void *memmem(const void *s1, size_t len1, const void *s2, size_t len2)
+
+    The memmem() function finds the start of the first occurrence of the
+    substring \p s2 of length \p len2 in the memory area \p s1 of length
+    \p len1.
+
+    \return The memmem() function returns a pointer to the beginning of
+    the substring, or \c NULL if the substring is not found. If \p len2
+    is zero, the function returns \p s1. */
 extern void *memmem(const void *, size_t, const void *, size_t) __ATTR_PURE__;
+
+/** \ingroup avr_string
+    \fn void *memmove(void *dest, const void *src, size_t len)
+    \brief Copy memory area.
+
+    The memmove() function copies len bytes from memory area src to memory area
+    dest.  The memory areas may overlap.
+
+    \returns The memmove() function returns a pointer to dest.  */
 extern void *memmove(void *, const void *, size_t);
+
+/** \ingroup avr_string
+    \fn void *memrchr(const void *src, int val, size_t len)
+
+    The memrchr() function is like the memchr() function, except that it
+    searches backwards from the end of the \p len bytes pointed to by \p
+    src instead of forwards from the front. (Glibc, GNU extension.)
+
+    \return The memrchr() function returns a pointer to the matching
+    byte or \c NULL if the character does not occur in the given memory
+    area. */
 extern void *memrchr(const void *, int, size_t) __ATTR_PURE__;
+
+/** \ingroup avr_string
+    \fn void *memset(void *dest, int val, size_t len)
+    \brief Fill memory with a constant byte.
+
+    The memset() function fills the first len bytes of the memory area pointed
+    to by dest with the constant byte val.
+
+    \returns The memset() function returns a pointer to the memory area dest. 
*/
 extern void *memset(void *, int, size_t);
+
+/** \ingroup avr_string
+    \fn char *strcat(char *dest, const char *src)
+    \brief Concatenate two strings.
+
+    The strcat() function appends the src string to the dest string
+    overwriting the '\\0' character at the end of dest, and then adds a
+    terminating '\\0' character.  The strings may not overlap, and the dest
+    string must have enough space for the result.
+
+    \returns The strcat() function returns a pointer to the resulting string
+    dest.  */
 extern char *strcat(char *, const char *);
+
+/** \ingroup avr_string
+    \fn char *strchr(const char *src, int val)
+    \brief Locate character in string.
+
+    The strchr() function returns a pointer to the first occurrence of
+    the character \p val in the string \p src.
+
+    Here "character" means "byte" - these functions do not work with
+    wide or multi-byte characters.
+
+    \returns The strchr() function returns a pointer to the matched
+    character or \c NULL if the character is not found. */
 extern char *strchr(const char *, int) __ATTR_PURE__;
+
+/** \ingroup avr_string
+    \fn char *strchrnul(const char *s, int c)
+
+    The strchrnul() function is like strchr() except that if \p c is not
+    found in \p s, then it returns a pointer to the null byte at the end
+    of \p s, rather than \c NULL. (Glibc, GNU extension.)
+
+    \return The strchrnul() function returns a pointer to the matched
+    character, or a pointer to the null byte at the end of \p s (i.e.,
+    \c s+strlen(s)) if the character is not found.     */
 extern char *strchrnul(const char *, int) __ATTR_PURE__;
+
+/** \ingroup avr_string
+    \fn int strcmp(const char *s1, const char *s2)
+    \brief Compare two strings.
+
+    The strcmp() function compares the two strings \p s1 and \p s2.
+
+    \returns The strcmp() function returns an integer less than, equal
+    to, or greater than zero if \p s1 is found, respectively, to be less
+    than, to match, or be greater than \p s2. A consequence of the
+    ordering used by strcmp() is that if \p s1 is an initial substring
+    of \p s2, then \p s1 is considered to be "less than" \p s2.        */
 extern int strcmp(const char *, const char *) __ATTR_PURE__;
+
+/** \ingroup avr_string
+    \fn char *strcpy(char *dest, const char *src)
+    \brief Copy a string.
+
+    The strcpy() function copies the string pointed to by src (including the
+    terminating '\\0' character) to the array pointed to by dest.  The strings
+    may not overlap, and the destination string dest must be large enough to
+    receive the copy.
+
+    \returns The strcpy() function returns a pointer to the destination
+    string dest.
+
+    \note If the destination string of a strcpy() is not large enough (that
+    is, if the programmer was stupid/lazy, and failed to check the size before
+    copying) then anything might happen.  Overflowing fixed length strings is
+    a favourite cracker technique. */
 extern char *strcpy(char *, const char *);
+
+/** \ingroup avr_string
+    \fn int strcasecmp(const char *s1, const char *s2)
+    \brief Compare two strings ignoring case.
+
+    The strcasecmp() function compares the two strings \p s1 and \p s2,
+    ignoring the case of the characters.
+
+    \returns The strcasecmp() function returns an integer less than,
+    equal to, or greater than zero if \p s1 is found, respectively, to
+    be less than, to match, or be greater than \p s2. A consequence of
+    the ordering used by strcasecmp() is that if \p s1 is an initial
+    substring of \p s2, then \p s1 is considered to be "less than"
+    \p s2. */
 extern int strcasecmp(const char *, const char *) __ATTR_PURE__;
+
+/** \ingroup avr_string
+    \fn char *strcasestr(const char *s1, const char *s2)
+
+    The strcasestr() function finds the first occurrence of the
+    substring \p s2 in the string \p s1. This is like strstr(), except
+    that it ignores case of alphabetic symbols in searching for the
+    substring. (Glibc, GNU extension.)
+
+    \return The strcasestr() function returns a pointer to the beginning
+    of the substring, or \c NULL if the substring is not found. If \p s2
+    points to a string of zero length, the function returns \p s1. */
 extern char *strcasestr(const char *, const char *) __ATTR_PURE__;
+
+/** \ingroup avr_string
+    \fn size_t strcspn(const char *s, const char *reject)
+
+    The strcspn() function calculates the length of the initial segment
+    of \p s which consists entirely of characters not in \p reject.
+
+    \return The strcspn() function returns the number of characters in
+    the initial segment of \p s which are not in the string \p reject.
+    The terminating zero is not considered as a part of string.        */
 extern size_t strcspn(const char *__s, const char *__reject) __ATTR_PURE__;
+
+/** \ingroup avr_string
+    \fn char *strdup(const char *s1)
+    \brief Duplicate a string.
+
+    The strdup() function allocates memory and copies into it the string
+    addressed by s1, including the terminating null character.
+
+    \warning The strdup() function calls malloc() to allocate the memory
+    for the duplicated string! The user is responsible for freeing the
+    memory by calling free().
+
+    \returns The strdup() function returns a pointer to the resulting string
+    dest. If malloc() cannot allocate enough storage for the string, strdup()
+    will return NULL.
+
+    \warning Be sure to check the return value of the strdup() function to
+    make sure that the function has succeeded in allocating the memory!
+*/
 extern char *strdup(const char *s1);
+
+/** \ingroup avr_string
+    \fn size_t strlcat(char *dst, const char *src, size_t siz)
+    \brief Concatenate two strings.
+
+    Appends \p src to string \p dst of size \p siz (unlike strncat(),
+    \p siz is the full size of \p dst, not space left).  At most \p siz-1
+    characters will be copied.  Always NULL terminates (unless \p siz <=
+    \p strlen(dst)).
+
+    \returns The strlcat() function returns strlen(src) + MIN(siz,
+    strlen(initial dst)).  If retval >= siz, truncation occurred.  */
 extern size_t strlcat(char *, const char *, size_t);
+
+/** \ingroup avr_string
+    \fn size_t strlcpy(char *dst, const char *src, size_t siz)
+    \brief Copy a string.
+
+    Copy \p src to string \p dst of size \p siz.  At most \p siz-1
+    characters will be copied.  Always NULL terminates (unless \p siz == 0).
+
+    \returns The strlcpy() function returns strlen(src). If retval >= siz,
+    truncation occurred.  */
 extern size_t strlcpy(char *, const char *, size_t);
+
+/** \ingroup avr_string
+    \fn size_t strlen(const char *src)
+    \brief Calculate the length of a string.
+
+    The strlen() function calculates the length of the string src, not
+    including the terminating '\\0' character.
+
+    \returns The strlen() function returns the number of characters in
+    src.  */
 extern size_t strlen(const char *) __ATTR_PURE__;
+
+/** \ingroup avr_string
+    \fn char *strlwr(char *s)
+    \brief Convert a string to lower case.
+
+    The strlwr() function will convert a string to lower case. Only the upper
+    case alphabetic characters [A .. Z] are converted.  Non-alphabetic
+    characters will not be changed.
+
+    \returns The strlwr() function returns a pointer to the converted
+    string. */
 extern char *strlwr(char *);
+
+/** \ingroup avr_string
+    \fn char *strncat(char *dest, const char *src, size_t len)
+    \brief Concatenate two strings.
+
+    The strncat() function is similar to strcat(), except that only the first
+    n characters of src are appended to dest.
+
+    \returns The strncat() function returns a pointer to the resulting string
+    dest.  */
 extern char *strncat(char *, const char *, size_t);
+
+/** \ingroup avr_string
+    \fn int strncmp(const char *s1, const char *s2, size_t len)
+    \brief Compare two strings.
+
+    The strncmp() function is similar to strcmp(), except it only compares the
+    first (at most) n characters of s1 and s2.
+
+    \returns The strncmp() function returns an integer less than, equal to, or
+    greater than zero if s1 (or the first n bytes thereof) is found,
+    respectively, to be less than, to match, or be greater than s2.  */
 extern int strncmp(const char *, const char *, size_t) __ATTR_PURE__;
+
+/** \ingroup avr_string
+    \fn char *strncpy(char *dest, const char *src, size_t len)
+    \brief Copy a string.
+
+    The strncpy() function is similar to strcpy(), except that not more than n
+    bytes of src are copied. Thus, if there is no null byte among the first n
+    bytes of src, the result will not be null-terminated.
+
+    In the case where the length of src is less than that of n, the remainder
+    of dest will be padded with nulls.
+
+    \returns The strncpy() function returns a pointer to the destination
+    string dest.  */
 extern char *strncpy(char *, const char *, size_t);
+
+/** \ingroup avr_string
+    \fn int strncasecmp(const char *s1, const char *s2, size_t len)
+    \brief Compare two strings ignoring case.
+
+    The strncasecmp() function is similar to strcasecmp(), except it
+    only compares the first \p len characters of \p s1.
+
+    \returns The strncasecmp() function returns an integer less than,
+    equal to, or greater than zero if \p s1 (or the first \p len bytes
+    thereof) is found, respectively, to be less than, to match, or be
+    greater than \p s2. A consequence of the ordering used by
+    strncasecmp() is that if \p s1 is an initial substring of \p s2,
+    then \p s1 is considered to be "less than" \p s2.  */
 extern int strncasecmp(const char *, const char *, size_t) __ATTR_PURE__;
+
+/** \ingroup avr_string
+    \fn size_t strnlen(const char *src, size_t len)
+    \brief Determine the length of a fixed-size string.
+
+    The strnlen function returns the number of characters in the string
+    pointed to by src, not including the terminating '\\0' character, but at
+    most len. In doing this, strnlen looks only at the first len characters at
+    src and never beyond src+len.
+
+    \returns The strnlen function returns strlen(src), if that is less than
+    len, or len if there is no '\\0' character among the first len
+    characters pointed to by src. */
 extern size_t strnlen(const char *, size_t) __ATTR_PURE__;
+
+/** \ingroup avr_string
+    \fn char *strpbrk(const char *s, const char *accept)
+
+    The strpbrk() function locates the first occurrence in the string
+    \p s of any of the characters in the string \p accept.
+
+    \return  The strpbrk() function returns a pointer to the character
+    in \p s that matches one of the characters in \p accept, or \c NULL
+    if no such character is found. The terminating zero is not
+    considered as a part of string: if one or both args are empty, the
+    result will be \c NULL. */
 extern char *strpbrk(const char *__s, const char *__accept) __ATTR_PURE__;
+
+/** \ingroup avr_string
+    \fn char *strrchr(const char *src, int val)
+    \brief Locate character in string.
+
+    The strrchr() function returns a pointer to the last occurrence of the
+    character val in the string src.
+
+    Here "character" means "byte" - these functions do not work with wide or
+    multi-byte characters.
+
+    \returns The strrchr() function returns a pointer to the matched character
+    or NULL if the character is not found. */
 extern char *strrchr(const char *, int) __ATTR_PURE__;
+
+/** \ingroup avr_string
+    \fn char *strrev(char *s)
+    \brief Reverse a string.
+
+    The strrev() function reverses the order of the string.
+
+    \returns The strrev() function returns a pointer to the beginning of the
+    reversed string.  */
 extern char *strrev(char *);
+
+/** \ingroup avr_string
+    \fn char *strsep(char **sp, const char *delim)
+    \brief Parse a string into tokens.
+
+    The strsep() function locates, in the string referenced by \p *sp,
+    the first occurrence of any character in the string \p delim (or the
+    terminating '\\0' character) and replaces it with a '\\0'.  The
+    location of the next character after the delimiter character (or \c
+    NULL, if the end of the string was reached) is stored in \p *sp. An
+    ``empty'' field, i.e. one caused by two adjacent delimiter
+    characters, can be detected by comparing the location referenced by
+    the pointer returned in \p *sp to '\\0'.
+
+    \return The strsep() function returns a pointer to the original
+    value of \p *sp. If \p *sp is initially \c NULL, strsep() returns
+    \c NULL. */
 extern char *strsep(char **, const char *);
+
+/** \ingroup avr_string
+    \fn size_t strspn(const char *s, const char *accept)
+
+    The strspn() function calculates the length of the initial segment
+    of \p s which consists entirely of characters in \p accept.
+
+    \return  The strspn() function returns the number of characters in
+    the initial segment of \p s which consist only of characters from \p
+    accept. The terminating zero is not considered as a part of string. */
 extern size_t strspn(const char *__s, const char *__accept) __ATTR_PURE__;
+
+/** \ingroup avr_string
+    \fn char *strstr(const char *s1, const char *s2)
+    \brief Locate a substring.
+
+    The strstr() function finds the first occurrence of the substring \p
+    s2 in the string \p s1.  The terminating '\\0' characters are not
+    compared.
+
+    \returns The strstr() function returns a pointer to the beginning of
+    the substring, or \c NULL if the substring is not found. If \p s2
+    points to a string of zero length, the function returns \p s1. */
 extern char *strstr(const char *, const char *) __ATTR_PURE__;
+
+/** \ingroup avr_string
+    \fn char *strtok(char *s, const char *delim)
+    \brief Parses the string s into tokens.
+
+    strtok parses the string s into tokens. The first call to strtok
+    should have s as its first argument. Subsequent calls should have
+    the first argument set to NULL. If a token ends with a delimiter, this
+    delimiting character is overwritten with a '\\0' and a pointer to the next
+    character is saved for the next call to strtok. The delimiter string
+    delim may be different for each call.
+
+    \returns The strtok() function returns a pointer to the next token or
+    NULL when no more tokens are found.
+
+    \note strtok() is NOT reentrant. For a reentrant version of this function
+    see \c strtok_r().
+*/
 extern char *strtok(char *, const char *);
+
+/** \ingroup avr_string
+    \fn char *strtok_r(char *string, const char *delim, char **last)
+    \brief Parses string into tokens.
+
+    strtok_r parses string into tokens. The first call to strtok_r
+    should have string as its first argument. Subsequent calls should have
+    the first argument set to NULL. If a token ends with a delimiter, this
+    delimiting character is overwritten with a '\\0' and a pointer to the next
+    character is saved for the next call to strtok_r. The delimiter string
+    \p delim may be different for each call. \p last is a user allocated char*
+    pointer. It must be the same while parsing the same string. strtok_r is
+    a reentrant version of strtok().
+
+    \returns The strtok_r() function returns a pointer to the next token or
+    NULL when no more tokens are found. */
 extern char *strtok_r(char *, const char *, char **);
+
+/** \ingroup avr_string
+    \fn char *strupr(char *s)
+    \brief Convert a string to upper case.
+
+    The strupr() function will convert a string to upper case. Only the lower
+    case alphabetic characters [a .. z] are converted.  Non-alphabetic
+    characters will not be changed.
+
+    \returns The strupr() function returns a pointer to the converted
+    string.  The pointer is the same as that passed in since the operation is
+    perform in place. */
 extern char *strupr(char *);
 
 #ifndef __DOXYGEN__

Modified: trunk/avr-libc/libc/stdlib/atof.S
===================================================================
--- trunk/avr-libc/libc/stdlib/atof.S   2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/stdlib/atof.S   2016-02-08 22:46:42 UTC (rev 2515)
@@ -28,16 +28,6 @@
 
 /* $Id$ */
 
-/** \ingroup avr_stdlib
-    \fn  double atof (const char *nptr)
-
-    The atof() function converts the initial portion of the string pointed
-    to by \a nptr to double representation.
-
-    It is equivalent to calling
-       \code strtod(nptr, (char **)0); \endcode
- */
-
 #ifndef        __DOXYGEN__
 
 #include "macros.inc"

Modified: trunk/avr-libc/libc/string/ffs.S
===================================================================
--- trunk/avr-libc/libc/string/ffs.S    2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/ffs.S    2016-02-08 22:46:42 UTC (rev 2515)
@@ -28,21 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-
-/** \ingroup avr_string
-    \fn int ffs (int val);
-
-    \brief This function finds the first (least significant) bit set in the 
input value.
-
-    \returns The ffs() function returns the position of the first
-    (least significant) bit set in the word val, or 0 if no bits are set.
-    The least significant bit is position 1.
-
-    \note For expressions that are constant at compile time, consider
-    using the \ref _FFS macro instead.
-*/
-
 #ifndef        __DOXYGEN__
 
 #include "macros.inc"

Modified: trunk/avr-libc/libc/string/ffsl.S
===================================================================
--- trunk/avr-libc/libc/string/ffsl.S   2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/ffsl.S   2016-02-08 22:46:42 UTC (rev 2515)
@@ -28,13 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-
-/** \ingroup avr_string
-    \fn int ffsl (long val);
-
-    \brief Same as ffs(), for an argument of type long.        */
-
 #ifndef        __DOXYGEN__
 
 #include "macros.inc"

Modified: trunk/avr-libc/libc/string/ffsll.S
===================================================================
--- trunk/avr-libc/libc/string/ffsll.S  2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/ffsll.S  2016-02-08 22:46:42 UTC (rev 2515)
@@ -30,13 +30,6 @@
 
 #if !defined(__AVR_TINY__)
 
-/** \file */
-
-/** \ingroup avr_string
-    \fn int ffsll (long long val);
-
-    \brief Same as ffs(), for an argument of type long long.   */
-
 #ifndef        __DOXYGEN__
 
 #include "macros.inc"

Modified: trunk/avr-libc/libc/string/memccpy.S
===================================================================
--- trunk/avr-libc/libc/string/memccpy.S        2016-02-08 21:40:01 UTC (rev 
2514)
+++ trunk/avr-libc/libc/string/memccpy.S        2016-02-08 22:46:42 UTC (rev 
2515)
@@ -28,20 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-
-/** \ingroup avr_string
-    \fn void *memccpy(void *dest, const void *src, int val, size_t len)
-    \brief Copy memory area.
-
-    The memccpy() function copies no more than \p len bytes from memory
-    area \p src to memory area \p dest, stopping when the character \p val
-    is found.
-
-    \returns The memccpy() function returns a pointer to the next character
-    in \p dest after \p val, or NULL if \p val was not found in the first
-    \p len characters of \p src.       */
-
 #if !defined(__DOXYGEN__)
 
 #include "asmdef.h"

Modified: trunk/avr-libc/libc/string/memchr.S
===================================================================
--- trunk/avr-libc/libc/string/memchr.S 2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/memchr.S 2016-02-08 22:46:42 UTC (rev 2515)
@@ -28,18 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-/** \ingroup avr_string
-       \fn void *memchr(const void *src, int val, size_t len)
-    \brief Scan memory for a character.
-
-    The memchr() function scans the first len bytes of the memory area pointed
-    to by src for the character val.  The first byte to match val (interpreted
-    as an unsigned character) stops the operation.
-
-    \returns The memchr() function returns a pointer to the matching byte or
-    NULL if the character does not occur in the given memory area.  */
-
 #if !defined(__AVR_TINY__)
 
 #if !defined(__DOXYGEN__)

Modified: trunk/avr-libc/libc/string/memcmp.S
===================================================================
--- trunk/avr-libc/libc/string/memcmp.S 2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/memcmp.S 2016-02-08 22:46:42 UTC (rev 2515)
@@ -25,27 +25,9 @@
   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   POSSIBILITY OF SUCH DAMAGE. */
-  
+
 /* $Id$ */
 
-/** \file */
-/** \ingroup avr_string
-    \fn int memcmp(const void *s1, const void *s2, size_t len)
-    \brief Compare memory areas
-    
-    The memcmp() function compares the first len bytes of the memory areas s1
-    and s2. The comparision is performed using unsigned char operations.
-    
-    \returns The memcmp() function returns an integer less than, equal to, or
-    greater than zero if the first len bytes of s1 is found, respectively, to 
be
-    less than, to match, or be greater than the first len bytes of s2.
-
-    \note Be sure to store the result in a 16 bit variable since you may get
-    incorrect results if you use an unsigned char or char due to truncation.
-
-    \warning This function is not -mint8 compatible, although if you only care
-    about testing for equality, this function should be safe to use. */
-
 #if !defined(__DOXYGEN__)
 
 #include "macros.inc"

Modified: trunk/avr-libc/libc/string/memcpy.S
===================================================================
--- trunk/avr-libc/libc/string/memcpy.S 2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/memcpy.S 2016-02-08 22:46:42 UTC (rev 2515)
@@ -28,17 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-/** \ingroup avr_string
-    \fn void *memcpy(void *dest, const void *src, size_t len)
-    \brief Copy a memory area.
-
-    The memcpy() function copies len bytes from memory area src to memory area
-    dest.  The memory areas may not overlap.  Use memmove() if the memory
-    areas do overlap.
-
-    \returns The memcpy() function returns a pointer to dest.  */
-
 #if !defined(__DOXYGEN__)
 
 #include "macros.inc"

Modified: trunk/avr-libc/libc/string/memmem.S
===================================================================
--- trunk/avr-libc/libc/string/memmem.S 2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/memmem.S 2016-02-08 22:46:42 UTC (rev 2515)
@@ -28,19 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-
-/** \ingroup avr_string
-    \fn void *memmem(const void *s1, size_t len1, const void *s2, size_t len2)
-
-    The memmem() function finds the start of the first occurrence of the
-    substring \p s2 of length \p len2 in the memory area \p s1 of length
-    \p len1.
-
-    \return The memmem() function returns a pointer to the beginning of
-    the substring, or \c NULL if the substring is not found. If \p len2
-    is zero, the function returns \p s1.       */
-
 #if !defined(__AVR_TINY__)
 
 #if !defined(__DOXYGEN__)

Modified: trunk/avr-libc/libc/string/memmove.S
===================================================================
--- trunk/avr-libc/libc/string/memmove.S        2016-02-08 21:40:01 UTC (rev 
2514)
+++ trunk/avr-libc/libc/string/memmove.S        2016-02-08 22:46:42 UTC (rev 
2515)
@@ -28,16 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-/** \ingroup avr_string
-    \fn void *memmove(void *dest, const void *src, size_t len)
-    \brief Copy memory area.
-
-    The memmove() function copies len bytes from memory area src to memory area
-    dest.  The memory areas may overlap.
-
-    \returns The memmove() function returns a pointer to dest.  */
-
 #if !defined(__DOXYGEN__)
 
 #include "macros.inc"

Modified: trunk/avr-libc/libc/string/memrchr.S
===================================================================
--- trunk/avr-libc/libc/string/memrchr.S        2016-02-08 21:40:01 UTC (rev 
2514)
+++ trunk/avr-libc/libc/string/memrchr.S        2016-02-08 22:46:42 UTC (rev 
2515)
@@ -28,18 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-/** \ingroup avr_string
-    \fn void *memrchr(const void *src, int val, size_t len)
-
-    The memrchr() function is like the memchr() function, except that it
-    searches backwards from the end of the \p len bytes pointed to by \p
-    src instead of forwards from the front. (Glibc, GNU extension.)
-
-    \return The memrchr() function returns a pointer to the matching
-    byte or \c NULL if the character does not occur in the given memory
-    area.      */
-
 #if !defined(__AVR_TINY__)
 
 #if !defined(__DOXYGEN__)

Modified: trunk/avr-libc/libc/string/memset.S
===================================================================
--- trunk/avr-libc/libc/string/memset.S 2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/memset.S 2016-02-08 22:46:42 UTC (rev 2515)
@@ -28,16 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-/** \ingroup avr_string
-    \fn void *memset(void *dest, int val, size_t len)
-    \brief Fill memory with a constant byte.
-
-    The memset() function fills the first len bytes of the memory area pointed
-    to by dest with the constant byte val.
-
-    \returns The memset() function returns a pointer to the memory area dest. 
*/
-
 #if !defined(__DOXYGEN__)
 
 #include "macros.inc"

Modified: trunk/avr-libc/libc/string/strcasecmp.S
===================================================================
--- trunk/avr-libc/libc/string/strcasecmp.S     2016-02-08 21:40:01 UTC (rev 
2514)
+++ trunk/avr-libc/libc/string/strcasecmp.S     2016-02-08 22:46:42 UTC (rev 
2515)
@@ -36,22 +36,7 @@
    Contributors:
      Created by Reiner Patommel
 */
-/** \file */
 
-/** \ingroup avr_string
-    \fn int strcasecmp(const char *s1, const char *s2)
-    \brief Compare two strings ignoring case.
-
-    The strcasecmp() function compares the two strings \p s1 and \p s2,
-    ignoring the case of the characters.
-
-    \returns The strcasecmp() function returns an integer less than,
-    equal to, or greater than zero if \p s1 is found, respectively, to
-    be less than, to match, or be greater than \p s2. A consequence of
-    the ordering used by strcasecmp() is that if \p s1 is an initial
-    substring of \p s2, then \p s1 is considered to be "less than"
-    \p s2.     */
-
 #if !defined(__DOXYGEN__)
 
 #include "macros.inc"
@@ -69,7 +54,7 @@
        ASSEMBLY_CLIB_SECTION
        .global _U(strcasecmp)
        .type   _U(strcasecmp), @function
-       
+
 _U(strcasecmp):
        X_movw  ZL, s2_lo
        X_movw  XL, s1_lo

Modified: trunk/avr-libc/libc/string/strcasestr.S
===================================================================
--- trunk/avr-libc/libc/string/strcasestr.S     2016-02-08 21:40:01 UTC (rev 
2514)
+++ trunk/avr-libc/libc/string/strcasestr.S     2016-02-08 22:46:42 UTC (rev 
2515)
@@ -28,20 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-
-/** \ingroup avr_string
-    \fn char *strcasestr(const char *s1, const char *s2)
-
-    The strcasestr() function finds the first occurrence of the
-    substring \p s2 in the string \p s1. This is like strstr(), except
-    that it ignores case of alphabetic symbols in searching for the
-    substring. (Glibc, GNU extension.)
-
-    \return The strcasestr() function returns a pointer to the beginning
-    of the substring, or \c NULL if the substring is not found. If \p s2
-    points to a string of zero length, the function returns \p s1. */
-
 #if !defined(__AVR_TINY__)
 
 #if !defined(__DOXYGEN__)

Modified: trunk/avr-libc/libc/string/strcat.S
===================================================================
--- trunk/avr-libc/libc/string/strcat.S 2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/strcat.S 2016-02-08 22:46:42 UTC (rev 2515)
@@ -28,19 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-/** \ingroup avr_string
-    \fn char *strcat(char *dest, const char *src)
-    \brief Concatenate two strings.
-
-    The strcat() function appends the src string to the dest string
-    overwriting the '\\0' character at the end of dest, and then adds a
-    terminating '\\0' character.  The strings may not overlap, and the dest
-    string must have enough space for the result.
-
-    \returns The strcat() function returns a pointer to the resulting string
-    dest.  */
-
 #if !defined(__AVR_TINY__)
 
 #if !defined(__DOXYGEN__)

Modified: trunk/avr-libc/libc/string/strchr.S
===================================================================
--- trunk/avr-libc/libc/string/strchr.S 2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/strchr.S 2016-02-08 22:46:42 UTC (rev 2515)
@@ -28,21 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-
-/** \ingroup avr_string
-    \fn char *strchr(const char *src, int val)
-    \brief Locate character in string.
-
-    The strchr() function returns a pointer to the first occurrence of
-    the character \p val in the string \p src.
-
-    Here "character" means "byte" - these functions do not work with
-    wide or multi-byte characters.
-
-    \returns The strchr() function returns a pointer to the matched
-    character or \c NULL if the character is not found. */
-
 #if !defined(__AVR_TINY__)
 
 #if !defined(__DOXYGEN__)

Modified: trunk/avr-libc/libc/string/strchrnul.S
===================================================================
--- trunk/avr-libc/libc/string/strchrnul.S      2016-02-08 21:40:01 UTC (rev 
2514)
+++ trunk/avr-libc/libc/string/strchrnul.S      2016-02-08 22:46:42 UTC (rev 
2515)
@@ -28,18 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-/** \ingroup avr_string
-    \fn char *strchrnul(const char *s, int c)
-
-    The strchrnul() function is like strchr() except that if \p c is not
-    found in \p s, then it returns a pointer to the null byte at the end
-    of \p s, rather than \c NULL. (Glibc, GNU extension.)
-
-    \return The strchrnul() function returns a pointer to the matched
-    character, or a pointer to the null byte at the end of \p s (i.e.,
-    \c s+strlen(s)) if the character is not found.     */
-
 #if !defined(__AVR_TINY__)
 
 #if !defined(__DOXYGEN__)

Modified: trunk/avr-libc/libc/string/strcmp.S
===================================================================
--- trunk/avr-libc/libc/string/strcmp.S 2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/strcmp.S 2016-02-08 22:46:42 UTC (rev 2515)
@@ -28,20 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-
-/** \ingroup avr_string
-    \fn int strcmp(const char *s1, const char *s2)
-    \brief Compare two strings.
-
-    The strcmp() function compares the two strings \p s1 and \p s2.
-
-    \returns The strcmp() function returns an integer less than, equal
-    to, or greater than zero if \p s1 is found, respectively, to be less
-    than, to match, or be greater than \p s2. A consequence of the
-    ordering used by strcmp() is that if \p s1 is an initial substring
-    of \p s2, then \p s1 is considered to be "less than" \p s2.        */
-
 #if !defined(__DOXYGEN__)
 
 #include "macros.inc"

Modified: trunk/avr-libc/libc/string/strcpy.S
===================================================================
--- trunk/avr-libc/libc/string/strcpy.S 2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/strcpy.S 2016-02-08 22:46:42 UTC (rev 2515)
@@ -28,24 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-/** \ingroup avr_string
-    \fn char *strcpy(char *dest, const char *src)
-    \brief Copy a string.
-
-    The strcpy() function copies the string pointed to by src (including the
-    terminating '\\0' character) to the array pointed to by dest.  The strings
-    may not overlap, and the destination string dest must be large enough to
-    receive the copy.
-
-    \returns The strcpy() function returns a pointer to the destination
-    string dest. 
-
-    \note If the destination string of a strcpy() is not large enough (that
-    is, if the programmer was stupid/lazy, and failed to check the size before
-    copying) then anything might happen.  Overflowing fixed length strings is
-    a favourite cracker technique. */
-
 #if !defined(__DOXYGEN__)
 
 #include "macros.inc"

Modified: trunk/avr-libc/libc/string/strcspn.S
===================================================================
--- trunk/avr-libc/libc/string/strcspn.S        2016-02-08 21:40:01 UTC (rev 
2514)
+++ trunk/avr-libc/libc/string/strcspn.S        2016-02-08 22:46:42 UTC (rev 
2515)
@@ -28,17 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-/** \ingroup avr_string
-    \fn size_t strcspn(const char *s, const char *reject)
-    
-    The strcspn() function calculates the length of the initial segment
-    of \p s which consists entirely of characters not in \p reject.
-
-    \return The strcspn() function returns the number of characters in
-    the initial segment of \p s which are not in the string \p reject.
-    The terminating zero is not considered as a part of string.        */
-
 #if !defined(__AVR_TINY__)
 
 #ifndef        __DOXYGEN__

Modified: trunk/avr-libc/libc/string/strdup.c
===================================================================
--- trunk/avr-libc/libc/string/strdup.c 2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/strdup.c 2016-02-08 22:46:42 UTC (rev 2515)
@@ -32,26 +32,6 @@
 #include <string.h>
 #include "sectionname.h"
 
-/** \file */
-/** \ingroup avr_string
-    \fn char *strdup(const char *s1)
-    \brief Duplicate a string.
-
-    The strdup() function allocates memory and copies into it the string
-    addressed by s1, including the terminating null character.
-
-    \warning The strdup() function calls malloc() to allocate the memory
-    for the duplicated string! The user is responsible for freeing the
-    memory by calling free(). 
-    
-    \returns The strdup() function returns a pointer to the resulting string
-    dest. If malloc() cannot allocate enough storage for the string, strdup() 
-    will return NULL.
-
-    \warning Be sure to check the return value of the strdup() function to
-    make sure that the function has succeeded in allocating the memory!
-*/
-
 ATTRIBUTE_CLIB_SECTION
 char *
 strdup(const char *s1)

Modified: trunk/avr-libc/libc/string/strlcat.S
===================================================================
--- trunk/avr-libc/libc/string/strlcat.S        2016-02-08 21:40:01 UTC (rev 
2514)
+++ trunk/avr-libc/libc/string/strlcat.S        2016-02-08 22:46:42 UTC (rev 
2515)
@@ -35,20 +35,6 @@
 
 /* $Id$ */
 
-/** \file */
-
-/** \ingroup avr_string
-    \fn size_t strlcat (char *dst, const char *src, size_t siz)
-    \brief Concatenate two strings.
-
-    Appends \p src to string \p dst of size \p siz (unlike strncat(),
-    \p siz is the full size of \p dst, not space left).  At most \p siz-1
-    characters will be copied.  Always NULL terminates (unless \p siz <=
-    \p strlen(dst)).
-
-    \returns The strlcat() function returns strlen(src) + MIN(siz,
-    strlen(initial dst)).  If retval >= siz, truncation occurred.  */
-
 #if !defined(__AVR_TINY__)
 
 #if !defined(__DOXYGEN__)

Modified: trunk/avr-libc/libc/string/strlcpy.S
===================================================================
--- trunk/avr-libc/libc/string/strlcpy.S        2016-02-08 21:40:01 UTC (rev 
2514)
+++ trunk/avr-libc/libc/string/strlcpy.S        2016-02-08 22:46:42 UTC (rev 
2515)
@@ -35,19 +35,6 @@
 
 /* $Id$ */
 
-/** \file */
-
-/** \ingroup avr_string
-    \fn size_t strlcpy (char *dst, const char *src, size_t siz)
-    \brief Copy a string.
-
-    Copy \p src to string \p dst of size \p siz.  At most \p siz-1
-    characters will be copied.  Always NULL terminates (unless \p siz == 0).
-
-    \returns The strlcpy() function returns strlen(src). If retval >= siz,
-    truncation occurred.  */
-
-
 #if !defined(__AVR_TINY__)
 
 #if !defined(__DOXYGEN__)

Modified: trunk/avr-libc/libc/string/strlen.S
===================================================================
--- trunk/avr-libc/libc/string/strlen.S 2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/strlen.S 2016-02-08 22:46:42 UTC (rev 2515)
@@ -28,17 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-/** \ingroup avr_string
-    \fn size_t strlen(const char *src)
-    \brief Calculate the length of a string.
-
-    The strlen() function calculates the length of the string src, not
-    including the terminating '\\0' character.
-
-    \returns The strlen() function returns the number of characters in
-    src.  */
-
 #if !defined(__DOXYGEN__)
 
 #include "macros.inc"

Modified: trunk/avr-libc/libc/string/strlwr.S
===================================================================
--- trunk/avr-libc/libc/string/strlwr.S 2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/strlwr.S 2016-02-08 22:46:42 UTC (rev 2515)
@@ -37,19 +37,6 @@
      Created by Reiner Patommel
 */
 
-/** \file */
-
-/** \ingroup avr_string
-    \fn char *strlwr(char *s)
-    \brief Convert a string to lower case.
-
-    The strlwr() function will convert a string to lower case. Only the upper
-    case alphabetic characters [A .. Z] are converted.  Non-alphabetic
-    characters will not be changed.
-
-    \returns The strlwr() function returns a pointer to the converted
-    string. */
-
 #if !defined(__DOXYGEN__)
 
 #include "macros.inc"

Modified: trunk/avr-libc/libc/string/strncasecmp.S
===================================================================
--- trunk/avr-libc/libc/string/strncasecmp.S    2016-02-08 21:40:01 UTC (rev 
2514)
+++ trunk/avr-libc/libc/string/strncasecmp.S    2016-02-08 22:46:42 UTC (rev 
2515)
@@ -36,22 +36,7 @@
    Contributors:
      Created by Reiner Patommel
 */
-/** \file */
 
-/** \ingroup avr_string
-    \fn int strncasecmp(const char *s1, const char *s2, size_t len)
-    \brief Compare two strings ignoring case.
-
-    The strncasecmp() function is similar to strcasecmp(), except it
-    only compares the first \p len characters of \p s1.
-
-    \returns The strncasecmp() function returns an integer less than,
-    equal to, or greater than zero if \p s1 (or the first \p len bytes
-    thereof) is found, respectively, to be less than, to match, or be
-    greater than \p s2. A consequence of the ordering used by
-    strncasecmp() is that if \p s1 is an initial substring of \p s2,
-    then \p s1 is considered to be "less than" \p s2.  */
-
 #if !defined(__DOXYGEN__)
 
 #include "macros.inc"
@@ -70,7 +55,7 @@
        ASSEMBLY_CLIB_SECTION
        .global _U(strncasecmp)
        .type   _U(strncasecmp), @function
-       
+
 _U(strncasecmp):
        X_movw  ZL, s2_lo
        X_movw  XL, s1_lo

Modified: trunk/avr-libc/libc/string/strncat.S
===================================================================
--- trunk/avr-libc/libc/string/strncat.S        2016-02-08 21:40:01 UTC (rev 
2514)
+++ trunk/avr-libc/libc/string/strncat.S        2016-02-08 22:46:42 UTC (rev 
2515)
@@ -28,17 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-/** \ingroup avr_string
-    \fn char *strncat(char *dest, const char *src, size_t len)
-    \brief Concatenate two strings.
-
-    The strncat() function is similar to strcat(), except that only the first
-    n characters of src are appended to dest.
-
-    \returns The strncat() function returns a pointer to the resulting string
-    dest.  */
-
 #if !defined(__AVR_TINY__)
 
 #if !defined(__DOXYGEN__)

Modified: trunk/avr-libc/libc/string/strncmp.S
===================================================================
--- trunk/avr-libc/libc/string/strncmp.S        2016-02-08 21:40:01 UTC (rev 
2514)
+++ trunk/avr-libc/libc/string/strncmp.S        2016-02-08 22:46:42 UTC (rev 
2515)
@@ -28,18 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-/** \ingroup avr_string
-    \fn int strncmp(const char *s1, const char *s2, size_t len)
-    \brief Compare two strings.
-
-    The strncmp() function is similar to strcmp(), except it only compares the
-    first (at most) n characters of s1 and s2.
-
-    \returns The strncmp() function returns an integer less than, equal to, or
-    greater than zero if s1 (or the first n bytes thereof) is found,
-    respectively, to be less than, to match, or be greater than s2.  */
-
 #if !defined(__DOXYGEN__)
 
 #include "macros.inc"

Modified: trunk/avr-libc/libc/string/strncpy.S
===================================================================
--- trunk/avr-libc/libc/string/strncpy.S        2016-02-08 21:40:01 UTC (rev 
2514)
+++ trunk/avr-libc/libc/string/strncpy.S        2016-02-08 22:46:42 UTC (rev 
2515)
@@ -28,21 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-/** \ingroup avr_string
-    \fn char *strncpy(char *dest, const char *src, size_t len)
-    \brief Copy a string.
-
-    The strncpy() function is similar to strcpy(), except that not more than n
-    bytes of src are copied. Thus, if there is no null byte among the first n
-    bytes of src, the result will not be null-terminated.
-
-    In the case where the length of src is less than that of n, the remainder
-    of dest will be padded with nulls.
-
-    \returns The strncpy() function returns a pointer to the destination
-    string dest.  */
-
 #if !defined(__DOXYGEN__)
 
 #include "macros.inc"

Modified: trunk/avr-libc/libc/string/strnlen.S
===================================================================
--- trunk/avr-libc/libc/string/strnlen.S        2016-02-08 21:40:01 UTC (rev 
2514)
+++ trunk/avr-libc/libc/string/strnlen.S        2016-02-08 22:46:42 UTC (rev 
2515)
@@ -28,20 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-/** \ingroup avr_string
-    \fn size_t strnlen(const char *src, size_t len)
-    \brief Determine the length of a fixed-size string.
-
-    The strnlen function returns the number of characters in the string
-    pointed to by src, not including the terminating '\\0' character, but at
-    most len. In doing this, strnlen looks only at the first len characters at
-    src and never beyond src+len.
-
-    \returns The strnlen function returns strlen(src), if that is less than
-    len, or len if there is no '\\0' character among the first len
-    characters pointed to by src. */
-
 #if !defined(__DOXYGEN__)
 
 #include "macros.inc"

Modified: trunk/avr-libc/libc/string/strpbrk.S
===================================================================
--- trunk/avr-libc/libc/string/strpbrk.S        2016-02-08 21:40:01 UTC (rev 
2514)
+++ trunk/avr-libc/libc/string/strpbrk.S        2016-02-08 22:46:42 UTC (rev 
2515)
@@ -28,19 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-/** \ingroup avr_string
-    \fn char *strpbrk(const char *s, const char *accept)
-    
-    The strpbrk() function locates the first occurrence in the string
-    \p s of any of the characters in the string \p accept.
-
-    \return  The strpbrk() function returns a pointer to the character
-    in \p s that matches one of the characters in \p accept, or \c NULL
-    if no such character is found. The terminating zero is not
-    considered as a part of string: if one or both args are empty, the
-    result will \c NULL.       */
-
 #if !defined(__AVR_TINY__)
 
 #ifndef        __DOXYGEN__

Modified: trunk/avr-libc/libc/string/strrchr.S
===================================================================
--- trunk/avr-libc/libc/string/strrchr.S        2016-02-08 21:40:01 UTC (rev 
2514)
+++ trunk/avr-libc/libc/string/strrchr.S        2016-02-08 22:46:42 UTC (rev 
2515)
@@ -28,20 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-/** \ingroup avr_string
-    \fn char *strrchr(const char *src, int val)
-    \brief Locate character in string.
-
-    The strrchr() function returns a pointer to the last occurrence of the
-    character val in the string src.
-
-    Here "character" means "byte" - these functions do not work with wide or
-    multi-byte characters.
-
-    \returns The strrchr() function returns a pointer to the matched character
-    or NULL if the character is not found. */
-
 #if !defined(__AVR_TINY__)
 
 #if !defined(__DOXYGEN__)

Modified: trunk/avr-libc/libc/string/strrev.S
===================================================================
--- trunk/avr-libc/libc/string/strrev.S 2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/strrev.S 2016-02-08 22:46:42 UTC (rev 2515)
@@ -36,17 +36,7 @@
    Contributors:
      Created by Reiner Patommel
 */
-/** \file */
 
-/** \ingroup avr_string
-    \fn char *strrev(char *s)
-    \brief Reverse a string.
-
-    The strrev() function reverses the order of the string.
-
-    \returns The strrev() function returns a pointer to the beginning of the
-    reversed string.  */
-
 #if !defined(__AVR_TINY__)
 
 #if !defined(__DOXYGEN__)

Modified: trunk/avr-libc/libc/string/strsep.S
===================================================================
--- trunk/avr-libc/libc/string/strsep.S 2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/strsep.S 2016-02-08 22:46:42 UTC (rev 2515)
@@ -29,25 +29,6 @@
 
 /* $Id$ */
 
-/** \file */
-
-/** \ingroup avr_string
-    \fn char *strsep(char **sp, const char *delim)
-    \brief Parse a string into tokens.
-
-    The strsep() function locates, in the string referenced by \p *sp,
-    the first occurrence of any character in the string \p delim (or the
-    terminating '\\0' character) and replaces it with a '\\0'.  The
-    location of the next character after the delimiter character (or \c
-    NULL, if the end of the string was reached) is stored in \p *sp. An
-    ``empty'' field, i.e. one caused by two adjacent delimiter
-    characters, can be detected by comparing the location referenced by
-    the pointer returned in \p *sp to '\\0'.
-
-    \return The strsep() function returns a pointer to the original
-    value of \p *sp. If \p *sp is initially \c NULL, strsep() returns
-    \c NULL.   */
-     
 #if !defined(__AVR_TINY__)
 
 #if !defined(__DOXYGEN__)

Modified: trunk/avr-libc/libc/string/strspn.S
===================================================================
--- trunk/avr-libc/libc/string/strspn.S 2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/strspn.S 2016-02-08 22:46:42 UTC (rev 2515)
@@ -28,17 +28,6 @@
 
 /* $Id$ */
 
-/** \file */
-/** \ingroup avr_string
-    \fn size_t strspn(const char *s, const char *accept)
-
-    The strspn() function calculates the length of the initial segment
-    of \p s which consists entirely of characters in \p accept.
-                
-    \return  The strspn() function returns the number of characters in
-    the initial segment of \p s which consist only of characters from \p
-    accept. The terminating zero is not considered as a part of string.        
*/
-
 #if !defined(__AVR_TINY__)
 
 #ifndef        __DOXYGEN__

Modified: trunk/avr-libc/libc/string/strstr.S
===================================================================
--- trunk/avr-libc/libc/string/strstr.S 2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/strstr.S 2016-02-08 22:46:42 UTC (rev 2515)
@@ -37,20 +37,6 @@
      Philip Soeberg <address@hidden>
 */
 
-/** \file */
-
-/** \ingroup avr_string
-    \fn char *strstr(const char *s1, const char *s2)
-    \brief Locate a substring.
-
-    The strstr() function finds the first occurrence of the substring \p
-    s2 in the string \p s1.  The terminating '\\0' characters are not
-    compared.
-
-    \returns The strstr() function returns a pointer to the beginning of
-    the substring, or \c NULL if the substring is not found. If \p s2
-    points to a string of zero length, the function returns \p s1. */
-
 #if !defined(__AVR_TINY__)
 
 #if !defined(__DOXYGEN__)

Modified: trunk/avr-libc/libc/string/strtok.c
===================================================================
--- trunk/avr-libc/libc/string/strtok.c 2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/strtok.c 2016-02-08 22:46:42 UTC (rev 2515)
@@ -28,25 +28,7 @@
 
 /* $Id$ */
 
-/** \file */
-/** \ingroup avr_string
-    \fn char *strtok(char *s, const char *delim)
-    \brief Parses the string s into tokens.
 
-    strtok parses the string s into tokens. The first call to strtok
-    should have s as its first argument. Subsequent calls should have
-    the first argument set to NULL. If a token ends with a delimiter, this
-    delimiting character is overwritten with a '\\0' and a pointer to the next
-    character is saved for the next call to strtok. The delimiter string
-    delim may be different for each call.
-    
-    \returns The strtok() function returns a pointer to the next token or
-    NULL when no more tokens are found. 
-    
-    \note strtok() is NOT reentrant. For a reentrant version of this function
-    see \c strtok_r().
-*/
-
 #include <string.h>
 #include "sectionname.h"
 
@@ -59,4 +41,4 @@
 strtok(char *s, const char *delim)
 {
     return strtok_r(s, delim, &p);
-} 
+}

Modified: trunk/avr-libc/libc/string/strtok_r.S
===================================================================
--- trunk/avr-libc/libc/string/strtok_r.S       2016-02-08 21:40:01 UTC (rev 
2514)
+++ trunk/avr-libc/libc/string/strtok_r.S       2016-02-08 22:46:42 UTC (rev 
2515)
@@ -30,24 +30,6 @@
 
 /* $Id$ */
 
-/** \file */
-
-/** \ingroup avr_string
-    \fn char *strtok_r(char *string, const char *delim, char **last)
-    \brief Parses string into tokens.
-
-    strtok_r parses string into tokens. The first call to strtok_r
-    should have string as its first argument. Subsequent calls should have
-    the first argument set to NULL. If a token ends with a delimiter, this
-    delimiting character is overwritten with a '\\0' and a pointer to the next
-    character is saved for the next call to strtok_r. The delimiter string
-    \p delim may be different for each call. \p last is a user allocated char*
-    pointer. It must be the same while parsing the same string. strtok_r is
-    a reentrant version of strtok().
-
-    \returns The strtok_r() function returns a pointer to the next token or
-    NULL when no more tokens are found. */
-
 #if !defined(__AVR_TINY__)
 
 #if !defined(__DOXYGEN__)

Modified: trunk/avr-libc/libc/string/strupr.S
===================================================================
--- trunk/avr-libc/libc/string/strupr.S 2016-02-08 21:40:01 UTC (rev 2514)
+++ trunk/avr-libc/libc/string/strupr.S 2016-02-08 22:46:42 UTC (rev 2515)
@@ -37,20 +37,6 @@
      Created by Reiner Patommel
 */
 
-/** \file */
-
-/** \ingroup avr_string
-    \fn char *strupr(char *s)
-    \brief Convert a string to upper case.
-
-    The strupr() function will convert a string to upper case. Only the lower
-    case alphabetic characters [a .. z] are converted.  Non-alphabetic
-    characters will not be changed.
-
-    \returns The strupr() function returns a pointer to the converted
-    string.  The pointer is the same as that passed in since the operation is
-    perform in place. */
-
 #if !defined(__DOXYGEN__)
 
 #include "macros.inc"




reply via email to

[Prev in Thread] Current Thread [Next in Thread]