aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/info/chap/error-reporting.texinfo56
-rw-r--r--doc/info/chap/language-facilities.texinfo21
-rw-r--r--doc/info/chap/memory-allocation.texinfo7
-rw-r--r--include/alloca.h2
-rw-r--r--include/assert.h6
-rw-r--r--include/ctype.h74
-rw-r--r--include/err.h16
-rw-r--r--src/ctype.c40
-rw-r--r--src/err/err.c2
-rw-r--r--src/err/errx.c2
-rw-r--r--src/err/verr.c2
-rw-r--r--src/err/verrx.c2
-rw-r--r--src/err/vwarn.c2
-rw-r--r--src/err/vwarnx.c2
-rw-r--r--src/err/warn.c2
-rw-r--r--src/err/warnx.c2
16 files changed, 233 insertions, 5 deletions
diff --git a/doc/info/chap/error-reporting.texinfo b/doc/info/chap/error-reporting.texinfo
index 2a438e0..7059630 100644
--- a/doc/info/chap/error-reporting.texinfo
+++ b/doc/info/chap/error-reporting.texinfo
@@ -335,6 +335,13 @@ the @command{slibc}'s implementation will
print the full process name, or more precisely,
it prints @code{program_invocation_name}.
+@ifnottex
+Etymology: Print (warn)ing!
+@end ifnottex
+@iftex
+Etymology: Print @b{warn}ing!
+@end iftex
+
@item void vwarn(const char* format, va_list args)
@fnindex vwarn
@hfindex err.h
@@ -345,6 +352,13 @@ the header file @file{<err.h>}. It is identical
to @code{warn} except it uses @code{va_list}
instead of being a variadic function.
+@ifnottex
+Etymology: (V)ariadic version of (`warn`).
+@end ifnottex
+@iftex
+Etymology: @b{V}ariadic version of @b{warn}.
+@end iftex
+
@item void warnx(const char* format, ...)
@fnindex warnx
@hfindex err.h
@@ -355,6 +369,13 @@ the header file @file{<err.h>}. It is identical
to @code{warn} except it does not print a
description of the value of @code{errno}.
+@ifnottex
+Etymology: (`warn`), [x=](lesser variant).
+@end ifnottex
+@iftex
+Etymology: @b{warn}, [x=]@b{lesser variant}.
+@end iftex
+
@item void vwarnx(const char* format, va_list args)
@fnindex vwarnx
@hfindex err.h
@@ -365,6 +386,13 @@ the header file @file{<err.h>}. It is identical
to @code{warnx} except it uses @code{va_list}
instead of being a variadic function.
+@ifnottex
+Etymology: (V)ariadic version of (`warnx`).
+@end ifnottex
+@iftex
+Etymology: @b{V}ariadic version of @b{warnx}.
+@end iftex
+
@item noreturn void err(int status, const char* format, ...)
@fnindex err
@hfindex err.h
@@ -375,6 +403,13 @@ the header file @file{<err.h>}. It is identical
to @code{warn} except will return with the
exit value @code{status & 255}.
+@ifnottex
+Etymology: Report (err)or!
+@end ifnottex
+@iftex
+Etymology: Report @b{err}or!
+@end iftex
+
@item noreturn void verr(int status, const char* format, va_list args)
@fnindex verr
@hfindex err.h
@@ -385,6 +420,13 @@ the header file @file{<err.h>}. It is identical
to @code{err} except it uses @code{va_list}
instead of being a variadic function.
+@ifnottex
+Etymology: (V)ariadic version of (`err`).
+@end ifnottex
+@iftex
+Etymology: @b{V}ariadic version of @b{err}.
+@end iftex
+
@item noreturn void errx(int status, const char* format, ...)
@fnindex errx
@hfindex err.h
@@ -395,6 +437,13 @@ the header file @file{<err.h>}. It is identical
to @code{err} except it does not print a
description of the value of @code{errno}.
+@ifnottex
+Etymology: (`err`), [x=](lesser variant).
+@end ifnottex
+@iftex
+Etymology: @b{err}, [x=]@b{lesser variant}.
+@end iftex
+
@item noreturn void verrx(int status, const char* format, va_list args)
@fnindex verrx
@hfindex err.h
@@ -405,6 +454,13 @@ the header file @file{<err.h>}. It is identical
to @code{errx} except it uses @code{va_list}
instead of being a variadic function.
+@ifnottex
+Etymology: (V)ariadic version of (`errx`).
+@end ifnottex
+@iftex
+Etymology: @b{V}ariadic version of @b{errx}.
+@end iftex
+
@item void error(int status, int errnum, const char* format, ...)
@fnindex error
@hfindex error.h
diff --git a/doc/info/chap/language-facilities.texinfo b/doc/info/chap/language-facilities.texinfo
index 19cfec0..fe27446 100644
--- a/doc/info/chap/language-facilities.texinfo
+++ b/doc/info/chap/language-facilities.texinfo
@@ -356,6 +356,13 @@ The expression must not have said effects.
must not be evaluated if @code{NDEBUG} is
defined. If @code{NDEBUG} is defined,
@code{assert} has no effect, but is defined.
+
+@ifnottex
+Etymology: (Assertion).
+@end ifnottex
+@iftex
+Etymology: @b{Assert}ion.
+@end iftex
@end table
If @command{slibc} extensions or GNU extensions
@@ -369,6 +376,13 @@ This macro is identical to @code{assert}, except
the argument should be an error code, and a
description of it is printed before the process
exits. (Nothing happens if @code{errnum} is zero.)
+
+@ifnottex
+Etymology: (@code{assert}) version of (@code{perror}).
+@end ifnottex
+@iftex
+Etymology: @b{assert} version of @b{perror}.
+@end iftex
@end table
@fnindex static_assert
@@ -382,6 +396,13 @@ is included. @code{static_assert} is similar to
the message to print if the assertion failed,
and the assertion is evaluated at compile-time.
+@ifnottex
+Etymology: (Static) (assert)ion.
+@end ifnottex
+@iftex
+Etymology: @b{Static} @b{assert}ion.
+@end iftex
+
Assertions should only be used to make sure that
impossible conditions are not reached.
diff --git a/doc/info/chap/memory-allocation.texinfo b/doc/info/chap/memory-allocation.texinfo
index 20136b0..1b7c778 100644
--- a/doc/info/chap/memory-allocation.texinfo
+++ b/doc/info/chap/memory-allocation.texinfo
@@ -233,6 +233,13 @@ void function(size_t n)
Both of these allocation-methods are both automatic
and dynamic.
+@ifnottex
+Etymology: (Alloca)te!
+@end ifnottex
+@iftex
+Etymology: @b{Alloca}te!
+@end iftex
+
@cpindex Memory exhaustion
Memory allocation functions return @code{NULL} if
the process cannot allocate more memory. However,
diff --git a/include/alloca.h b/include/alloca.h
index 010bb99..a800cf0 100644
--- a/include/alloca.h
+++ b/include/alloca.h
@@ -37,6 +37,8 @@
* Undefined behaviour is invoked if the memory
* cannot be allocated.
*
+ * @etymology (Alloca)te!
+ *
* @param size The number of bytes to allocate.
* @return Pointer to the beginning of the allocated
* space. Do not free it, it will be freed
diff --git a/include/assert.h b/include/assert.h
index 12b20eb..4523860 100644
--- a/include/assert.h
+++ b/include/assert.h
@@ -35,6 +35,8 @@
* POSIX specifies that `assert` shall not evaluate the
* expression if `NDEBUG` is defined. This is probably
* to save CPU-cycles.
+ *
+ * @etymology (Assert)ion.
*/
#ifdef NDEBUG
# define assert(expression) ((void)0)
@@ -54,6 +56,8 @@
*
* `assert_perror` is a GNU-compliant slibc extension.
*
+ * @etymology (`assert`) version of (`perror`).
+ *
* @param errnum:int The error code, describing the error that occurred.
*/
# ifdef assert_perror
@@ -84,6 +88,8 @@
* A compile-time error should occur if the expression
* evaluates to zero.
*
+ * @etymology (Static) (assert)tion.
+ *
* @param expression:scalar The expression to evaluate.
* @param message:const char* The message to print on error.
*/
diff --git a/include/ctype.h b/include/ctype.h
index 82f13af..9b6508c 100644
--- a/include/ctype.h
+++ b/include/ctype.h
@@ -36,6 +36,8 @@
* Check whether a character is an alphabetical
* character or a decimal digit.
*
+ * @etymology (Is) character either (al)phabetical or (num)erical [(al)pha(num)erical]?
+ *
* @param c The character.
* @return Whether the character is in
* ['0', '9'], ['A', 'Z'], or ['a', 'z'].
@@ -51,6 +53,8 @@ int (isalnum)(int) /* [0x30, 0x39], [0x41, 0x5A], [0x61, 0x7A] */
/**
* Check whether a character is an alphabetical character.
*
+ * @etymology (Is) character (alpha)betical?
+ *
* @param c The character.
* @return Whether the character is in
* ['A', 'Z'] or ['a', 'z'].
@@ -67,6 +71,8 @@ int (isalpha)(int) /* [0x41, 0x5A], [0x61, 0x7A] */
*
* This is a GNU extension.
*
+ * @etymology (Is) character a (blank) space?
+ *
* @param c The character.
* @return Whether the character is a ' ' or a '\t'.
*/
@@ -83,6 +89,8 @@ int (isblank)(int) /* ' ', '\t' */
* Check whether a character is a non-printable
* ASCII character.
*
+ * @etymology (Is) character a (c)o(ntr)o(l) character?
+ *
* @param c The character.
* @return Whether the character is lower than ' ',
* or is 0x7F.
@@ -98,6 +106,8 @@ int (iscntrl)(int) /* [0x00, 0x1F], 0x7F */
/**
* Check whether a character is a decimal digit.
*
+ * @etymology (Is) character a (digit)?
+ *
* @param c The character.
* @return Whether the character is in ['0', '9'].
*/
@@ -109,6 +119,8 @@ int (isdigit)(int) /* [0x30, 0x39] */
/**
* Check whether a character is has a printable glyph.
*
+ * @etymology (Is) character (graph)ical?
+ *
* @param c The character.
* @return Whether the character is greater
* than ' ', but is not 0x7F.
@@ -122,6 +134,8 @@ int (isgraph)(int) /* [0x21, 0x7E] */
* Check whether a character is a lowercase
* alphabetical character.
*
+ * @etymology (Is) character a (lower)case character?
+ *
* @param c The character.
* @return Whether the character is in ['a', 'z'].
*/
@@ -134,6 +148,8 @@ int (islower)(int) /* [0x61, 0x7A] */
* Check whether a character is has a printable glyph
* or a blank space.
*
+ * @etymology (Is) character (print)able?
+ *
* @param c The character.
* @return Whether the character is at least
* as great as ' ', but is not 0x7F.
@@ -148,6 +164,8 @@ int (isprint)(int) /* [0x20, 0x7E] */
* that is, a printable character but a blank space,
* numerical or alphabetical.
*
+ * @etymology (Is) character a (punct)uation?
+ *
* @param c The character.
* @return Whether the character is a punctuation.
*/
@@ -162,6 +180,8 @@ int (ispunct)(int) /* isprint && !isalnum && !isspace */
/**
* Check whether a character is a whitespace character.
*
+ * @etymology (Is) character white(space)?
+ *
* @param c The character.
* @return Whether the character is a ' ', '\f',
* '\n', '\r', '\t', or '\v'.
@@ -178,6 +198,8 @@ int (isspace)(int) /* 0x20, [0x09, 0x0D] */
* Check whether a character is an uppercase
* alphabetical character.
*
+ * @etymology (Is) character a (upper)case character?
+ *
* @param c The character.
* @return Whether the character is in ['A', 'Z'].
*/
@@ -191,6 +213,8 @@ int (isupper)(int) /* [0x41, 0x5A] */
* hexadecimal digit. Both uppercase and
* lowercase is supported.
*
+ * @etymology (Is) character a he(x)adecimal digit?
+ *
* @param c The character.
* @return Whether the character is in
* ['0', '9'], ['A', 'Z'], or ['a', 'z'].
@@ -208,11 +232,13 @@ int (isxdigit)(int) /* [0x30, 0x39], [0x41, 0x46], [0x61, 0x66] */
* Convert a uppercase ASCII character to
* an lowercase ASCII character.
*
- * The function's behaviour is unspecifed
+ * The function's behaviour is unspecified
* of the character is not alphabetical.
* You should consider running
* `(isupper(c) ? tolower(c) : c)` instead.
*
+ * @etymology Convert character (to) (lower)case!
+ *
* @param c The character.
* @return The character in lowercase.
* Guaranteed to be unchanged if the
@@ -226,11 +252,13 @@ int (tolower)(int) /* [0x41, 0x5A] -> [0x61, 0x7A] */
* Convert a lowercase ASCII character to
* an uppercase ASCII character.
*
- * The function's behaviour is unspecifed
+ * The function's behaviour is unspecified
* of the character is not alphabetical.
* You should consider running
* `(isupper(c) ? tolower(c) : c)` instead.
*
+ * @etymology Convert character (to) (upper)case!
+ *
* @param c The character.
* @return The character in uppercase.
* Guaranteed to be unchanged if the
@@ -245,6 +273,8 @@ int (toupper)(int) /* [0x61, 0x7A] -> [0x41, 0x5A] */
/**
* Check whether a character is an ASCII character.
*
+ * @etymology (Is) character an (ASCII) character?
+ *
* @param c The character
* @return Whether the character is an ASCII character.
*/
@@ -258,6 +288,12 @@ int (isascii)(int) /* [0x00, 0x7E] */
* Note that this does not make a proper character set
* convertion and the result is virtually arbitrary.
*
+ * Justification for existence:
+ * The highest bit has historically been used as a
+ * parity bit.
+ *
+ * @etymology Truncate character (to) fit (ASCII) character set!
+ *
* @param c The character.
* @return The character with the 8:th bit cleared.
*/
@@ -290,6 +326,8 @@ int _toupper(int)
* Check whether a character is an alphabetical
* character or a decimal digit.
*
+ * @etymology (Is) character (alpha)betical, with consideration for (l)ocale?
+ *
* @param c The character.
* @param locale The locale.
* @return Whether the character is
@@ -302,6 +340,8 @@ int isalnum_l(int, locale_t)
/**
* Check whether a character is an alphabetical character.
*
+ * @etymology (Is) character (alpha)betical, with consideration for (l)ocale?
+ *
* @param c The character.
* @param locale The locale.
* @return Whether the character is alphabetical.
@@ -317,6 +357,8 @@ int isalpha_l(int, locale_t)
*
* This is a GNU extension.
*
+ * @etymology (Is) character a (blank) space, with consideration for (l)ocale?
+ *
* @param c The character.
* @param locale The locale.
* @return Whether the character is a ' ' or a '\t'.
@@ -330,6 +372,8 @@ int isblank_l(int, locale_t)
* Check whether a character is a non-printable
* ASCII character.
*
+ * @etymology (Is) character a (c)o(ntr)o(l) character, with consideration for (l)ocale?
+ *
* @param c The character.
* @param locale The locale.
* @return Whether the character is non-printable.
@@ -341,6 +385,8 @@ int iscntrl_l(int, locale_t)
/**
* Check whether a character is a decimal digit.
*
+ * @etymology (Is) character a (digit), with consideration for (l)ocale?
+ *
* @param c The character.
* @param locale The locale.
* @return Whether the character is numerical.
@@ -352,6 +398,8 @@ int isdigit_l(int, locale_t)
/**
* Check whether a character is has a printable glyph.
*
+ * @etymology (Is) character (graph)ical, with consideration for (l)ocale?
+ *
* @param c The character.
* @param locale The locale.
* @return Whether the character has a glyph.
@@ -364,6 +412,8 @@ int isgraph_l(int, locale_t)
* Check whether a character is a lowercase
* alphabetical character.
*
+ * @etymology (Is) character a (lower)case character, with consideration for (l)ocale?
+ *
* @param c The character.
* @param locale The locale.
* @return Whether the character is a lowercase letter.
@@ -376,6 +426,8 @@ int islower_l(int, locale_t)
* Check whether a character is has a printable glyph
* or a blank space.
*
+ * @etymology (Is) character (print)able, with consideration for (l)ocale?
+ *
* @param c The character.
* @param locale The locale.
* @return Whether the character has a printable
@@ -390,6 +442,8 @@ int isprint_l(int, locale_t)
* that is, a printable character but a blank space,
* numerical or alphabetical.
*
+ * @etymology (Is) character a (punct)uation, with consideration for (l)ocale?
+ *
* @param c The character.
* @param locale The locale.
* @return Whether the character is a punctuation.
@@ -401,6 +455,8 @@ int ispunct_l(int, locale_t)
/**
* Check whether a character is a whitespace character.
*
+ * @etymology (Is) character white(space), with consideration for (l)ocale?
+ *
* @param c The character.
* @param locale The locale.
* @return Whether the character is a
@@ -414,6 +470,8 @@ int isspace_l(int, locale_t)
* Check whether a character is an uppercase
* alphabetical character.
*
+ * @etymology (Is) character a (upper)case character, with consideration for (l)ocale?
+ *
* @param c The character.
* @param locale The locale.
* @return Whether the character is a uppercase letter.
@@ -427,6 +485,8 @@ int isupper_l(int, locale_t)
* hexadecimal digit. Both uppercase and
* lowercase is supported.
*
+ * @etymology (Is) character a he(x)adecimal digit, with consideration for (l)ocale?
+ *
* @param c The character.
* @param locale The locale.
* @return Whether the character is in
@@ -439,12 +499,14 @@ int isxdigit_l(int, locale_t)
/**
* Check whether a character is an ASCII character.
*
+ * @etymology (Is) character an (ASCII) character, with consideration for (l)ocale?
+ *
* @param c The character
* @param locale The locale.
* @return Whether the character is an ASCII character.
*/
int isascii_l(int, locale_t)
- __warning("This function is dangerous, use 'isascii_l' instead.")
+ __warning("This function is dangerous, use 'iswascii_l' instead.")
__GCC_ONLY(__attribute__((__const__)));
/**
@@ -453,6 +515,8 @@ int isascii_l(int, locale_t)
* Note that this does not make a proper character set
* convertion and the result is virtually arbitrary.
*
+ * @etymology Truncate character (to) fit (ASCII) character set, with consideration for (l)ocale!
+ *
* @param c The character.
* @param locale The locale.
* @return The character with the 8:th bit cleared.
@@ -471,6 +535,8 @@ int toascii_l(int, locale_t)
* `(isupper_l(c, l) ? tolower_l(c, l) : c)`
* instead.
*
+ * @etymology Convert character (to) (lower)case, with consideration for (l)ocale!
+ *
* @param c The character.
* @param locale The locale.
* @return The character in lowercase.
@@ -491,6 +557,8 @@ int tolower_l(int, locale_t)
* `(isupper_l(c, l) ? tolower_l(c, l) : c)`
* instead.
*
+ * @etymology Convert character (to) (upper)case, with consideration for (l)ocale!
+ *
* @param c The character.
* @param locale The locale.
* @return The character in uppercase.
diff --git a/include/err.h b/include/err.h
index a603cbb..63dcdda 100644
--- a/include/err.h
+++ b/include/err.h
@@ -37,6 +37,8 @@
*
* This is a non-standard BSD extension.
*
+ * @etymology Print (warn)ing!
+ *
* @param format Formatting-string for the warning.
* @param ... Formatting-arguments.
*/
@@ -49,6 +51,8 @@ void warn(const char*, ...)
*
* This is a non-standard BSD extension.
*
+ * @etymology (V)ariadic version of (`warn`).
+ *
* @param format Formatting-string for the warning.
* @param args Formatting-arguments.
*/
@@ -60,6 +64,8 @@ void vwarn(const char*, va_list);
*
* This is a non-standard BSD extension.
*
+ * @etymology (`warn`), [x=](lesser variant).
+ *
* @param format Formatting-string for the warning.
* @param ... Formatting-arguments.
*/
@@ -72,6 +78,8 @@ void warnx(const char*, ...)
*
* This is a non-standard BSD extension.
*
+ * @etymology (V)ariadic version of (`warnx`).
+ *
* @param format Formatting-string for the warning.
* @param args Formatting-arguments.
*/
@@ -83,6 +91,8 @@ void vwarnx(const char*, va_list);
*
* This is a non-standard BSD extension.
*
+ * @etymology Report (err)or!
+ *
* @parma status The exit status the process should have.
* @param format Formatting-string for the warning.
* @param ... Formatting-arguments.
@@ -96,6 +106,8 @@ __noreturn void err(int, const char*, ...)
*
* This is a non-standard BSD extension.
*
+ * @etymology (V)ariadic version of (`err`).
+ *
* @parma status The exit status the process should have.
* @param format Formatting-string for the warning.
* @param args Formatting-arguments.
@@ -108,6 +120,8 @@ __noreturn void verr(int, const char*, va_list);
*
* This is a non-standard BSD extension.
*
+ * @etymology (`err`), [x=](lesser variant).
+ *
* @parma status The exit status the process should have.
* @param format Formatting-string for the warning.
* @param ... Formatting-arguments.
@@ -121,6 +135,8 @@ __noreturn void errx(int, const char*, ...)
*
* This is a non-standard BSD extension.
*
+ * @etymology (V)ariadic version of (`errx`).
+ *
* @parma status The exit status the process should have.
* @param format Formatting-string for the warning.
* @param args Formatting-arguments.
diff --git a/src/ctype.c b/src/ctype.c
index 3923def..a5eb75c 100644
--- a/src/ctype.c
+++ b/src/ctype.c
@@ -23,6 +23,8 @@
* Check whether a character is an alphabetical
* character or a decimal digit.
*
+ * @etymology (Is) character either (al)phabetical or (num)erical [(al)pha(num)erical]?
+ *
* @param c The character.
* @return Whether the character is in
* ['0', '9'], ['A', 'Z'], or ['a', 'z'].
@@ -36,6 +38,8 @@ int (isalnum)(int c)
/**
* Check whether a character is an alphabetical character.
*
+ * @etymology (Is) character (alpha)betical?
+ *
* @param c The character.
* @return Whether the character is in
* ['A', 'Z'] or ['a', 'z'].
@@ -50,6 +54,8 @@ int (isalpha)(int c)
* Check whether a character is a regular blank space
* or a horizontal tabulation.
*
+ * @etymology (Is) character a (blank) space?
+ *
* @param c The character.
* @return Whether the character is a ' ' or a '\t'.
*/
@@ -63,6 +69,8 @@ int (isblank)(int c)
* Check whether a character is a non-printable
* ASCII character.
*
+ * @etymology (Is) character a (c)o(ntr)o(l) character?
+ *
* @param c The character.
* @return Whether the character is lower than ' '.
*/
@@ -75,6 +83,8 @@ int (iscntrl)(int c)
/**
* Check whether a character is a decimal digit.
*
+ * @etymology (Is) character a (digit)?
+ *
* @param c The character.
* @return Whether the character is in ['0', '9'].
*/
@@ -87,6 +97,8 @@ int (isdigit)(int c)
/**
* Check whether a character is has a printable glyph.
*
+ * @etymology (Is) character (graph)ical?
+ *
* @param c The character.
* @return Whether the character is greater than ' '.
*/
@@ -100,6 +112,8 @@ int (isgraph)(int c)
* Check whether a character is a lowercase
* alphabetical character.
*
+ * @etymology (Is) character a (lower)case character?
+ *
* @param c The character.
* @return Whether the character is in ['a', 'z'].
*/
@@ -113,6 +127,8 @@ int (islower)(int c)
* Check whether a character is has a printable glyph
* or a blank space.
*
+ * @etymology (Is) character (print)able?
+ *
* @param c The character.
* @return Whether the character is at least
* as great as ' '.
@@ -128,6 +144,8 @@ int (isprint)(int c)
* that is, a printable character but a blank space,
* numerical or alphabetical.
*
+ * @etymology (Is) character a (punct)uation?
+ *
* @param c The character.
* @return Whether the character is a punctuation.
*/
@@ -140,6 +158,8 @@ int (ispunct)(int c)
/**
* Check whether a character is a whitespace character.
*
+ * @etymology (Is) character white(space)?
+ *
* @param c The character.
* @return Whether the character is a ' ', '\f',
* '\n', '\r', '\t', or '\v'.
@@ -154,6 +174,8 @@ int (isspace)(int c)
* Check whether a character is an uppercase
* alphabetical character.
*
+ * @etymology (Is) character a (upper)case character?
+ *
* @param c The character.
* @return Whether the character is in ['A', 'Z'].
*/
@@ -168,6 +190,8 @@ int (isupper)(int c)
* hexadecimal digit. Both uppercase and
* lowercase is supported.
*
+ * @etymology (Is) character a he(x)adecimal digit?
+ *
* @param c The character.
* @return Whether the character is in
* ['0', '9'], ['A', 'Z'], or ['a', 'z'].
@@ -183,11 +207,13 @@ int (isxdigit)(int c)
* Convert a uppercase ASCII character to
* an lowercase ASCII character.
*
- * The function's behaviour is unspecifed
+ * The function's behaviour is unspecified
* of the character is not alphabetical.
* You should consider running
* `(isupper(c) ? tolower(c) : c)` instead.
*
+ * @etymology Convert character (to) (lower)case!
+ *
* @param c The character.
* @return The character in lowercase.
* Guaranteed to be unchanged if the
@@ -203,11 +229,13 @@ int (tolower)(int c)
* Convert a lowercase ASCII character to
* an uppercase ASCII character.
*
- * The function's behaviour is unspecifed
+ * The function's behaviour is unspecified
* of the character is not alphabetical.
* You should consider running
* `(isupper(c) ? tolower(c) : c)` instead.
*
+ * @etymology Convert character (to) (upper)case!
+ *
* @param c The character.
* @return The character in uppercase.
* Guaranteed to be unchanged if the
@@ -223,6 +251,8 @@ int (toupper)(int c)
/**
* Check whether a character is an ASCII character.
*
+ * @etymology (Is) character an (ASCII) character?
+ *
* @param c The character
* @return Whether the character is an ASCII character.
*/
@@ -238,6 +268,12 @@ int (isascii)(int c)
* Note that this does not make a proper character set
* convertion and the result is virtually arbitrary.
*
+ * Justification for existence:
+ * The highest bit has historically been used as a
+ * parity bit.
+ *
+ * @etymology Truncate character (to) fit (ASCII) character set!
+ *
* @param c The character.
* @return The character with the 8:th bit cleared.
*/
diff --git a/src/err/err.c b/src/err/err.c
index 64062b8..d6d754a 100644
--- a/src/err/err.c
+++ b/src/err/err.c
@@ -26,6 +26,8 @@
*
* This is a non-standard BSD extension.
*
+ * @etymology Report (err)or!
+ *
* @parma status The exit status the process should have.
* @param format Formatting-string for the warning.
* @param ... Formatting-arguments.
diff --git a/src/err/errx.c b/src/err/errx.c
index 07b4e2b..c8e11c9 100644
--- a/src/err/errx.c
+++ b/src/err/errx.c
@@ -26,6 +26,8 @@
*
* This is a non-standard BSD extension.
*
+ * @etymology (`err`), [x=](lesser variant).
+ *
* @parma status The exit status the process should have.
* @param format Formatting-string for the warning.
* @param ... Formatting-arguments.
diff --git a/src/err/verr.c b/src/err/verr.c
index f0fb3f7..f88d944 100644
--- a/src/err/verr.c
+++ b/src/err/verr.c
@@ -28,6 +28,8 @@
*
* This is a non-standard BSD extension.
*
+ * @etymology (V)ariadic version of (`err`).
+ *
* @parma status The exit status the process should have.
* @param format Formatting-string for the warning.
* @param args Formatting-arguments.
diff --git a/src/err/verrx.c b/src/err/verrx.c
index ab30380..1c9e40c 100644
--- a/src/err/verrx.c
+++ b/src/err/verrx.c
@@ -27,6 +27,8 @@
*
* This is a non-standard BSD extension.
*
+ * @etymology (V)ariadic version of (`errx`).
+ *
* @parma status The exit status the process should have.
* @param format Formatting-string for the warning.
* @param args Formatting-arguments.
diff --git a/src/err/vwarn.c b/src/err/vwarn.c
index 43949e5..78676d4 100644
--- a/src/err/vwarn.c
+++ b/src/err/vwarn.c
@@ -26,6 +26,8 @@
*
* This is a non-standard BSD extension.
*
+ * @etymology (V)ariadic version of (`warn`).
+ *
* @param format Formatting-string for the warning.
* @param args Formatting-arguments.
*/
diff --git a/src/err/vwarnx.c b/src/err/vwarnx.c
index 594dfc7..c44e57a 100644
--- a/src/err/vwarnx.c
+++ b/src/err/vwarnx.c
@@ -25,6 +25,8 @@
*
* This is a non-standard BSD extension.
*
+ * @etymology (V)ariadic version of (`warnx`).
+ *
* @param format Formatting-string for the warning.
* @param args Formatting-arguments.
*/
diff --git a/src/err/warn.c b/src/err/warn.c
index ea5aacb..de5c793 100644
--- a/src/err/warn.c
+++ b/src/err/warn.c
@@ -26,6 +26,8 @@
*
* This is a non-standard BSD extension.
*
+ * @etymology Print (warn)ing!
+ *
* @param format Formatting-string for the warning.
* @param ... Formatting-arguments.
*/
diff --git a/src/err/warnx.c b/src/err/warnx.c
index 835044a..d80dfd8 100644
--- a/src/err/warnx.c
+++ b/src/err/warnx.c
@@ -26,6 +26,8 @@
*
* This is a non-standard BSD extension.
*
+ * @etymology (`warn`), [x=](lesser variant).
+ *
* @param format Formatting-string for the warning.
* @param ... Formatting-arguments.
*/