From fb5050e94537cf9c61d58584264f1b3b0476e472 Mon Sep 17 00:00:00 2001 From: nsz Date: Fri, 22 Jul 2011 22:44:43 +0200 Subject: [PATCH] fix html escape --- ann2html.sh | 9 ++- n1256.html | 134 ++++++++++++++++++++--------------------- n1548.html | 168 ++++++++++++++++++++++++++-------------------------- 3 files changed, 159 insertions(+), 152 deletions(-) diff --git a/ann2html.sh b/ann2html.sh index a4c127c..9acba62 100755 --- a/ann2html.sh +++ b/ann2html.sh @@ -8,12 +8,16 @@ BEGIN { ss[sid] = "
"
 }
 
-{
+function esc() {
 	gsub(/\&/, "\\&")
 	gsub(//, "\\>")
 }
 
+{
+	esc()
+}
+
 !title && /^[^@]/ {
 	title = $0
 	gsub(/  +/, "  ", title)
@@ -35,6 +39,7 @@ seencontents && !seenfore && /^[^@]/ {
 	s = $0
 	if (!sub(/ +\. .*/, "", s)) {
 		getline
+		esc()
 		sub(/^ */, " ")
 		s = s $0
 		sub(/ +\. .*/, "", s)
@@ -78,6 +83,7 @@ seencontents && !seenfore && /^[^@]/ {
 	}
 	sid++
 	getline
+	esc()
 	ss[sid] = ss[sid] "

" $0 "

\n" if (!seencontents) { ss[sid] = ss[sid] "
\n"
@@ -96,6 +102,7 @@ seencontents && !seenfore && /^[^@]/ {
 		slevel = 5
 	sect = $2
 	getline
+	esc()
 	# todo hX, back to top
 	ss[sid] = sprintf("%s\n", slevel, sect, sect, $0, slevel)
 	if ($0 == "Index")
diff --git a/n1256.html b/n1256.html
index c88b2e6..30198be 100644
--- a/n1256.html
+++ b/n1256.html
@@ -293,8 +293,8 @@ WG14/N1256                Committee Draft -- Septermber 7, 2007
 
 
  • 7.26.10 General utilities <stdlib.h>
  • 7.26.11 String handling <string.h> -
  • 7.26.12 Extended multibyte and wide character utilities -
  • 7.26.13 Wide character classification and mapping utilities +
  • 7.26.12 Extended multibyte and wide character utilities <wchar.h> +
  • 7.26.13 Wide character classification and mapping utilities <wctype.h>
  • Annex A (informative) Language syntax summary @@ -1519,7 +1519,7 @@ WG14/N1256 Committee Draft -- Septermber 7, 2007 specified in <stdint.h>.

    Forward references: integer types <stdint.h> (7.18). -

    5.2.4.2.1 Sizes of integer types
    +
    5.2.4.2.1 Sizes of integer types <limits.h>

    The values given below shall be replaced by constant expressions suitable for use in #if preprocessing directives. Moreover, except for CHAR_BIT and MB_LEN_MAX, the @@ -1621,7 +1621,7 @@ WG14/N1256 Committee Draft -- Septermber 7, 2007

    15) See 6.2.5. -

    5.2.4.2.2 Characteristics of floating types
    +
    5.2.4.2.2 Characteristics of floating types <float.h>

    The characteristics of floating types are defined in terms of a model that describes a representation of floating-point numbers and values that provide information about an @@ -8810,7 +8810,7 @@ unsigned long long int

    164) Thus, a signal handler cannot, in general, call standard library functions. -

    7.2 Diagnostics

    +

    7.2 Diagnostics <assert.h>

    The header <assert.h> defines the assert macro and refers to another macro,

    @@ -8863,7 +8863,7 @@ unsigned long long int
      Assertion failed: expression, function abc, file xyz, line nnn.
     
     
    -

    7.3 Complex arithmetic

    +

    7.3 Complex arithmetic <complex.h>

    7.3.1 Introduction

    @@ -9402,7 +9402,7 @@ unsigned long long int

    171) For a variable z of complex type, z == creal(z) + cimag(z)*I. -

    7.4 Character handling

    +

    7.4 Character handling <ctype.h>

    The header <ctype.h> declares several functions useful for classifying and mapping characters.172) In all cases the argument is an int, the value of which shall be @@ -9636,7 +9636,7 @@ unsigned long long int for any given locale); otherwise, the argument is returned unchanged. -

    7.5 Errors

    +

    7.5 Errors <errno.h>

    The header <errno.h> defines several macros, all relating to the reporting of error conditions. @@ -9683,7 +9683,7 @@ unsigned long long int

    177) See ''future library directions'' (7.26.3). -

    7.6 Floating-point environment

    +

    7.6 Floating-point environment <fenv.h>

    The header <fenv.h> declares two types and several macros and functions to provide access to the floating-point environment. The floating-point environment refers @@ -10181,7 +10181,7 @@ unsigned long long int }

    -

    7.7 Characteristics of floating types

    +

    7.7 Characteristics of floating types <float.h>

    The header <float.h> defines several macros that expand to various limits and parameters of the standard floating-point types. @@ -10190,7 +10190,7 @@ unsigned long long int in 5.2.4.2.2. -

    7.8 Format conversion of integer types

    +

    7.8 Format conversion of integer types <inttypes.h>

    The header <inttypes.h> includes the header <stdint.h> and extends it with additional facilities provided by hosted implementations. @@ -10378,7 +10378,7 @@ unsigned long long int (7.24.4.1.2). -

    7.9 Alternative spellings

    +

    7.9 Alternative spellings <iso646.h>

    The header <iso646.h> defines the following eleven macros (on the left) that expand to the corresponding tokens (on the right): @@ -10397,7 +10397,7 @@ unsigned long long int xor_eq ^=

  • -

    7.10 Sizes of integer types

    +

    7.10 Sizes of integer types <limits.h>

    The header <limits.h> defines several macros that expand to various limits and parameters of the standard integer types. @@ -10406,7 +10406,7 @@ unsigned long long int in 5.2.4.2.1. -

    7.11 Localization

    +

    7.11 Localization <locale.h>

    The header <locale.h> declares two functions, one type, and defines several macros.

    @@ -10766,7 +10766,7 @@ unsigned long long int

    -

    7.12 Mathematics

    +

    7.12 Mathematics <math.h>

    The header <math.h> declares two types and many mathematical functions and defines several macros. Most synopses specify a family of functions consisting of a principal @@ -12317,7 +12317,7 @@ unsigned long long int The isunordered macro returns 1 if its arguments are unordered and 0 otherwise. -

    7.13 Nonlocal jumps

    +

    7.13 Nonlocal jumps <setjmp.h>

    The header <setjmp.h> defines the macro setjmp, and declares one function and one type, for bypassing the normal function call and return discipline.216) @@ -12448,7 +12448,7 @@ unsigned long long int

    218) This includes, but is not limited to, the floating-point status flags and the state of open files. -

    7.14 Signal handling

    +

    7.14 Signal handling <signal.h>

    The header <signal.h> declares a type and two functions and defines several macros, for handling various signals (conditions that may be reported during program execution). @@ -12586,7 +12586,7 @@ unsigned long long int The raise function returns zero if successful, nonzero if unsuccessful. -

    7.15 Variable arguments

    +

    7.15 Variable arguments <stdarg.h>

    The header <stdarg.h> declares a type and defines four macros, for advancing through a list of arguments whose number and types are not known to the called function @@ -12778,7 +12778,7 @@ unsigned long long int } -

    7.16 Boolean type and values

    +

    7.16 Boolean type and values <stdbool.h>

    The header <stdbool.h> defines four macros.

    @@ -12815,7 +12815,7 @@ unsigned long long int

    222) See ''future library directions'' (7.26.7). -

    7.17 Common definitions

    +

    7.17 Common definitions <stddef.h>

    The following types and macros are defined in the standard header <stddef.h>. Some are also defined in other headers, as noted in their respective subclauses. @@ -12864,7 +12864,7 @@ unsigned long long int

    Forward references: localization (7.11). -

    7.18 Integer types

    +

    7.18 Integer types <stdint.h>

    The header <stdint.h> declares sets of integer types having specified widths, and defines corresponding sets of macros.223) It also defines macros that specify limits of @@ -13222,7 +13222,7 @@ unsigned long long int UINTMAX_C(value) -

    7.19 Input/output

    +

    7.19 Input/output <stdio.h>

    7.19.1 Introduction

    @@ -15328,7 +15328,7 @@ If a length modifier appears with any conversion specifier other than as specifi

    Forward references: the strerror function (7.21.6.2). -

    7.20 General utilities

    +

    7.20 General utilities <stdlib.h>

    The header <stdlib.h> declares five types and several functions of general utility, and defines several macros.257) @@ -16243,7 +16243,7 @@ If a length modifier appears with any conversion specifier other than as specifi any.267) -

    7.21 String handling

    +

    7.21 String handling <string.h>

    7.21.1 String function conventions

    @@ -16746,7 +16746,7 @@ If a length modifier appears with any conversion specifier other than as specifi character. -

    7.22 Type-generic math

    +

    7.22 Type-generic math <tgmath.h>

    The header <tgmath.h> includes the headers <math.h> and <complex.h> and defines several type-generic macros. @@ -16878,7 +16878,7 @@ If a length modifier appears with any conversion specifier other than as specifi the behavior is undefined. -

    7.23 Date and time

    +

    7.23 Date and time <time.h>

    7.23.1 Components of time

    @@ -17321,7 +17321,7 @@ If a length modifier appears with any conversion specifier other than as specifi zero is returned and the contents of the array are indeterminate. -

    7.24 Extended multibyte and wide character utilities

    +

    7.24 Extended multibyte and wide character utilities <wchar.h>

    7.24.1 Introduction

    @@ -19461,7 +19461,7 @@ If a length modifier appears with any conversion specifier other than as specifi include those necessary to reach the initial shift state immediately before the null byte. -

    7.25 Wide character classification and mapping utilities

    +

    7.25 Wide character classification and mapping utilities <wctype.h>

    7.25.1 Introduction

    @@ -19873,7 +19873,7 @@ If a length modifier appears with any conversion specifier other than as specifi The following names are grouped under individual headers for convenience. All external names described below are reserved no matter what headers are included by the program. -

    7.26.1 Complex arithmetic

    +

    7.26.1 Complex arithmetic <complex.h>

    The function names

    @@ -19884,37 +19884,37 @@ If a length modifier appears with any conversion specifier other than as specifi
      and the same names suffixed with f or l may be added to the declarations in the
      <complex.h> header.
     
    -

    7.26.2 Character handling

    +

    7.26.2 Character handling <ctype.h>

    Function names that begin with either is or to, and a lowercase letter may be added to the declarations in the <ctype.h> header. -

    7.26.3 Errors

    +

    7.26.3 Errors <errno.h>

    Macros that begin with E and a digit or E and an uppercase letter may be added to the declarations in the <errno.h> header. -

    7.26.4 Format conversion of integer types

    +

    7.26.4 Format conversion of integer types <inttypes.h>

    Macro names beginning with PRI or SCN followed by any lowercase letter or X may be added to the macros defined in the <inttypes.h> header. -

    7.26.5 Localization

    +

    7.26.5 Localization <locale.h>

    Macros that begin with LC_ and an uppercase letter may be added to the definitions in the <locale.h> header. -

    7.26.6 Signal handling

    +

    7.26.6 Signal handling <signal.h>

    Macros that begin with either SIG and an uppercase letter or SIG_ and an uppercase letter may be added to the definitions in the <signal.h> header. -

    7.26.7 Boolean type and values

    +

    7.26.7 Boolean type and values <stdbool.h>

    The ability to undefine and perhaps then redefine the macros bool, true, and false is an obsolescent feature. -

    7.26.8 Integer types

    +

    7.26.8 Integer types <stdint.h>

    Typedef names beginning with int or uint and ending with _t may be added to the types defined in the <stdint.h> header. Macro names beginning with INT or UINT @@ -19922,7 +19922,7 @@ If a length modifier appears with any conversion specifier other than as specifi <stdint.h> header. -

    7.26.9 Input/output

    +

    7.26.9 Input/output <stdio.h>

    Lowercase letters may be added to the conversion specifiers and length modifiers in fprintf and fscanf. Other characters may be used in extensions. @@ -19932,17 +19932,17 @@ If a length modifier appears with any conversion specifier other than as specifi The use of ungetc on a binary stream where the file position indicator is zero prior to the call is an obsolescent feature. -

    7.26.10 General utilities

    +

    7.26.10 General utilities <stdlib.h>

    Function names that begin with str and a lowercase letter may be added to the declarations in the <stdlib.h> header. -

    7.26.11 String handling

    +

    7.26.11 String handling <string.h>

    Function names that begin with str, mem, or wcs and a lowercase letter may be added to the declarations in the <string.h> header. -

    7.26.12 Extended multibyte and wide character utilities

    +

    7.26.12 Extended multibyte and wide character utilities <wchar.h>

    Function names that begin with wcs and a lowercase letter may be added to the declarations in the <wchar.h> header. @@ -20790,13 +20790,13 @@ If a length modifier appears with any conversion specifier other than as specifi Library summary

    -

    B.1 Diagnostics

    +

    B.1 Diagnostics <assert.h>

             NDEBUG
             void assert(scalar expression);
     
    -

    B.2 Complex

    +

    B.2 Complex <complex.h>

    @@ -20872,7 +20872,7 @@ If a length modifier appears with any conversion specifier other than as specifi
            long double creall(long double complex z);
     
    -

    B.3 Character handling

    +

    B.3 Character handling <ctype.h>

             int    isalnum(int c);
             int    isalpha(int c);
    @@ -20890,12 +20890,12 @@ If a length modifier appears with any conversion specifier other than as specifi
             int    toupper(int c);
     
    -

    B.4 Errors

    +

    B.4 Errors <errno.h>

             EDOM            EILSEQ             ERANGE            errno
     
    -

    B.5 Floating-point environment

    +

    B.5 Floating-point environment <fenv.h>

             fenv_t                 FE_OVERFLOW             FE_TOWARDZERO
    @@ -20918,7 +20918,7 @@ If a length modifier appears with any conversion specifier other than as specifi
             int feupdateenv(const fenv_t *envp);
     
    -

    B.6 Characteristics of floating types

    +

    B.6 Characteristics of floating types <float.h>

            FLT_ROUNDS              DBL_MIN_EXP             FLT_MAX
            FLT_EVAL_METHOD         LDBL_MIN_EXP            DBL_MAX
    @@ -20933,7 +20933,7 @@ If a length modifier appears with any conversion specifier other than as specifi
            FLT_MIN_EXP             LDBL_MAX_10_EXP
     
    -

    B.7 Format conversion of integer types

    +

    B.7 Format conversion of integer types <inttypes.h>

            imaxdiv_t
    @@ -20960,14 +20960,14 @@ If a length modifier appears with any conversion specifier other than as specifi
                    wchar_t ** restrict endptr, int base);
     
    -

    B.8 Alternative spellings

    +

    B.8 Alternative spellings <iso646.h>

           and             bitor             not_eq            xor
           and_eq          compl             or                xor_eq
           bitand          not               or_eq
     
    -

    B.9 Sizes of integer types

    +

    B.9 Sizes of integer types <limits.h>

           CHAR_BIT        CHAR_MAX          INT_MIN           ULONG_MAX
           SCHAR_MIN       MB_LEN_MAX        INT_MAX           LLONG_MIN
    @@ -20976,7 +20976,7 @@ If a length modifier appears with any conversion specifier other than as specifi
           CHAR_MIN        USHRT_MAX         LONG_MAX
     
    -

    B.10 Localization

    +

    B.10 Localization <locale.h>

           struct lconv    LC_ALL            LC_CTYPE          LC_NUMERIC
           NULL            LC_COLLATE        LC_MONETARY       LC_TIME
    @@ -20984,7 +20984,7 @@ If a length modifier appears with any conversion specifier other than as specifi
           struct lconv *localeconv(void);
     
    -

    B.11 Mathematics

    +

    B.11 Mathematics <math.h>

    @@ -21186,14 +21186,14 @@ If a length modifier appears with any conversion specifier other than as specifi int isunordered(real-floating x, real-floating y); -

    B.12 Nonlocal jumps

    +

    B.12 Nonlocal jumps <setjmp.h>

            jmp_buf
            int setjmp(jmp_buf env);
            void longjmp(jmp_buf env, int val);
     
    -

    B.13 Signal handling

    +

    B.13 Signal handling <signal.h>

            sig_atomic_t   SIG_IGN            SIGILL            SIGTERM
            SIG_DFL        SIGABRT            SIGINT
    @@ -21202,7 +21202,7 @@ If a length modifier appears with any conversion specifier other than as specifi
            int raise(int sig);
     
    -

    B.14 Variable arguments

    +

    B.14 Variable arguments <stdarg.h>

            va_list
            type va_arg(va_list ap, type);
    @@ -21211,7 +21211,7 @@ If a length modifier appears with any conversion specifier other than as specifi
            void va_start(va_list ap, parmN);
     
    -

    B.15 Boolean type and values

    +

    B.15 Boolean type and values <stdbool.h>

            bool
    @@ -21220,13 +21220,13 @@ If a length modifier appears with any conversion specifier other than as specifi
            __bool_true_false_are_defined
     
    -

    B.16 Common definitions

    +

    B.16 Common definitions <stddef.h>

              ptrdiff_t       size_t            wchar_t           NULL
              offsetof(type, member-designator)
     
    -

    B.17 Integer types

    +

    B.17 Integer types <stdint.h>

              intN_t                INT_LEASTN_MIN          PTRDIFF_MAX
              uintN_t               INT_LEASTN_MAX          SIG_ATOMIC_MIN
    @@ -21243,7 +21243,7 @@ If a length modifier appears with any conversion specifier other than as specifi
              UINTN_MAX             PTRDIFF_MIN
     
    -

    B.18 Input/output

    +

    B.18 Input/output <stdio.h>

    @@ -21323,7 +21323,7 @@ If a length modifier appears with any conversion specifier other than as specifi
              void perror(const char *s);
     
    -

    B.19 General utilities

    +

    B.19 General utilities <stdlib.h>

    @@ -21384,7 +21384,7 @@ If a length modifier appears with any conversion specifier other than as specifi
                 const wchar_t * restrict pwcs, size_t n);
     
    -

    B.20 String handling

    +

    B.20 String handling <string.h>

              size_t
    @@ -21420,7 +21420,7 @@ If a length modifier appears with any conversion specifier other than as specifi
              size_t strlen(const char *s);
     
    -

    B.21 Type-generic math

    +

    B.21 Type-generic math <tgmath.h>

            acos           sqrt               fmod              nextafter
            asin           fabs               frexp             nexttoward
    @@ -21439,7 +21439,7 @@ If a length modifier appears with any conversion specifier other than as specifi
            pow            fmin               nearbyint         creal
     
    -

    B.22 Date and time

    +

    B.22 Date and time <time.h>

            NULL                  size_t                  time_t
    @@ -21458,7 +21458,7 @@ If a length modifier appears with any conversion specifier other than as specifi
                 const struct tm * restrict timeptr);
     
    -

    B.23 Extended multibyte/wide character utilities

    +

    B.23 Extended multibyte/wide character utilities <wchar.h>

    @@ -21567,7 +21567,7 @@ If a length modifier appears with any conversion specifier other than as specifi
                   mbstate_t * restrict ps);
     
    -

    B.24 Wide character classification and mapping utilities

    +

    B.24 Wide character classification and mapping utilities <wctype.h>

    @@ -22362,7 +22362,7 @@ If a length modifier appears with any conversion specifier other than as specifi
     

    319) 0 - 0 yields -0 instead of +0 just when the rounding direction is downward. -

    F.9 Mathematics

    +

    F.9 Mathematics <math.h>

    This subclause contains specifications of <math.h> facilities that are particularly suited for IEC 60559 implementations. @@ -23282,7 +23282,7 @@ If a length modifier appears with any conversion specifier other than as specifi x + iy (x (+-) u) + iy x + i(y (+-) v) (x (+-) u) + i(y (+-) v)

    -

    G.6 Complex arithmetic

    +

    G.6 Complex arithmetic <complex.h>

    The macros

    @@ -23601,7 +23601,7 @@ If a length modifier appears with any conversion specifier other than as specifi
     
     
     
    -

    G.7 Type-generic math

    +

    G.7 Type-generic math <tgmath.h>

    Type-generic macros that accept complex arguments also accept imaginary arguments. If an argument is imaginary, the macro expands to an expression whose type is real, diff --git a/n1548.html b/n1548.html index ff9b0a9..76b5a5c 100644 --- a/n1548.html +++ b/n1548.html @@ -384,8 +384,8 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.

  • 7.30.10 General utilities <stdlib.h>
  • 7.30.11 String handling <string.h> -
  • 7.30.12 Extended multibyte and wide character utilities -
  • 7.30.13 Wide character classification and mapping utilities +
  • 7.30.12 Extended multibyte and wide character utilities <wchar.h> +
  • 7.30.13 Wide character classification and mapping utilities <wctype.h>
  • Annex A (informative) Language syntax summary @@ -543,7 +543,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
  • K.3.8.1 Components of time
  • K.3.8.2 Time conversion functions -
  • K.3.9 Extended multibyte and wide character utilities +
  • K.3.9 Extended multibyte and wide character utilities <wchar.h>
  • -

    7.7 Characteristics of floating types

    +

    7.7 Characteristics of floating types <float.h>

    The header <float.h> defines several macros that expand to various limits and parameters of the standard floating-point types. @@ -11313,7 +11313,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. in 5.2.4.2.2. -

    7.8 Format conversion of integer types

    +

    7.8 Format conversion of integer types <inttypes.h>

    The header <inttypes.h> includes the header <stdint.h> and extends it with additional facilities provided by hosted implementations. @@ -11498,7 +11498,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. (7.28.4.1.2). -

    7.9 Alternative spellings

    +

    7.9 Alternative spellings <iso646.h>

    The header <iso646.h> defines the following eleven macros (on the left) that expand to the corresponding tokens (on the right): @@ -11517,7 +11517,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. xor_eq ^= -

    7.10 Sizes of integer types

    +

    7.10 Sizes of integer types <limits.h>

    The header <limits.h> defines several macros that expand to various limits and parameters of the standard integer types. @@ -11526,7 +11526,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. in 5.2.4.2.1. -

    7.11 Localization

    +

    7.11 Localization <locale.h>

    The header <locale.h> declares two functions, one type, and defines several macros.

    @@ -11919,7 +11919,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. 4 $+1.25 $+ 1.25 $ +1.25 -

    7.12 Mathematics

    +

    7.12 Mathematics <math.h>

    The header <math.h> declares two types and many mathematical functions and defines several macros. Most synopses specify a family of functions consisting of a principal @@ -13501,7 +13501,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. The isunordered macro returns 1 if its arguments are unordered and 0 otherwise. -

    7.13 Nonlocal jumps

    +

    7.13 Nonlocal jumps <setjmp.h>

    The header <setjmp.h> defines the macro setjmp, and declares one function and one type, for bypassing the normal function call and return discipline.244) @@ -13632,7 +13632,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.

    246) This includes, but is not limited to, the floating-point status flags and the state of open files. -

    7.14 Signal handling

    +

    7.14 Signal handling <signal.h>

    The header <signal.h> declares a type and two functions and defines several macros, for handling various signals (conditions that may be reported during program execution). @@ -13774,7 +13774,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. The raise function returns zero if successful, nonzero if unsuccessful. -

    7.15 Alignment

    +

    7.15 Alignment <stdalign.h>

    The header <stdalign.h> defines two macros.

    @@ -13791,7 +13791,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. which expands to the integer constant 1. -

    7.16 Variable arguments

    +

    7.16 Variable arguments <stdarg.h>

    The header <stdarg.h> declares a type and defines four macros, for advancing through a list of arguments whose number and types are not known to the called function @@ -13983,7 +13983,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. } -

    7.17 Atomics

    +

    7.17 Atomics <stdatomic.h>

    7.17.1 Introduction

    @@ -14644,7 +14644,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. The atomic_flag_clear functions return no value. -

    7.18 Boolean type and values

    +

    7.18 Boolean type and values <stdbool.h>

    The header <stdbool.h> defines four macros.

    @@ -14681,7 +14681,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.

    252) See ''future library directions'' (7.30.7). -

    7.19 Common definitions

    +

    7.19 Common definitions <stddef.h>

    The header <stddef.h> defines the following macros and declares the following types. Some are also defined in other headers, as noted in their respective subclauses. @@ -14736,7 +14736,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.

    Forward references: localization (7.11). -

    7.20 Integer types

    +

    7.20 Integer types <stdint.h>

    The header <stdint.h> declares sets of integer types having specified widths, and defines corresponding sets of macros.253) It also defines macros that specify limits of @@ -15055,7 +15055,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. UINTMAX_C(value) -

    7.21 Input/output

    +

    7.21 Input/output <stdio.h>

    7.21.1 Introduction

    @@ -17244,7 +17244,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.

    Forward references: the strerror function (7.23.6.2). -

    7.22 General utilities

    +

    7.22 General utilities <stdlib.h>

    The header <stdlib.h> declares five types and several functions of general utility, and defines several macros.284) @@ -18265,7 +18265,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. -

    7.23 String handling

    +

    7.23 String handling <string.h>

    7.23.1 String function conventions

    @@ -18771,7 +18771,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. character. -

    7.24 Type-generic math

    +

    7.24 Type-generic math <tgmath.h>

    The header <tgmath.h> includes the headers <math.h> and <complex.h> and defines several type-generic macros. @@ -18901,7 +18901,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. the behavior is undefined. -

    7.25 Threads

    +

    7.25 Threads <threads.h>

    7.25.1 Introduction

    @@ -19497,7 +19497,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. xtime object is system dependent. -

    7.26 Date and time

    +

    7.26 Date and time <time.h>

    7.26.1 Components of time

    @@ -20000,7 +20000,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. zero is returned and the contents of the array are indeterminate. -

    7.27 Unicode utilities

    +

    7.27 Unicode utilities <uchar.h>

    The header <uchar.h> declares types and functions for manipulating Unicode characters. @@ -20216,7 +20216,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. -

    7.28 Extended multibyte and wide character utilities

    +

    7.28 Extended multibyte and wide character utilities <wchar.h>

    7.28.1 Introduction

    @@ -22449,7 +22449,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. include those necessary to reach the initial shift state immediately before the null byte. -

    7.29 Wide character classification and mapping utilities

    +

    7.29 Wide character classification and mapping utilities <wctype.h>

    7.29.1 Introduction

    @@ -22863,7 +22863,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. The following names are grouped under individual headers for convenience. All external names described below are reserved no matter what headers are included by the program. -

    7.30.1 Complex arithmetic

    +

    7.30.1 Complex arithmetic <complex.h>

    The function names

    @@ -22874,37 +22874,37 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
      and the same names suffixed with f or l may be added to the declarations in the
      <complex.h> header.
     
    -

    7.30.2 Character handling

    +

    7.30.2 Character handling <ctype.h>

    Function names that begin with either is or to, and a lowercase letter may be added to the declarations in the <ctype.h> header. -

    7.30.3 Errors

    +

    7.30.3 Errors <errno.h>

    Macros that begin with E and a digit or E and an uppercase letter may be added to the declarations in the <errno.h> header. -

    7.30.4 Format conversion of integer types

    +

    7.30.4 Format conversion of integer types <inttypes.h>

    Macro names beginning with PRI or SCN followed by any lowercase letter or X may be added to the macros defined in the <inttypes.h> header. -

    7.30.5 Localization

    +

    7.30.5 Localization <locale.h>

    Macros that begin with LC_ and an uppercase letter may be added to the definitions in the <locale.h> header. -

    7.30.6 Signal handling

    +

    7.30.6 Signal handling <signal.h>

    Macros that begin with either SIG and an uppercase letter or SIG_ and an uppercase letter may be added to the definitions in the <signal.h> header. -

    7.30.7 Boolean type and values

    +

    7.30.7 Boolean type and values <stdbool.h>

    The ability to undefine and perhaps then redefine the macros bool, true, and false is an obsolescent feature. -

    7.30.8 Integer types

    +

    7.30.8 Integer types <stdint.h>

    Typedef names beginning with int or uint and ending with _t may be added to the types defined in the <stdint.h> header. Macro names beginning with INT or UINT @@ -22912,7 +22912,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. <stdint.h> header. -

    7.30.9 Input/output

    +

    7.30.9 Input/output <stdio.h>

    Lowercase letters may be added to the conversion specifiers and length modifiers in fprintf and fscanf. Other characters may be used in extensions. @@ -22920,17 +22920,17 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. The use of ungetc on a binary stream where the file position indicator is zero prior to * the call is an obsolescent feature. -

    7.30.10 General utilities

    +

    7.30.10 General utilities <stdlib.h>

    Function names that begin with str and a lowercase letter may be added to the declarations in the <stdlib.h> header. -

    7.30.11 String handling

    +

    7.30.11 String handling <string.h>

    Function names that begin with str, mem, or wcs and a lowercase letter may be added to the declarations in the <string.h> header. -

    7.30.12 Extended multibyte and wide character utilities

    +

    7.30.12 Extended multibyte and wide character utilities <wchar.h>

    Function names that begin with wcs and a lowercase letter may be added to the declarations in the <wchar.h> header. @@ -23828,14 +23828,14 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. Library summary

    -

    B.1 Diagnostics

    +

    B.1 Diagnostics <assert.h>

              NDEBUG
              static_assert
              void assert(scalar expression);
     
    -

    B.2 Complex

    +

    B.2 Complex <complex.h>

    @@ -23915,7 +23915,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
              long double creall(long double complex z);
     
    -

    B.3 Character handling

    +

    B.3 Character handling <ctype.h>

              int   isalnum(int c);
              int   isalpha(int c);
    @@ -23933,14 +23933,14 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
              int   toupper(int c);
     
    -

    B.4 Errors

    +

    B.4 Errors <errno.h>

              EDOM           EILSEQ            ERANGE           errno
              __STDC_WANT_LIB_EXT1__
              errno_t
     
    -

    B.5 Floating-point environment

    +

    B.5 Floating-point environment <fenv.h>

              fenv_t               FE_OVERFLOW             FE_TOWARDZERO
    @@ -23963,7 +23963,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
            int   feupdateenv(const fenv_t *envp);
     
    -

    B.6 Characteristics of floating types

    +

    B.6 Characteristics of floating types <float.h>

            FLT_ROUNDS              DBL_DIG                 FLT_MAX
            FLT_EVAL_METHOD         LDBL_DIG                DBL_MAX
    @@ -23981,7 +23981,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
            FLT_DIG                 LDBL_MAX_10_EXP
     
    -

    B.7 Format conversion of integer types

    +

    B.7 Format conversion of integer types <inttypes.h>

            imaxdiv_t
    @@ -24008,14 +24008,14 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
                      wchar_t ** restrict endptr, int base);
     
    -

    B.8 Alternative spellings

    +

    B.8 Alternative spellings <iso646.h>

              and            bitor             not_eq           xor
              and_eq         compl             or               xor_eq
              bitand         not               or_eq
     
    -

    B.9 Sizes of integer types

    +

    B.9 Sizes of integer types <limits.h>

              CHAR_BIT       CHAR_MAX          INT_MIN          ULONG_MAX
              SCHAR_MIN      MB_LEN_MAX        INT_MAX          LLONG_MIN
    @@ -24024,7 +24024,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
              CHAR_MIN       USHRT_MAX         LONG_MAX
     
    -

    B.10 Localization

    +

    B.10 Localization <locale.h>

              struct lconv   LC_ALL            LC_CTYPE         LC_NUMERIC
              NULL           LC_COLLATE        LC_MONETARY      LC_TIME
    @@ -24032,7 +24032,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
              struct lconv *localeconv(void);
     
    -

    B.11 Mathematics

    +

    B.11 Mathematics <math.h>

    @@ -24234,14 +24234,14 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. int isunordered(real-floating x, real-floating y); -

    B.12 Nonlocal jumps

    +

    B.12 Nonlocal jumps <setjmp.h>

            jmp_buf
            int setjmp(jmp_buf env);
            _Noreturn void longjmp(jmp_buf env, int val);
     
    -

    B.13 Signal handling

    +

    B.13 Signal handling <signal.h>

            sig_atomic_t    SIG_IGN           SIGILL           SIGTERM
    @@ -24251,13 +24251,13 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
            int raise(int sig);
     
    -

    B.14 Alignment

    +

    B.14 Alignment <stdalign.h>

              alignas
              __alignas_is_defined
     
    -

    B.15 Variable arguments

    +

    B.15 Variable arguments <stdarg.h>

              va_list
              type va_arg(va_list ap, type);
    @@ -24266,7 +24266,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
              void va_start(va_list ap, parmN);
     
    -

    B.16 Atomics

    +

    B.16 Atomics <stdatomic.h>

    @@ -24335,7 +24335,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
                  volatile atomic_flag *object, memory_order order);
     
    -

    B.17 Boolean type and values

    +

    B.17 Boolean type and values <stdbool.h>

              bool
              true
    @@ -24343,7 +24343,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
              __bool_true_false_are_defined
     
    -

    B.18 Common definitions

    +

    B.18 Common definitions <stddef.h>

              ptrdiff_t       max_align_t       NULL
              size_t          wchar_t
    @@ -24352,7 +24352,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
              rsize_t
     
    -

    B.19 Integer types

    +

    B.19 Integer types <stdint.h>

              intN_t                INT_LEASTN_MIN          PTRDIFF_MAX
    @@ -24372,7 +24372,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
              RSIZE_MAX
     
    -

    B.20 Input/output

    +

    B.20 Input/output <stdio.h>

    @@ -24495,7 +24495,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. char *gets_s(char *s, rsize_t n); -

    B.21 General utilities

    +

    B.21 General utilities <stdlib.h>

    @@ -24595,7 +24595,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
                   const wchar_t * restrict src, rsize_t len);
     
    -

    B.22 String handling

    +

    B.22 String handling <string.h>

    @@ -24662,7 +24662,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
              size_t strnlen_s(const char *s, size_t maxsize);
     
    -

    B.23 Type-generic math

    +

    B.23 Type-generic math <tgmath.h>

              acos         sqrt              fmod             nextafter
              asin         fabs              frexp            nexttoward
    @@ -24681,7 +24681,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
              pow          fmin              nearbyint        creal
     
    -

    B.24 Threads

    +

    B.24 Threads <threads.h>

              ONCE_FLAG_INIT                 mtx_plain
    @@ -24724,7 +24724,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
            int xtime_get(xtime *xt, int base);
     
    -

    B.25 Date and time

    +

    B.25 Date and time <time.h>

            NULL                  size_t                  time_t
    @@ -24754,7 +24754,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
                   struct tm * restrict result);
     
    -

    B.26 Unicode utilities

    +

    B.26 Unicode utilities <uchar.h>

              mbstate_t     size_t            char16_t         char32_t
              size_t mbrtoc16(char16_t * restrict pc16,
    @@ -24769,7 +24769,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
                   mbstate_t * restrict ps);
     
    -

    B.27 Extended multibyte/wide character utilities

    +

    B.27 Extended multibyte/wide character utilities <wchar.h>

    @@ -24953,7 +24953,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. mbstate_t * restrict ps); -

    B.28 Wide character classification and mapping utilities

    +

    B.28 Wide character classification and mapping utilities <wctype.h>

            wint_t          wctrans_t         wctype_t         WEOF
    @@ -25695,7 +25695,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
     

    357) 0 - 0 yields -0 instead of +0 just when the rounding direction is downward. -

    F.10 Mathematics

    +

    F.10 Mathematics <math.h>

    This subclause contains specifications of <math.h> facilities that are particularly suited for IEC 60559 implementations. @@ -26690,7 +26690,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. x + iy (x (+-) u) + iy x + i(y (+-) v) (x (+-) u) + i(y (+-) v)

    -

    G.6 Complex arithmetic

    +

    G.6 Complex arithmetic <complex.h>

    The macros

    @@ -27009,7 +27009,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
     
     
     
    -

    G.7 Type-generic math

    +

    G.7 Type-generic math <tgmath.h>

    Type-generic macros that accept complex arguments also accept imaginary arguments. If an argument is imaginary, the macro expands to an expression whose type is real, @@ -28507,7 +28507,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. from the definition of undefined behavior. -

    K.3.2 Errors

    +

    K.3.2 Errors <errno.h>

    The header <errno.h> defines a type.

    @@ -28523,7 +28523,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. errno might be declared as having the return type errno_t. -

    K.3.3 Common definitions

    +

    K.3.3 Common definitions <stddef.h>

    The header <stddef.h> defines a type.

    @@ -28537,7 +28537,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.

    372) See the description of the RSIZE_MAX macro in <stdint.h>. -

    K.3.4 Integer types

    +

    K.3.4 Integer types <stdint.h>

    The header <stdint.h> defines a macro.

    @@ -28569,7 +28569,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.

    373) The macro RSIZE_MAX need not expand to a constant expression. -

    K.3.5 Input/output

    +

    K.3.5 Input/output <stdio.h>

    The header <stdio.h> defines several macros and two types.

    @@ -29502,7 +29502,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. expect such a relationship. -

    K.3.6 General utilities

    +

    K.3.6 General utilities <stdlib.h>

    The header <stdlib.h> defines three types.

    @@ -30025,7 +30025,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. runtime-constraint violation. -

    K.3.7 String handling

    +

    K.3.7 String handling <string.h>

    The header <string.h> defines two types.

    @@ -30536,7 +30536,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. strnlen_s useful in algorithms that gracefully handle such exceptional data. -

    K.3.8 Date and time

    +

    K.3.8 Date and time <time.h>

    The header <time.h> defines two types.

    @@ -30712,7 +30712,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. The localtime_s function returns result, or a null pointer if the specified time cannot be converted to local time or there is a runtime-constraint violation. -

    K.3.9 Extended multibyte and wide character utilities

    +

    K.3.9 Extended multibyte and wide character utilities <wchar.h>

    The header <wchar.h> defines two types.

    -- 2.20.1