asan: score: global-buffer-overflow
[deliverable/binutils-gdb.git] / libiberty / functions.texi
index b3543cbfc6d12df5367c3346666dd5da2ffd82ea..1784ae720a1b935378b52b74e3f20ce407364e50 100644 (file)
@@ -3,47 +3,6 @@
 @c Edit the *.c files, configure with --enable-maintainer-mode,
 @c run 'make stamp-functions' and gather-docs will build a new copy.
 
 @c Edit the *.c files, configure with --enable-maintainer-mode,
 @c run 'make stamp-functions' and gather-docs will build a new copy.
 
-@c splay-tree.c:277
-@defvr Extension HOST_CHARSET
-This macro indicates the basic character set and encoding used by the
-host: more precisely, the encoding used for character constants in
-preprocessor @samp{#if} statements (the C "execution character set").
-It is defined by @file{safe-ctype.h}, and will be an integer constant
-with one of the following values:
-
-@ftable @code
-@item HOST_CHARSET_UNKNOWN
-The host character set is unknown - that is, not one of the next two
-possibilities.
-
-@item HOST_CHARSET_ASCII
-The host character set is ASCII.
-
-@item HOST_CHARSET_EBCDIC
-The host character set is some variant of EBCDIC.  (Only one of the
-nineteen EBCDIC varying characters is tested; exercise caution.)
-@end ftable
-@end defvr
-@deftypefn Supplemental splay_tree splay_tree_new_with_typed_alloc
-(splay_tree_compare_fn @var{compare_fn},
-splay_tree_delete_key_fn @var{delete_key_fn},
-splay_tree_delete_value_fn @var{delete_value_fn},
-splay_tree_allocate_fn @var{tree_allocate_fn},
-splay_tree_allocate_fn @var{node_allocate_fn},
-splay_tree_deallocate_fn @var{deallocate_fn},
-void * @var{allocate_data})
-
-This function creates a splay tree that uses two different allocators
-@var{tree_allocate_fn} and @var{node_allocate_fn} to use for allocating the
-tree itself and its nodes respectively.  This is useful when variables of
-different types need to be allocated with different allocators.
-
-The splay tree will use @var{compare_fn} to compare nodes,
-@var{delete_key_fn} to deallocate keys, and @var{delete_value_fn} to
-deallocate values.
-
-@end deftypefn
-
 @c alloca.c:26
 @deftypefn Replacement void* alloca (size_t @var{size})
 
 @c alloca.c:26
 @deftypefn Replacement void* alloca (size_t @var{size})
 
@@ -110,7 +69,9 @@ Copies @var{length} bytes from memory region @var{in} to region
 @end deftypefn
 
 @c bsearch.c:33
 @end deftypefn
 
 @c bsearch.c:33
-@deftypefn Supplemental void* bsearch (const void *@var{key}, const void *@var{base}, size_t @var{nmemb}, size_t @var{size}, int (*@var{compar})(const void *, const void *))
+@deftypefn Supplemental void* bsearch (const void *@var{key}, @
+  const void *@var{base}, size_t @var{nmemb}, size_t @var{size}, @
+  int (*@var{compar})(const void *, const void *))
 
 Performs a search over an array of @var{nmemb} elements pointed to by
 @var{base} for a member that matches the object pointed to by @var{key}.
 
 Performs a search over an array of @var{nmemb} elements pointed to by
 @var{base} for a member that matches the object pointed to by @var{key}.
@@ -123,7 +84,7 @@ is respectively less than, matching, or greater than the array member.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c argv.c:142
+@c argv.c:138
 @deftypefn Extension char** buildargv (char *@var{sp})
 
 Given a pointer to a string, parse the string extracting fields
 @deftypefn Extension char** buildargv (char *@var{sp})
 
 Given a pointer to a string, parse the string extracting fields
@@ -134,7 +95,7 @@ remains unchanged.  The last element of the vector is followed by a
 @code{NULL} element.
 
 All of the memory for the pointer array and copies of the string
 @code{NULL} element.
 
 All of the memory for the pointer array and copies of the string
-is obtained from @code{malloc}.  All of the memory can be returned to the
+is obtained from @code{xmalloc}.  All of the memory can be returned to the
 system with the single function call @code{freeargv}, which takes the
 returned result of @code{buildargv}, as it's argument.
 
 system with the single function call @code{freeargv}, which takes the
 returned result of @code{buildargv}, as it's argument.
 
@@ -164,7 +125,17 @@ Uses @code{malloc} to allocate storage for @var{nelem} objects of
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c choose-temp.c:46
+@c filename_cmp.c:201
+@deftypefn Extension int canonical_filename_eq (const char *@var{a}, const char *@var{b})
+
+Return non-zero if file names @var{a} and @var{b} are equivalent.
+This function compares the canonical versions of the filenames as returned by
+@code{lrealpath()}, so that so that different file names pointing to the same
+underlying file are treated as being identical.
+
+@end deftypefn
+
+@c choose-temp.c:45
 @deftypefn Extension char* choose_temp_base (void)
 
 Return a prefix for temporary file names or @code{NULL} if unable to
 @deftypefn Extension char* choose_temp_base (void)
 
 Return a prefix for temporary file names or @code{NULL} if unable to
@@ -178,7 +149,7 @@ not recommended.
 @end deftypefn
 
 @c make-temp-file.c:95
 @end deftypefn
 
 @c make-temp-file.c:95
-@deftypefn Replacement char* choose_tmpdir ()
+@deftypefn Replacement const char* choose_tmpdir ()
 
 Returns a pointer to a directory path suitable for creating temporary
 files in.
 
 Returns a pointer to a directory path suitable for creating temporary
 files in.
@@ -195,27 +166,35 @@ number of seconds used.
 @end deftypefn
 
 @c concat.c:24
 @end deftypefn
 
 @c concat.c:24
-@deftypefn Extension char* concat (const char *@var{s1}, const char *@var{s2}, @dots{}, @code{NULL})
+@deftypefn Extension char* concat (const char *@var{s1}, const char *@var{s2}, @
+  @dots{}, @code{NULL})
 
 Concatenate zero or more of strings and return the result in freshly
 
 Concatenate zero or more of strings and return the result in freshly
-@code{xmalloc}ed memory.  Returns @code{NULL} if insufficient memory is
-available.  The argument list is terminated by the first @code{NULL}
-pointer encountered.  Pointers to empty strings are ignored.
+@code{xmalloc}ed memory.  The argument list is terminated by the first
+@code{NULL} pointer encountered.  Pointers to empty strings are ignored.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c crc32.c:141
-@deftypefn Extension unsigned int crc32 (const unsigned char *@var{buf}, int @var{len}, unsigned int @var{init})
+@c argv.c:487
+@deftypefn Extension int countargv (char * const *@var{argv})
+
+Return the number of elements in @var{argv}.
+Returns zero if @var{argv} is NULL.
+
+@end deftypefn
+
+@c crc32.c:140
+@deftypefn Extension {unsigned int} crc32 (const unsigned char *@var{buf}, @
+  int @var{len}, unsigned int @var{init})
 
 Compute the 32-bit CRC of @var{buf} which has length @var{len}.  The
 starting value is @var{init}; this may be used to compute the CRC of
 data split across multiple buffers by passing the return value of each
 call as the @var{init} parameter of the next.
 
 
 Compute the 32-bit CRC of @var{buf} which has length @var{len}.  The
 starting value is @var{init}; this may be used to compute the CRC of
 data split across multiple buffers by passing the return value of each
 call as the @var{init} parameter of the next.
 
-This is intended to match the CRC used by the @command{gdb} remote
-protocol for the @samp{qCRC} command.  In order to get the same
-results as gdb for a block of data, you must pass the first CRC
-parameter as @code{0xffffffff}.
+This is used by the @command{gdb} remote protocol for the @samp{qCRC}
+command.  In order to get the same results as gdb for a block of data,
+you must pass the first CRC parameter as @code{0xffffffff}.
 
 This CRC can be specified as:
 
 
 This CRC can be specified as:
 
@@ -232,8 +211,8 @@ make it easy to compose the values of multiple blocks.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c argv.c:52
-@deftypefn Extension char** dupargv (char **@var{vector})
+@c argv.c:59
+@deftypefn Extension char** dupargv (char * const *@var{vector})
 
 Duplicate an argument vector.  Simply scans through @var{vector},
 duplicating each argument until the terminating @code{NULL} is found.
 
 Duplicate an argument vector.  Simply scans through @var{vector},
 duplicating each argument until the terminating @code{NULL} is found.
@@ -243,7 +222,7 @@ argument vector.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c strerror.c:567
+@c strerror.c:572
 @deftypefn Extension int errno_max (void)
 
 Returns the maximum @code{errno} value for which a corresponding
 @deftypefn Extension int errno_max (void)
 
 Returns the maximum @code{errno} value for which a corresponding
@@ -261,7 +240,7 @@ symbolic name or message.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c argv.c:361
+@c argv.c:344
 @deftypefn Extension void expandargv (int *@var{argcp}, char ***@var{argvp})
 
 The @var{argcp} and @code{argvp} arguments are pointers to the usual
 @deftypefn Extension void expandargv (int *@var{argcp}, char ***@var{argvp})
 
 The @var{argcp} and @code{argvp} arguments are pointers to the usual
@@ -296,8 +275,9 @@ and inode numbers.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c fopen_unlocked.c:48
-@deftypefn Extension {FILE *} fdopen_unlocked (int @var{fildes}, const char * @var{mode})
+@c fopen_unlocked.c:49
+@deftypefn Extension {FILE *} fdopen_unlocked (int @var{fildes}, @
+  const char * @var{mode})
 
 Opens and returns a @code{FILE} pointer via @code{fdopen}.  If the
 operating system supports it, ensure that the stream is setup to avoid
 
 Opens and returns a @code{FILE} pointer via @code{fdopen}.  If the
 operating system supports it, ensure that the stream is setup to avoid
@@ -315,7 +295,7 @@ value 1).  If @var{valu} is zero, zero is returned.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c filename_cmp.c:32
+@c filename_cmp.c:37
 @deftypefn Extension int filename_cmp (const char *@var{s1}, const char *@var{s2})
 
 Return zero if the two file names @var{s1} and @var{s2} are equivalent.
 @deftypefn Extension int filename_cmp (const char *@var{s1}, const char *@var{s2})
 
 Return zero if the two file names @var{s1} and @var{s2} are equivalent.
@@ -332,8 +312,44 @@ and backward slashes are equal.
 
 @end deftypefn
 
 
 @end deftypefn
 
+@c filename_cmp.c:183
+@deftypefn Extension int filename_eq (const void *@var{s1}, const void *@var{s2})
+
+Return non-zero if file names @var{s1} and @var{s2} are equivalent.
+This function is for use with hashtab.c hash tables.
+
+@end deftypefn
+
+@c filename_cmp.c:152
+@deftypefn Extension hashval_t filename_hash (const void *@var{s})
+
+Return the hash value for file name @var{s} that will be compared
+using filename_cmp.
+This function is for use with hashtab.c hash tables.
+
+@end deftypefn
+
+@c filename_cmp.c:94
+@deftypefn Extension int filename_ncmp (const char *@var{s1}, const char *@var{s2}, size_t @var{n})
+
+Return zero if the two file names @var{s1} and @var{s2} are equivalent
+in range @var{n}.
+If not equivalent, the returned value is similar to what @code{strncmp}
+would return.  In other words, it returns a negative value if @var{s1}
+is less than @var{s2}, or a positive value if @var{s2} is greater than
+@var{s2}.
+
+This function does not normalize file names.  As a result, this function
+will treat filenames that are spelled differently as different even in
+the case when the two filenames point to the same underlying file.
+However, it does handle the fact that on DOS-like file systems, forward
+and backward slashes are equal.
+
+@end deftypefn
+
 @c fnmatch.txh:1
 @c fnmatch.txh:1
-@deftypefn Replacement int fnmatch (const char *@var{pattern}, const char *@var{string}, int @var{flags})
+@deftypefn Replacement int fnmatch (const char *@var{pattern}, @
+  const char *@var{string}, int @var{flags})
 
 Matches @var{string} against @var{pattern}, returning zero if it
 matches, @code{FNM_NOMATCH} if not.  @var{pattern} may contain the
 
 Matches @var{string} against @var{pattern}, returning zero if it
 matches, @code{FNM_NOMATCH} if not.  @var{pattern} may contain the
@@ -383,7 +399,8 @@ Ignores case when performing the comparison.
 @end deftypefn
 
 @c fopen_unlocked.c:39
 @end deftypefn
 
 @c fopen_unlocked.c:39
-@deftypefn Extension {FILE *} fopen_unlocked (const char *@var{path}, const char * @var{mode})
+@deftypefn Extension {FILE *} fopen_unlocked (const char *@var{path}, @
+  const char * @var{mode})
 
 Opens and returns a @code{FILE} pointer via @code{fopen}.  If the
 operating system supports it, ensure that the stream is setup to avoid
 
 Opens and returns a @code{FILE} pointer via @code{fopen}.  If the
 operating system supports it, ensure that the stream is setup to avoid
@@ -392,7 +409,7 @@ unchanged.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c argv.c:97
+@c argv.c:93
 @deftypefn Extension void freeargv (char **@var{vector})
 
 Free an argument vector that was built using @code{buildargv}.  Simply
 @deftypefn Extension void freeargv (char **@var{vector})
 
 Free an argument vector that was built using @code{buildargv}.  Simply
@@ -402,8 +419,9 @@ itself.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c fopen_unlocked.c:57
-@deftypefn Extension {FILE *} freopen_unlocked (const char * @var{path}, const char * @var{mode}, FILE * @var{stream})
+@c fopen_unlocked.c:59
+@deftypefn Extension {FILE *} freopen_unlocked (const char * @var{path}, @
+  const char * @var{mode}, FILE * @var{stream})
 
 Opens and returns a @code{FILE} pointer via @code{freopen}.  If the
 operating system supports it, ensure that the stream is setup to avoid
 
 Opens and returns a @code{FILE} pointer via @code{freopen}.  If the
 operating system supports it, ensure that the stream is setup to avoid
@@ -412,7 +430,7 @@ unchanged.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c getruntime.c:82
+@c getruntime.c:86
 @deftypefn Replacement long get_run_time (void)
 
 Returns the time used so far, in microseconds.  If possible, this is
 @deftypefn Replacement long get_run_time (void)
 
 Returns the time used so far, in microseconds.  If possible, this is
@@ -496,10 +514,32 @@ systems.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c hashtab.c:336
-@deftypefn Supplemental htab_t htab_create_typed_alloc (size_t @var{size},
-htab_hash @var{hash_f}, htab_eq @var{eq_f}, htab_del @var{del_f},
-htab_alloc @var{alloc_tab_f}, htab_alloc @var{alloc_f},
+@c safe-ctype.c:24
+@defvr Extension HOST_CHARSET
+This macro indicates the basic character set and encoding used by the
+host: more precisely, the encoding used for character constants in
+preprocessor @samp{#if} statements (the C "execution character set").
+It is defined by @file{safe-ctype.h}, and will be an integer constant
+with one of the following values:
+
+@ftable @code
+@item HOST_CHARSET_UNKNOWN
+The host character set is unknown - that is, not one of the next two
+possibilities.
+
+@item HOST_CHARSET_ASCII
+The host character set is ASCII.
+
+@item HOST_CHARSET_EBCDIC
+The host character set is some variant of EBCDIC.  (Only one of the
+nineteen EBCDIC varying characters is tested; exercise caution.)
+@end ftable
+@end defvr
+
+@c hashtab.c:327
+@deftypefn Supplemental htab_t htab_create_typed_alloc (size_t @var{size}, @
+htab_hash @var{hash_f}, htab_eq @var{eq_f}, htab_del @var{del_f}, @
+htab_alloc @var{alloc_tab_f}, htab_alloc @var{alloc_f}, @
 htab_free @var{free_f})
 
 This function creates a hash table that uses two different allocators
 htab_free @var{free_f})
 
 This function creates a hash table that uses two different allocators
@@ -524,7 +564,8 @@ deprecated in new programs in favor of @code{strchr}.
 @end deftypefn
 
 @c insque.c:6
 @end deftypefn
 
 @c insque.c:6
-@deftypefn Supplemental void insque (struct qelem *@var{elem}, struct qelem *@var{pred})
+@deftypefn Supplemental void insque (struct qelem *@var{elem}, @
+  struct qelem *@var{pred})
 @deftypefnx Supplemental void remque (struct qelem *@var{elem})
 
 Routines to manipulate queues built from doubly linked lists.  The
 @deftypefnx Supplemental void remque (struct qelem *@var{elem})
 
 Routines to manipulate queues built from doubly linked lists.  The
@@ -544,7 +585,7 @@ struct qelem @{
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c safe-ctype.c:46
+@c safe-ctype.c:45
 @deffn  Extension ISALPHA  (@var{c})
 @deffnx Extension ISALNUM  (@var{c})
 @deffnx Extension ISBLANK  (@var{c})
 @deffn  Extension ISALPHA  (@var{c})
 @deffnx Extension ISALNUM  (@var{c})
 @deffnx Extension ISBLANK  (@var{c})
@@ -594,7 +635,7 @@ false for characters with numeric values from 128 to 255.
 @end itemize
 @end deffn
 
 @end itemize
 @end deffn
 
-@c safe-ctype.c:95
+@c safe-ctype.c:94
 @deffn  Extension ISIDNUM         (@var{c})
 @deffnx Extension ISIDST          (@var{c})
 @deffnx Extension IS_VSPACE       (@var{c})
 @deffn  Extension ISIDNUM         (@var{c})
 @deffnx Extension ISIDST          (@var{c})
 @deffnx Extension IS_VSPACE       (@var{c})
@@ -642,8 +683,9 @@ components will be simplified.  The returned value will be allocated using
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c make-relative-prefix.c:24
-@deftypefn Extension {const char*} make_relative_prefix (const char *@var{progname}, const char *@var{bin_prefix}, const char *@var{prefix})
+@c make-relative-prefix.c:23
+@deftypefn Extension {const char*} make_relative_prefix (const char *@var{progname}, @
+  const char *@var{bin_prefix}, const char *@var{prefix})
 
 Given three paths @var{progname}, @var{bin_prefix}, @var{prefix},
 return the path that is in the same position relative to
 
 Given three paths @var{progname}, @var{bin_prefix}, @var{prefix},
 return the path that is in the same position relative to
@@ -677,7 +719,8 @@ string is @code{malloc}ed, and the temporary file has been created.
 @end deftypefn
 
 @c memchr.c:3
 @end deftypefn
 
 @c memchr.c:3
-@deftypefn Supplemental void* memchr (const void *@var{s}, int @var{c}, size_t @var{n})
+@deftypefn Supplemental void* memchr (const void *@var{s}, int @var{c}, @
+  size_t @var{n})
 
 This function searches memory starting at @code{*@var{s}} for the
 character @var{c}.  The search only ends with the first occurrence of
 
 This function searches memory starting at @code{*@var{s}} for the
 character @var{c}.  The search only ends with the first occurrence of
@@ -690,7 +733,8 @@ returned.
 @end deftypefn
 
 @c memcmp.c:6
 @end deftypefn
 
 @c memcmp.c:6
-@deftypefn Supplemental int memcmp (const void *@var{x}, const void *@var{y}, size_t @var{count})
+@deftypefn Supplemental int memcmp (const void *@var{x}, const void *@var{y}, @
+  size_t @var{count})
 
 Compares the first @var{count} bytes of two areas of memory.  Returns
 zero if they are the same, a value less than zero if @var{x} is
 
 Compares the first @var{count} bytes of two areas of memory.  Returns
 zero if they are the same, a value less than zero if @var{x} is
@@ -701,7 +745,8 @@ as if comparing unsigned char arrays.
 @end deftypefn
 
 @c memcpy.c:6
 @end deftypefn
 
 @c memcpy.c:6
-@deftypefn Supplemental void* memcpy (void *@var{out}, const void *@var{in}, size_t @var{length})
+@deftypefn Supplemental void* memcpy (void *@var{out}, const void *@var{in}, @
+  size_t @var{length})
 
 Copies @var{length} bytes from memory region @var{in} to region
 @var{out}.  Returns a pointer to @var{out}.
 
 Copies @var{length} bytes from memory region @var{in} to region
 @var{out}.  Returns a pointer to @var{out}.
@@ -709,7 +754,8 @@ Copies @var{length} bytes from memory region @var{in} to region
 @end deftypefn
 
 @c memmem.c:20
 @end deftypefn
 
 @c memmem.c:20
-@deftypefn Supplemental void* memmem (const void *@var{haystack}, size_t @var{haystack_len} const void *@var{needle}, size_t @var{needle_len})
+@deftypefn Supplemental void* memmem (const void *@var{haystack}, @
+  size_t @var{haystack_len} const void *@var{needle}, size_t @var{needle_len})
 
 Returns a pointer to the first occurrence of @var{needle} (length
 @var{needle_len}) in @var{haystack} (length @var{haystack_len}).
 
 Returns a pointer to the first occurrence of @var{needle} (length
 @var{needle_len}) in @var{haystack} (length @var{haystack_len}).
@@ -718,7 +764,8 @@ Returns @code{NULL} if not found.
 @end deftypefn
 
 @c memmove.c:6
 @end deftypefn
 
 @c memmove.c:6
-@deftypefn Supplemental void* memmove (void *@var{from}, const void *@var{to}, size_t @var{count})
+@deftypefn Supplemental void* memmove (void *@var{from}, const void *@var{to}, @
+  size_t @var{count})
 
 Copies @var{count} bytes from memory area @var{from} to memory area
 @var{to}, returning a pointer to @var{to}.
 
 Copies @var{count} bytes from memory area @var{from} to memory area
 @var{to}, returning a pointer to @var{to}.
@@ -726,7 +773,8 @@ Copies @var{count} bytes from memory area @var{from} to memory area
 @end deftypefn
 
 @c mempcpy.c:23
 @end deftypefn
 
 @c mempcpy.c:23
-@deftypefn Supplemental void* mempcpy (void *@var{out}, const void *@var{in}, size_t @var{length})
+@deftypefn Supplemental void* mempcpy (void *@var{out}, const void *@var{in}, @
+  size_t @var{length})
 
 Copies @var{length} bytes from memory region @var{in} to region
 @var{out}.  Returns a pointer to @var{out} + @var{length}.
 
 Copies @var{length} bytes from memory region @var{in} to region
 @var{out}.  Returns a pointer to @var{out} + @var{length}.
@@ -734,14 +782,15 @@ Copies @var{length} bytes from memory region @var{in} to region
 @end deftypefn
 
 @c memset.c:6
 @end deftypefn
 
 @c memset.c:6
-@deftypefn Supplemental void* memset (void *@var{s}, int @var{c}, size_t @var{count})
+@deftypefn Supplemental void* memset (void *@var{s}, int @var{c}, @
+  size_t @var{count})
 
 Sets the first @var{count} bytes of @var{s} to the constant byte
 @var{c}, returning a pointer to @var{s}.
 
 @end deftypefn
 
 
 Sets the first @var{count} bytes of @var{s} to the constant byte
 @var{c}, returning a pointer to @var{s}.
 
 @end deftypefn
 
-@c mkstemps.c:58
+@c mkstemps.c:60
 @deftypefn Replacement int mkstemps (char *@var{pattern}, int @var{suffix_len})
 
 Generate a unique temporary file name from @var{pattern}.
 @deftypefn Replacement int mkstemps (char *@var{pattern}, int @var{suffix_len})
 
 Generate a unique temporary file name from @var{pattern}.
@@ -759,7 +808,7 @@ reading and writing.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c pexecute.txh:266
+@c pexecute.txh:278
 @deftypefn Extension void pex_free (struct pex_obj @var{obj})
 
 Clean up and free all data associated with @var{obj}.  If you have not
 @deftypefn Extension void pex_free (struct pex_obj @var{obj})
 
 Clean up and free all data associated with @var{obj}.  If you have not
@@ -768,8 +817,9 @@ try to kill the subprocesses.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c pexecute.txh:241
-@deftypefn Extension int pex_get_status (struct pex_obj *@var{obj}, int @var{count}, int *@var{vector})
+@c pexecute.txh:251
+@deftypefn Extension int pex_get_status (struct pex_obj *@var{obj}, @
+  int @var{count}, int *@var{vector})
 
 Returns the exit status of all programs run using @var{obj}.
 @var{count} is the number of results expected.  The results will be
 
 Returns the exit status of all programs run using @var{obj}.
 @var{count} is the number of results expected.  The results will be
@@ -778,8 +828,9 @@ to @code{pex_run}.  Returns 0 on error, 1 on success.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c pexecute.txh:250
-@deftypefn Extension int pex_get_times (struct pex_obj *@var{obj}, int @var{count}, struct pex_time *@var{vector})
+@c pexecute.txh:261
+@deftypefn Extension int pex_get_times (struct pex_obj *@var{obj}, @
+  int @var{count}, struct pex_time *@var{vector})
 
 Returns the process execution times of all programs run using
 @var{obj}.  @var{count} is the number of results expected.  The
 
 Returns the process execution times of all programs run using
 @var{obj}.  @var{count} is the number of results expected.  The
@@ -796,7 +847,8 @@ process times, all the fields will be set to @code{0}.
 @end deftypefn
 
 @c pexecute.txh:2
 @end deftypefn
 
 @c pexecute.txh:2
-@deftypefn Extension {struct pex_obj *} pex_init (int @var{flags}, const char *@var{pname}, const char *@var{tempbase})
+@deftypefn Extension {struct pex_obj *} pex_init (int @var{flags}, @
+  const char *@var{pname}, const char *@var{tempbase})
 
 Prepare to execute one or more programs, with standard output of each
 program fed to standard input of the next.  This is a system
 
 Prepare to execute one or more programs, with standard output of each
 program fed to standard input of the next.  This is a system
@@ -827,8 +879,9 @@ temporary files; it may be @code{NULL} to use a randomly chosen name.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c pexecute.txh:155
-@deftypefn Extension {FILE *} pex_input_file (struct pex_obj *@var{obj}, int @var{flags}, const char *@var{in_name})
+@c pexecute.txh:161
+@deftypefn Extension {FILE *} pex_input_file (struct pex_obj *@var{obj}, @
+  int @var{flags}, const char *@var{in_name})
 
 Return a stream for a temporary file to pass to the first program in
 the pipeline as input.
 
 Return a stream for a temporary file to pass to the first program in
 the pipeline as input.
@@ -845,8 +898,9 @@ binary mode; otherwise, open it in the default mode.  Including
 @code{PEX_BINARY_OUTPUT} in @var{flags} has no effect on Unix.
 @end deftypefn
 
 @code{PEX_BINARY_OUTPUT} in @var{flags} has no effect on Unix.
 @end deftypefn
 
-@c pexecute.txh:172
-@deftypefn Extension {FILE *} pex_input_pipe (struct pex_obj *@var{obj}, int @var{binary})
+@c pexecute.txh:179
+@deftypefn Extension {FILE *} pex_input_pipe (struct pex_obj *@var{obj}, @
+  int @var{binary})
 
 Return a stream @var{fp} for a pipe connected to the standard input of
 the first program in the pipeline; @var{fp} is opened for writing.
 
 Return a stream @var{fp} for a pipe connected to the standard input of
 the first program in the pipeline; @var{fp} is opened for writing.
@@ -890,8 +944,11 @@ the output pipe is you, but you are blocked on the input pipe.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c pexecute.txh:274
-@deftypefn Extension {const char *} pex_one (int @var{flags}, const char *@var{executable}, char * const *@var{argv}, const char *@var{pname}, const char *@var{outname}, const char *@var{errname}, int *@var{status}, int *@var{err})
+@c pexecute.txh:286
+@deftypefn Extension {const char *} pex_one (int @var{flags}, @
+  const char *@var{executable}, char * const *@var{argv}, @
+  const char *@var{pname}, const char *@var{outname}, const char *@var{errname}, @
+  int *@var{status}, int *@var{err})
 
 An interface to permit the easy execution of a
 single program.  The return value and most of the parameters are as
 
 An interface to permit the easy execution of a
 single program.  The return value and most of the parameters are as
@@ -903,8 +960,9 @@ be set to the exit status of the program.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c pexecute.txh:228
-@deftypefn Extension {FILE *} pex_read_err (struct pex_obj *@var{obj}, int @var{binary})
+@c pexecute.txh:237
+@deftypefn Extension {FILE *} pex_read_err (struct pex_obj *@var{obj}, @
+  int @var{binary})
 
 Returns a @code{FILE} pointer which may be used to read the standard
 error of the last program in the pipeline.  When this is used,
 
 Returns a @code{FILE} pointer which may be used to read the standard
 error of the last program in the pipeline.  When this is used,
@@ -916,8 +974,9 @@ it will be closed by @code{pex_free}.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c pexecute.txh:216
-@deftypefn Extension {FILE *} pex_read_output (struct pex_obj *@var{obj}, int @var{binary})
+@c pexecute.txh:224
+@deftypefn Extension {FILE *} pex_read_output (struct pex_obj *@var{obj}, @
+  int @var{binary})
 
 Returns a @code{FILE} pointer which may be used to read the standard
 output of the last program in the pipeline.  When this is used,
 
 Returns a @code{FILE} pointer which may be used to read the standard
 output of the last program in the pipeline.  When this is used,
@@ -929,8 +988,10 @@ it will be closed by @code{pex_free}.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c pexecute.txh:33
-@deftypefn Extension {const char *} pex_run (struct pex_obj *@var{obj}, int @var{flags}, const char *@var{executable}, char * const *@var{argv}, const char *@var{outname}, const char *@var{errname}, int *@var{err})
+@c pexecute.txh:34
+@deftypefn Extension {const char *} pex_run (struct pex_obj *@var{obj}, @
+  int @var{flags}, const char *@var{executable}, char * const *@var{argv}, @
+  const char *@var{outname}, const char *@var{errname}, int *@var{err})
 
 Execute one program in a pipeline.  On success this returns
 @code{NULL}.  On failure it returns an error message, a statically
 
 Execute one program in a pipeline.  On success this returns
 @code{NULL}.  On failure it returns an error message, a statically
@@ -1039,8 +1100,11 @@ value, or to 0 if there is no relevant @code{errno}.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c pexecute.txh:142
-@deftypefn Extension {const char *} pex_run_in_environment (struct pex_obj *@var{obj}, int @var{flags}, const char *@var{executable}, char * const *@var{argv}, char * const *@var{env}, int @var{env_size}, const char *@var{outname}, const char *@var{errname}, int *@var{err})
+@c pexecute.txh:145
+@deftypefn Extension {const char *} pex_run_in_environment (struct pex_obj *@var{obj}, @
+  int @var{flags}, const char *@var{executable}, char * const *@var{argv}, @
+  char * const *@var{env}, int @var{env_size}, const char *@var{outname}, @
+  const char *@var{errname}, int *@var{err})
 
 Execute one program in a pipeline, permitting the environment for the
 program to be specified.  Behaviour and parameters not listed below are
 
 Execute one program in a pipeline, permitting the environment for the
 program to be specified.  Behaviour and parameters not listed below are
@@ -1053,8 +1117,11 @@ form @code{VAR=VALUE}, with the exception of the last element that must be
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c pexecute.txh:286
-@deftypefn Extension int pexecute (const char *@var{program}, char * const *@var{argv}, const char *@var{this_pname}, const char *@var{temp_base}, char **@var{errmsg_fmt}, char **@var{errmsg_arg}, int @var{flags})
+@c pexecute.txh:301
+@deftypefn Extension int pexecute (const char *@var{program}, @
+  char * const *@var{argv}, const char *@var{this_pname}, @
+  const char *@var{temp_base}, char **@var{errmsg_fmt}, @
+  char **@var{errmsg_arg}, int @var{flags})
 
 This is the old interface to execute one or more programs.  It is
 still supported for compatibility purposes, but is no longer
 
 This is the old interface to execute one or more programs.  It is
 still supported for compatibility purposes, but is no longer
@@ -1081,7 +1148,7 @@ name is unset/removed.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c pexecute.txh:294
+@c pexecute.txh:312
 @deftypefn Extension int pwait (int @var{pid}, int *@var{status}, int @var{flags})
 
 Another part of the old execution interface.
 @deftypefn Extension int pwait (int @var{pid}, int *@var{status}, int @var{flags})
 
 Another part of the old execution interface.
@@ -1091,7 +1158,8 @@ Another part of the old execution interface.
 @c random.c:39
 @deftypefn Supplement {long int} random (void)
 @deftypefnx Supplement void srandom (unsigned int @var{seed})
 @c random.c:39
 @deftypefn Supplement {long int} random (void)
 @deftypefnx Supplement void srandom (unsigned int @var{seed})
-@deftypefnx Supplement void* initstate (unsigned int @var{seed}, void *@var{arg_state}, unsigned long @var{n})
+@deftypefnx Supplement void* initstate (unsigned int @var{seed}, @
+  void *@var{arg_state}, unsigned long @var{n})
 @deftypefnx Supplement void* setstate (void *@var{arg_state})
 
 Random number functions.  @code{random} returns a random number in the
 @deftypefnx Supplement void* setstate (void *@var{arg_state})
 
 Random number functions.  @code{random} returns a random number in the
@@ -1103,8 +1171,9 @@ control over the state of the random number generator.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c concat.c:173
-@deftypefn Extension char* reconcat (char *@var{optr}, const char *@var{s1}, @dots{}, @code{NULL})
+@c concat.c:160
+@deftypefn Extension char* reconcat (char *@var{optr}, const char *@var{s1}, @
+  @dots{}, @code{NULL})
 
 Same as @code{concat}, except that if @var{optr} is not @code{NULL} it
 is freed after the string is created.  This is intended to be useful
 
 Same as @code{concat}, except that if @var{optr} is not @code{NULL} it
 is freed after the string is created.  This is intended to be useful
@@ -1135,7 +1204,8 @@ deprecated in new programs in favor of @code{strrchr}.
 @end deftypefn
 
 @c setenv.c:22
 @end deftypefn
 
 @c setenv.c:22
-@deftypefn Supplemental int setenv (const char *@var{name}, const char *@var{value}, int @var{overwrite})
+@deftypefn Supplemental int setenv (const char *@var{name}, @
+  const char *@var{value}, int @var{overwrite})
 @deftypefnx Supplemental void unsetenv (const char *@var{name})
 
 @code{setenv} adds @var{name} to the environment with value
 @deftypefnx Supplemental void unsetenv (const char *@var{name})
 
 @code{setenv} adds @var{name} to the environment with value
@@ -1146,8 +1216,8 @@ environment.  This implementation is not safe for multithreaded code.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c setproctitle.c:30
-@deftypefn Supplemental void setproctitle (const char *@var{fmt} ...)
+@c setproctitle.c:31
+@deftypefn Supplemental void setproctitle (const char *@var{fmt}, ...)
 
 Set the title of a process to @var{fmt}. va args not supported for now,
 but defined for compatibility with BSD. 
 
 Set the title of a process to @var{fmt}. va args not supported for now,
 but defined for compatibility with BSD. 
@@ -1181,8 +1251,10 @@ be the value @code{1}).
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c simple-object.txh:87
-@deftypefn Extension {const char *} simple_object_attributes_compare (simple_object_attributes *@var{attrs1}, simple_object_attributes *@var{attrs2}, int *@var{err})
+@c simple-object.txh:96
+@deftypefn Extension {const char *} simple_object_attributes_compare @
+  (simple_object_attributes *@var{attrs1}, simple_object_attributes *@var{attrs2}, @
+   int *@var{err})
 
 Compare @var{attrs1} and @var{attrs2}.  If they could be linked
 together without error, return @code{NULL}.  Otherwise, return an
 
 Compare @var{attrs1} and @var{attrs2}.  If they could be linked
 together without error, return @code{NULL}.  Otherwise, return an
@@ -1191,8 +1263,9 @@ if there is no relevant errno.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c simple-object.txh:73
-@deftypefn Extension {simple_object_attributes *} simple_object_fetch_attributes (simple_object_read *@var{simple_object}, const char **@var{errmsg}, int *@var{err})
+@c simple-object.txh:81
+@deftypefn Extension {simple_object_attributes *} simple_object_fetch_attributes @
+  (simple_object_read *@var{simple_object}, const char **@var{errmsg}, int *@var{err})
 
 Fetch the attributes of @var{simple_object}.  The attributes are
 internal information such as the format of the object file, or the
 
 Fetch the attributes of @var{simple_object}.  The attributes are
 internal information such as the format of the object file, or the
@@ -1206,8 +1279,10 @@ error message, and sets @code{*@var{err}} to an errno value or
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c simple-object.txh:44
-@deftypefn Extension {int} simple_object_find_section (simple_object_read *@var{simple_object} off_t *@var{offset}, off_t *@var{length}, const char **@var{errmsg}, int *@var{err})           
+@c simple-object.txh:49
+@deftypefn Extension {int} simple_object_find_section @
+  (simple_object_read *@var{simple_object} off_t *@var{offset}, @
+  off_t *@var{length}, const char **@var{errmsg}, int *@var{err})
 
 Look for the section @var{name} in @var{simple_object}.  This returns
 information for the first section with that name.
 
 Look for the section @var{name} in @var{simple_object}.  This returns
 information for the first section with that name.
@@ -1229,8 +1304,11 @@ relevant errno.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c simple-object.txh:25
-@deftypefn Extension {const char *} simple_object_find_sections (simple_object_read *@var{simple_object}, int (*@var{pfn}) (void *@var{data}, const char *@var{name}, off_t @var{offset}, off_t @var{length}), void *@var{data}, int *@var{err})
+@c simple-object.txh:27
+@deftypefn Extension {const char *} simple_object_find_sections @
+  (simple_object_read *@var{simple_object}, int (*@var{pfn}) (void *@var{data}, @
+  const char *@var{name}, off_t @var{offset}, off_t @var{length}), @
+  void *@var{data}, int *@var{err})
 
 This function calls @var{pfn} for each section in @var{simple_object}.
 It calls @var{pfn} with the section name, the offset within the file
 
 This function calls @var{pfn} for each section in @var{simple_object}.
 It calls @var{pfn} with the section name, the offset within the file
@@ -1250,7 +1328,9 @@ or @code{0} if there is no relevant errno.
 @end deftypefn
 
 @c simple-object.txh:2
 @end deftypefn
 
 @c simple-object.txh:2
-@deftypefn Extension {simple_object_read *} simple_object_open_read (int @var{descriptor}, off_t @var{offset}, const char *{segment_name}, const char **@var{errmsg}, int *@var{err})
+@deftypefn Extension {simple_object_read *} simple_object_open_read @
+  (int @var{descriptor}, off_t @var{offset}, const char *{segment_name}, @
+  const char **@var{errmsg}, int *@var{err})
 
 Opens an object file for reading.  Creates and returns an
 @code{simple_object_read} pointer which may be passed to other
 
 Opens an object file for reading.  Creates and returns an
 @code{simple_object_read} pointer which may be passed to other
@@ -1273,30 +1353,35 @@ an errno value or @code{0} if there is no relevant errno.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c simple-object.txh:96
-@deftypefn Extension {void} simple_object_release_attributes (simple_object_attributes *@var{attrs})
+@c simple-object.txh:107
+@deftypefn Extension {void} simple_object_release_attributes @
+  (simple_object_attributes *@var{attrs})
 
 Release all resources associated with @var{attrs}.
 
 @end deftypefn
 
 
 Release all resources associated with @var{attrs}.
 
 @end deftypefn
 
-@c simple-object.txh:66
-@deftypefn Extension {void} simple_object_release_read (simple_object_read *@var{simple_object})
+@c simple-object.txh:73
+@deftypefn Extension {void} simple_object_release_read @
+  (simple_object_read *@var{simple_object})
 
 Release all resources associated with @var{simple_object}.  This does
 not close the file descriptor.
 
 @end deftypefn
 
 
 Release all resources associated with @var{simple_object}.  This does
 not close the file descriptor.
 
 @end deftypefn
 
-@c simple-object.txh:164
-@deftypefn Extension {void} simple_object_release_write (simple_object_write *@var{simple_object})
+@c simple-object.txh:184
+@deftypefn Extension {void} simple_object_release_write @
+  (simple_object_write *@var{simple_object})
 
 Release all resources associated with @var{simple_object}.
 
 @end deftypefn
 
 
 Release all resources associated with @var{simple_object}.
 
 @end deftypefn
 
-@c simple-object.txh:102
-@deftypefn Extension {simple_object_write *} simple_object_start_write (simple_object_attributes @var{attrs}, const char *@var{segment_name}, const char **@var{errmsg}, int *@var{err})
+@c simple-object.txh:114
+@deftypefn Extension {simple_object_write *} simple_object_start_write @
+  (simple_object_attributes @var{attrs}, const char *@var{segment_name}, @
+  const char **@var{errmsg}, int *@var{err})
 
 Start creating a new object file using the object file format
 described in @var{attrs}.  You must fetch attribute information from
 
 Start creating a new object file using the object file format
 described in @var{attrs}.  You must fetch attribute information from
@@ -1314,8 +1399,11 @@ to an errno value or @code{0} if there is no relevant errno.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c simple-object.txh:137
-@deftypefn Extension {const char *} simple_object_write_add_data (simple_object_write *@var{simple_object}, simple_object_write_section *@var{section}, const void *@var{buffer}, size_t @var{size}, int @var{copy}, int *@var{err})
+@c simple-object.txh:153
+@deftypefn Extension {const char *} simple_object_write_add_data @
+  (simple_object_write *@var{simple_object}, @
+  simple_object_write_section *@var{section}, const void *@var{buffer}, @
+  size_t @var{size}, int @var{copy}, int *@var{err})
 
 Add data @var{buffer}/@var{size} to @var{section} in
 @var{simple_object}.  If @var{copy} is non-zero, the data will be
 
 Add data @var{buffer}/@var{size} to @var{section} in
 @var{simple_object}.  If @var{copy} is non-zero, the data will be
@@ -1329,8 +1417,10 @@ no relevant erro.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c simple-object.txh:120
-@deftypefn Extension {simple_object_write_section *} simple_object_write_create_section (simple_object_write *@var{simple_object}, const char *@var{name}, unsigned int @var{align}, const char **@var{errmsg}, int *@var{err})
+@c simple-object.txh:134
+@deftypefn Extension {simple_object_write_section *} simple_object_write_create_section @
+  (simple_object_write *@var{simple_object}, const char *@var{name}, @
+  unsigned int @var{align}, const char **@var{errmsg}, int *@var{err})
 
 Add a section to @var{simple_object}.  @var{name} is the name of the
 new section.  @var{align} is the required alignment expressed as the
 
 Add a section to @var{simple_object}.  @var{name} is the name of the
 new section.  @var{align} is the required alignment expressed as the
@@ -1347,8 +1437,9 @@ error message, and sets @code{*@var{err}} to an errno value or
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c simple-object.txh:151
-@deftypefn Extension {const char *} simple_object_write_to_file (simple_object_write *@var{simple_object}, int @var{descriptor}, int *@var{err})
+@c simple-object.txh:170
+@deftypefn Extension {const char *} simple_object_write_to_file @
+  (simple_object_write *@var{simple_object}, int @var{descriptor}, int *@var{err})
 
 Write the complete object file to @var{descriptor}, an open file
 descriptor.  This writes out all the data accumulated by calls to
 
 Write the complete object file to @var{descriptor}, an open file
 descriptor.  This writes out all the data accumulated by calls to
@@ -1362,7 +1453,8 @@ there is no relevant errno.
 @end deftypefn
 
 @c snprintf.c:28
 @end deftypefn
 
 @c snprintf.c:28
-@deftypefn Supplemental int snprintf (char *@var{buf}, size_t @var{n}, const char *@var{format}, ...)
+@deftypefn Supplemental int snprintf (char *@var{buf}, size_t @var{n}, @
+  const char *@var{format}, ...)
 
 This function is similar to @code{sprintf}, but it will write to
 @var{buf} at most @code{@var{n}-1} bytes of text, followed by a
 
 This function is similar to @code{sprintf}, but it will write to
 @var{buf} at most @code{@var{n}-1} bytes of text, followed by a
@@ -1385,6 +1477,38 @@ valid until at least the next call.
 
 @end deftypefn
 
 
 @end deftypefn
 
+@c splay-tree.c:305
+@deftypefn Supplemental splay_tree splay_tree_new_with_typed_alloc @
+(splay_tree_compare_fn @var{compare_fn}, @
+splay_tree_delete_key_fn @var{delete_key_fn}, @
+splay_tree_delete_value_fn @var{delete_value_fn}, @
+splay_tree_allocate_fn @var{tree_allocate_fn}, @
+splay_tree_allocate_fn @var{node_allocate_fn}, @
+splay_tree_deallocate_fn @var{deallocate_fn}, @
+void * @var{allocate_data})
+
+This function creates a splay tree that uses two different allocators
+@var{tree_allocate_fn} and @var{node_allocate_fn} to use for allocating the
+tree itself and its nodes respectively.  This is useful when variables of
+different types need to be allocated with different allocators.
+
+The splay tree will use @var{compare_fn} to compare nodes,
+@var{delete_key_fn} to deallocate keys, and @var{delete_value_fn} to
+deallocate values.  Keys and values will be deallocated when the
+tree is deleted using splay_tree_delete or when a node is removed
+using splay_tree_remove.  splay_tree_insert will release the previously
+inserted key and value using @var{delete_key_fn} and @var{delete_value_fn}
+if the inserted key is already found in the tree.
+
+@end deftypefn
+
+@c stack-limit.c:28
+@deftypefn Extension void stack_limit_increase (unsigned long @var{pref})
+
+Attempt to increase stack size limit to @var{pref} bytes if possible.
+
+@end deftypefn
+
 @c stpcpy.c:23
 @deftypefn Supplemental char* stpcpy (char *@var{dst}, const char *@var{src})
 
 @c stpcpy.c:23
 @deftypefn Supplemental char* stpcpy (char *@var{dst}, const char *@var{src})
 
@@ -1394,7 +1518,8 @@ Copies the string @var{src} into @var{dst}.  Returns a pointer to
 @end deftypefn
 
 @c stpncpy.c:23
 @end deftypefn
 
 @c stpncpy.c:23
-@deftypefn Supplemental char* stpncpy (char *@var{dst}, const char *@var{src}, size_t @var{len})
+@deftypefn Supplemental char* stpncpy (char *@var{dst}, const char *@var{src}, @
+  size_t @var{len})
 
 Copies the string @var{src} into @var{dst}, copying exactly @var{len}
 and padding with zeros if necessary.  If @var{len} < strlen(@var{src})
 
 Copies the string @var{src} into @var{dst}, copying exactly @var{len}
 and padding with zeros if necessary.  If @var{len} < strlen(@var{src})
@@ -1427,7 +1552,7 @@ Returns a pointer to a copy of @var{s} in memory obtained from
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c strerror.c:670
+@c strerror.c:675
 @deftypefn Replacement {const char*} strerrno (int @var{errnum})
 
 Given an error number returned from a system call (typically returned
 @deftypefn Replacement {const char*} strerrno (int @var{errnum})
 
 Given an error number returned from a system call (typically returned
@@ -1447,7 +1572,7 @@ valid until the next call to @code{strerrno}.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c strerror.c:603
+@c strerror.c:608
 @deftypefn Supplemental char* strerror (int @var{errnoval})
 
 Maps an @code{errno} number to an error message string, the contents
 @deftypefn Supplemental char* strerror (int @var{errnoval})
 
 Maps an @code{errno} number to an error message string, the contents
@@ -1476,7 +1601,8 @@ A case-insensitive @code{strncmp}.
 @end deftypefn
 
 @c strncmp.c:6
 @end deftypefn
 
 @c strncmp.c:6
-@deftypefn Supplemental int strncmp (const char *@var{s1}, const char *@var{s2}, size_t @var{n})
+@deftypefn Supplemental int strncmp (const char *@var{s1}, @
+  const char *@var{s2}, size_t @var{n})
 
 Compares the first @var{n} bytes of two strings, returning a value as
 @code{strcmp}.
 
 Compares the first @var{n} bytes of two strings, returning a value as
 @code{strcmp}.
@@ -1492,6 +1618,16 @@ memory was available.  The result is always NUL terminated.
 
 @end deftypefn
 
 
 @end deftypefn
 
+@c strnlen.c:6
+@deftypefn Supplemental size_t strnlen (const char *@var{s}, size_t @var{maxlen})
+
+Returns the length of @var{s}, as with @code{strlen}, but never looks
+past the first @var{maxlen} characters in the string.  If there is no
+'\0' character in the first @var{maxlen} characters, returns
+@var{maxlen}.
+
+@end deftypefn
+
 @c strrchr.c:6
 @deftypefn Supplemental char* strrchr (const char *@var{s}, int @var{c})
 
 @c strrchr.c:6
 @deftypefn Supplemental char* strrchr (const char *@var{s}, int @var{c})
 
@@ -1553,7 +1689,8 @@ length, the function returns @var{string}.
 @end deftypefn
 
 @c strtod.c:27
 @end deftypefn
 
 @c strtod.c:27
-@deftypefn Supplemental double strtod (const char *@var{string}, char **@var{endptr})
+@deftypefn Supplemental double strtod (const char *@var{string}, @
+  char **@var{endptr})
 
 This ISO C function converts the initial portion of @var{string} to a
 @code{double}.  If @var{endptr} is not @code{NULL}, a pointer to the
 
 This ISO C function converts the initial portion of @var{string} to a
 @code{double}.  If @var{endptr} is not @code{NULL}, a pointer to the
@@ -1564,7 +1701,7 @@ the location referenced by @var{endptr}.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c strerror.c:729
+@c strerror.c:734
 @deftypefn Extension int strtoerrno (const char *@var{name})
 
 Given the symbolic name of a error number (e.g., @code{EACCES}), map it
 @deftypefn Extension int strtoerrno (const char *@var{name})
 
 Given the symbolic name of a error number (e.g., @code{EACCES}), map it
@@ -1573,8 +1710,10 @@ to an errno value.  If no translation is found, returns 0.
 @end deftypefn
 
 @c strtol.c:33
 @end deftypefn
 
 @c strtol.c:33
-@deftypefn Supplemental {long int} strtol (const char *@var{string}, char **@var{endptr}, int @var{base})
-@deftypefnx Supplemental {unsigned long int} strtoul (const char *@var{string}, char **@var{endptr}, int @var{base})
+@deftypefn Supplemental {long int} strtol (const char *@var{string}, @
+  char **@var{endptr}, int @var{base})
+@deftypefnx Supplemental {unsigned long int} strtoul (const char *@var{string}, @
+  char **@var{endptr}, int @var{base})
 
 The @code{strtol} function converts the string in @var{string} to a
 long integer value according to the given @var{base}, which must be
 
 The @code{strtol} function converts the string in @var{string} to a
 long integer value according to the given @var{base}, which must be
@@ -1588,6 +1727,24 @@ that the converted value is unsigned.
 
 @end deftypefn
 
 
 @end deftypefn
 
+@c strtoll.c:33
+@deftypefn Supplemental {long long int} strtoll (const char *@var{string}, @
+  char **@var{endptr}, int @var{base})
+@deftypefnx Supplemental {unsigned long long int} strtoul (@
+  const char *@var{string}, char **@var{endptr}, int @var{base})
+
+The @code{strtoll} function converts the string in @var{string} to a
+long long integer value according to the given @var{base}, which must be
+between 2 and 36 inclusive, or be the special value 0.  If @var{base}
+is 0, @code{strtoll} will look for the prefixes @code{0} and @code{0x}
+to indicate bases 8 and 16, respectively, else default to base 10.
+When the base is 16 (either explicitly or implicitly), a prefix of
+@code{0x} is allowed.  The handling of @var{endptr} is as that of
+@code{strtod} above.  The @code{strtoull} function is the same, except
+that the converted value is unsigned.
+
+@end deftypefn
+
 @c strsignal.c:502
 @deftypefn Extension int strtosigno (const char *@var{name})
 
 @c strsignal.c:502
 @deftypefn Extension int strtosigno (const char *@var{name})
 
@@ -1643,6 +1800,22 @@ This function is especially useful when dealing with filename sorting,
 because filenames frequently hold indices/version numbers.
 @end deftypefun
 
 because filenames frequently hold indices/version numbers.
 @end deftypefun
 
+@c timeval-utils.c:43
+@deftypefn Extension void timeval_add (struct timeval *@var{a}, @
+  struct timeval *@var{b}, struct timeval *@var{result})
+
+Adds @var{a} to @var{b} and stores the result in @var{result}.
+
+@end deftypefn
+
+@c timeval-utils.c:67
+@deftypefn Extension void timeval_sub (struct timeval *@var{a}, @
+  struct timeval *@var{b}, struct timeval *@var{result})
+
+Subtracts @var{b} from @var{a} and stores the result in @var{result}.
+
+@end deftypefn
+
 @c tmpnam.c:3
 @deftypefn Supplemental char* tmpnam (char *@var{s})
 
 @c tmpnam.c:3
 @deftypefn Supplemental char* tmpnam (char *@var{s})
 
@@ -1683,7 +1856,8 @@ pointer unchanged.  If the @var{stream} is @code{NULL} do nothing.
 @end deftypefn
 
 @c vasprintf.c:47
 @end deftypefn
 
 @c vasprintf.c:47
-@deftypefn Extension int vasprintf (char **@var{resptr}, const char *@var{format}, va_list @var{args})
+@deftypefn Extension int vasprintf (char **@var{resptr}, @
+  const char *@var{format}, va_list @var{args})
 
 Like @code{vsprintf}, but instead of passing a pointer to a buffer,
 you pass a pointer to a pointer.  This function will compute the size
 
 Like @code{vsprintf}, but instead of passing a pointer to a buffer,
 you pass a pointer to a pointer.  This function will compute the size
@@ -1704,8 +1878,10 @@ Emulates @code{vfork} by calling @code{fork} and returning its value.
 
 @c vprintf.c:3
 @deftypefn Supplemental int vprintf (const char *@var{format}, va_list @var{ap})
 
 @c vprintf.c:3
 @deftypefn Supplemental int vprintf (const char *@var{format}, va_list @var{ap})
-@deftypefnx Supplemental int vfprintf (FILE *@var{stream}, const char *@var{format}, va_list @var{ap})
-@deftypefnx Supplemental int vsprintf (char *@var{str}, const char *@var{format}, va_list @var{ap})
+@deftypefnx Supplemental int vfprintf (FILE *@var{stream}, @
+  const char *@var{format}, va_list @var{ap})
+@deftypefnx Supplemental int vsprintf (char *@var{str}, @
+  const char *@var{format}, va_list @var{ap})
 
 These functions are the same as @code{printf}, @code{fprintf}, and
 @code{sprintf}, respectively, except that they are called with a
 
 These functions are the same as @code{printf}, @code{fprintf}, and
 @code{sprintf}, respectively, except that they are called with a
@@ -1717,7 +1893,8 @@ nonstandard but common function @code{_doprnt}.
 @end deftypefn
 
 @c vsnprintf.c:28
 @end deftypefn
 
 @c vsnprintf.c:28
-@deftypefn Supplemental int vsnprintf (char *@var{buf}, size_t @var{n}, const char *@var{format}, va_list @var{ap})
+@deftypefn Supplemental int vsnprintf (char *@var{buf}, size_t @var{n}, @
+  const char *@var{format}, va_list @var{ap})
 
 This function is similar to @code{vsprintf}, but it will write to
 @var{buf} at most @code{@var{n}-1} bytes of text, followed by a
 
 This function is similar to @code{vsprintf}, but it will write to
 @var{buf} at most @code{@var{n}-1} bytes of text, followed by a
@@ -1740,8 +1917,8 @@ does the return value.  The third argument is unused in @libib{}.
 
 @end deftypefn
 
 
 @end deftypefn
 
-@c argv.c:306
-@deftypefn Extension int writeargv (const char **@var{argv}, FILE *@var{file})
+@c argv.c:289
+@deftypefn Extension int writeargv (char * const *@var{argv}, FILE *@var{file})
 
 Write each member of ARGV, handling all necessary quoting, to the file
 named by FILE, separated by whitespace.  Return 0 on success, non-zero
 
 Write each member of ARGV, handling all necessary quoting, to the file
 named by FILE, separated by whitespace.  Return 0 on success, non-zero
@@ -1749,6 +1926,15 @@ if an error occurred while writing to FILE.
 
 @end deftypefn
 
 
 @end deftypefn
 
+@c xasprintf.c:31
+@deftypefn Replacement char* xasprintf (const char *@var{format}, ...)
+
+Print to allocated string without fail.  If @code{xasprintf} fails,
+this will print a message to @code{stderr} (using the name set by
+@code{xmalloc_set_program_name}, if any) and then call @code{xexit}.
+
+@end deftypefn
+
 @c xatexit.c:11
 @deftypefun int xatexit (void (*@var{fn}) (void))
 
 @c xatexit.c:11
 @deftypefun int xatexit (void (*@var{fn}) (void))
 
@@ -1806,7 +1992,8 @@ You can use this to set the name of the program used by
 @end deftypefn
 
 @c xmemdup.c:7
 @end deftypefn
 
 @c xmemdup.c:7
-@deftypefn Replacement void* xmemdup (void *@var{input}, size_t @var{copy_size}, size_t @var{alloc_size})
+@deftypefn Replacement void* xmemdup (void *@var{input}, @
+  size_t @var{copy_size}, size_t @var{alloc_size})
 
 Duplicates a region of memory without fail.  First, @var{alloc_size} bytes
 are allocated, then @var{copy_size} bytes from @var{input} are copied into
 
 Duplicates a region of memory without fail.  First, @var{alloc_size} bytes
 are allocated, then @var{copy_size} bytes from @var{input} are copied into
@@ -1847,4 +2034,13 @@ always NUL terminated.
 
 @end deftypefn
 
 
 @end deftypefn
 
+@c xvasprintf.c:38
+@deftypefn Replacement char* xvasprintf (const char *@var{format}, va_list @var{args})
+
+Print to allocated string without fail.  If @code{xvasprintf} fails,
+this will print a message to @code{stderr} (using the name set by
+@code{xmalloc_set_program_name}, if any) and then call @code{xexit}.
+
+@end deftypefn
+
 
 
This page took 0.042298 seconds and 4 git commands to generate.