summaryrefslogtreecommitdiffstats
path: root/templates/man3/tsearch.3.pot
diff options
context:
space:
mode:
Diffstat (limited to 'templates/man3/tsearch.3.pot')
-rw-r--r--templates/man3/tsearch.3.pot784
1 files changed, 784 insertions, 0 deletions
diff --git a/templates/man3/tsearch.3.pot b/templates/man3/tsearch.3.pot
new file mode 100644
index 00000000..0f685fd3
--- /dev/null
+++ b/templates/man3/tsearch.3.pot
@@ -0,0 +1,784 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2024-03-01 17:12+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "tsearch"
+msgstr ""
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "2023-10-31"
+msgstr ""
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "Linux man-pages 6.06"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"tsearch, tfind, tdelete, twalk, twalk_r, tdestroy - manage a binary search "
+"tree"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "LIBRARY"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Standard C library (I<libc>, I<-lc>)"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SYNOPSIS"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<#include E<lt>search.hE<gt>>\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<typedef enum { preorder, postorder, endorder, leaf } VISIT;>\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<void *tsearch(const void *>I<key>B<, void **>I<rootp>B<,>\n"
+"B< int (*>I<compar>B<)(const void *, const void *));>\n"
+"B<void *tfind(const void *>I<key>B<, void *const *>I<rootp>B<,>\n"
+"B< int (*>I<compar>B<)(const void *, const void *));>\n"
+"B<void *tdelete(const void *restrict >I<key>B<, void **restrict >I<rootp>B<,>\n"
+"B< int (*>I<compar>B<)(const void *, const void *));>\n"
+"B<void twalk(const void *>I<root>B<,>\n"
+"B< void (*>I<action>B<)(const void *>I<nodep>B<, VISIT >I<which>B<,>\n"
+"B< int >I<depth>B<));>\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
+"B<#include E<lt>search.hE<gt>>\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<void twalk_r(const void *>I<root>B<,>\n"
+"B< void (*>I<action>B<)(const void *>I<nodep>B<, VISIT >I<which>B<,>\n"
+"B< void *>I<closure>B<),>\n"
+"B< void *>I<closure>B<);>\n"
+"B<void tdestroy(void *>I<root>B<, void (*>I<free_node>B<)(void *>I<nodep>B<));>\n"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<tsearch>(), B<tfind>(), B<twalk>(), and B<tdelete>() manage a binary "
+"search tree. They are generalized from Knuth (6.2.2) Algorithm T. The "
+"first field in each node of the tree is a pointer to the corresponding data "
+"item. (The calling program must store the actual data.) I<compar> points "
+"to a comparison routine, which takes pointers to two items. It should "
+"return an integer which is negative, zero, or positive, depending on whether "
+"the first item is less than, equal to, or greater than the second."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<tsearch>() searches the tree for an item. I<key> points to the item to "
+"be searched for. I<rootp> points to a variable which points to the root of "
+"the tree. If the tree is empty, then the variable that I<rootp> points to "
+"should be set to NULL. If the item is found in the tree, then B<tsearch>() "
+"returns a pointer to the corresponding tree node. (In other words, "
+"B<tsearch>() returns a pointer to a pointer to the data item.) If the item "
+"is not found, then B<tsearch>() adds it, and returns a pointer to the "
+"corresponding tree node."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<tfind>() is like B<tsearch>(), except that if the item is not found, then "
+"B<tfind>() returns NULL."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<tdelete>() deletes an item from the tree. Its arguments are the same as "
+"for B<tsearch>()."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<twalk>() performs depth-first, left-to-right traversal of a binary tree. "
+"I<root> points to the starting node for the traversal. If that node is not "
+"the root, then only part of the tree will be visited. B<twalk>() calls the "
+"user function I<action> each time a node is visited (that is, three times "
+"for an internal node, and once for a leaf). I<action>, in turn, takes three "
+"arguments. The first argument is a pointer to the node being visited. The "
+"structure of the node is unspecified, but it is possible to cast the pointer "
+"to a pointer-to-pointer-to-element in order to access the element stored "
+"within the node. The application must not modify the structure pointed to "
+"by this argument. The second argument is an integer which takes one of the "
+"values B<preorder>, B<postorder>, or B<endorder> depending on whether this "
+"is the first, second, or third visit to the internal node, or the value "
+"B<leaf> if this is the single visit to a leaf node. (These symbols are "
+"defined in I<E<lt>search.hE<gt>>.) The third argument is the depth of the "
+"node; the root node has depth zero."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"(More commonly, B<preorder>, B<postorder>, and B<endorder> are known as "
+"B<preorder>, B<inorder>, and B<postorder>: before visiting the children, "
+"after the first and before the second, and after visiting the children. "
+"Thus, the choice of name B<post\\%order> is rather confusing.)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<twalk_r>() is similar to B<twalk>(), but instead of the I<depth> "
+"argument, the I<closure> argument pointer is passed to each invocation of "
+"the action callback, unchanged. This pointer can be used to pass "
+"information to and from the callback function in a thread-safe fashion, "
+"without resorting to global variables."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<tdestroy>() removes the whole tree pointed to by I<root>, freeing all "
+"resources allocated by the B<tsearch>() function. For the data in each "
+"tree node the function I<free_node> is called. The pointer to the data is "
+"passed as the argument to the function. If no such work is necessary, "
+"I<free_node> must point to a function doing nothing."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "RETURN VALUE"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<tsearch>() returns a pointer to a matching node in the tree, or to the "
+"newly added node, or NULL if there was insufficient memory to add the item. "
+"B<tfind>() returns a pointer to the node, or NULL if no match is found. If "
+"there are multiple items that match the key, the item whose node is returned "
+"is unspecified."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<tdelete>() returns a pointer to the parent of the node deleted, or NULL "
+"if the item was not found. If the deleted node was the root node, "
+"B<tdelete>() returns a dangling pointer that must not be accessed."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<tsearch>(), B<tfind>(), and B<tdelete>() also return NULL if I<rootp> was "
+"NULL on entry."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "ATTRIBUTES"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"For an explanation of the terms used in this section, see B<attributes>(7)."
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Interface"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Attribute"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Value"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ".na\n"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ".nh\n"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<tsearch>(),\n"
+"B<tfind>(),\n"
+"B<tdelete>()"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Thread safety"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "MT-Safe race:rootp"
+msgstr ""
+
+#. #-#-#-#-# archlinux: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TQ
+#. #-#-#-#-# debian-bookworm: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: tbl table
+#. #-#-#-#-# debian-unstable: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TQ
+#. #-#-#-#-# fedora-40: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TQ
+#. #-#-#-#-# fedora-rawhide: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TQ
+#. #-#-#-#-# mageia-cauldron: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TQ
+#. #-#-#-#-# opensuse-leap-15-6: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TQ
+#. #-#-#-#-# opensuse-tumbleweed: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TQ
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<twalk>()"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "MT-Safe race:root"
+msgstr ""
+
+#. #-#-#-#-# archlinux: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#. #-#-#-#-# debian-bookworm: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: tbl table
+#. #-#-#-#-# debian-unstable: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#. #-#-#-#-# fedora-40: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#. #-#-#-#-# fedora-rawhide: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#. #-#-#-#-# mageia-cauldron: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#. #-#-#-#-# opensuse-leap-15-6: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#. #-#-#-#-# opensuse-tumbleweed: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<twalk_r>()"
+msgstr ""
+
+#. #-#-#-#-# archlinux: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#. #-#-#-#-# debian-bookworm: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: tbl table
+#. #-#-#-#-# debian-unstable: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#. #-#-#-#-# fedora-40: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#. #-#-#-#-# fedora-rawhide: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#. #-#-#-#-# mageia-cauldron: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#. #-#-#-#-# opensuse-leap-15-6: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#. #-#-#-#-# opensuse-tumbleweed: tsearch.3.pot (PACKAGE VERSION) #-#-#-#-#
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<tdestroy>()"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "MT-Safe"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "STANDARDS"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<tsearch>()"
+msgstr ""
+
+#. type: TQ
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<tfind>()"
+msgstr ""
+
+#. type: TQ
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<tdelete>()"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "POSIX.1-2008."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "GNU."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "HISTORY"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "POSIX.1-2001, POSIX.1-2008, SVr4."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "glibc 2.30."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NOTES"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<twalk>() takes a pointer to the root, while the other functions take a "
+"pointer to a variable which points to the root."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<tdelete>() frees the memory required for the node in the tree. The user "
+"is responsible for freeing the memory for the corresponding data."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The example program depends on the fact that B<twalk>() makes no further "
+"reference to a node after calling the user function with argument "
+"\"endorder\" or \"leaf\". This works with the GNU library implementation, "
+"but is not in the System V documentation."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "EXAMPLES"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The following program inserts twelve random numbers into a binary tree, "
+"where duplicate numbers are collapsed, then prints the numbers in order."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"#define _GNU_SOURCE /* Expose declaration of tdestroy() */\n"
+"#include E<lt>search.hE<gt>\n"
+"#include E<lt>stddef.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>time.hE<gt>\n"
+"\\&\n"
+"static void *root = NULL;\n"
+"\\&\n"
+"static void *\n"
+"xmalloc(size_t n)\n"
+"{\n"
+" void *p;\n"
+"\\&\n"
+" p = malloc(n);\n"
+" if (p)\n"
+" return p;\n"
+" fprintf(stderr, \"insufficient memory\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+"}\n"
+"\\&\n"
+"static int\n"
+"compare(const void *pa, const void *pb)\n"
+"{\n"
+" if (*(int *) pa E<lt> *(int *) pb)\n"
+" return -1;\n"
+" if (*(int *) pa E<gt> *(int *) pb)\n"
+" return 1;\n"
+" return 0;\n"
+"}\n"
+"\\&\n"
+"static void\n"
+"action(const void *nodep, VISIT which, int depth)\n"
+"{\n"
+" int *datap;\n"
+"\\&\n"
+" switch (which) {\n"
+" case preorder:\n"
+" break;\n"
+" case postorder:\n"
+" datap = *(int **) nodep;\n"
+" printf(\"%6d\\en\", *datap);\n"
+" break;\n"
+" case endorder:\n"
+" break;\n"
+" case leaf:\n"
+" datap = *(int **) nodep;\n"
+" printf(\"%6d\\en\", *datap);\n"
+" break;\n"
+" }\n"
+"}\n"
+"\\&\n"
+"int\n"
+"main(void)\n"
+"{\n"
+" int *ptr;\n"
+" int **val;\n"
+"\\&\n"
+" srand(time(NULL));\n"
+" for (unsigned int i = 0; i E<lt> 12; i++) {\n"
+" ptr = xmalloc(sizeof(*ptr));\n"
+" *ptr = rand() & 0xff;\n"
+" val = tsearch(ptr, &root, compare);\n"
+" if (val == NULL)\n"
+" exit(EXIT_FAILURE);\n"
+" if (*val != ptr)\n"
+" free(ptr);\n"
+" }\n"
+" twalk(root, action);\n"
+" tdestroy(root, free);\n"
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+msgstr ""
+
+#. SRC END
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SEE ALSO"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "B<bsearch>(3), B<hsearch>(3), B<lsearch>(3), B<qsort>(3)"
+msgstr ""
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "2023-01-26"
+msgstr ""
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "Linux man-pages 6.03"
+msgstr ""
+
+#. type: SH
+#: debian-bookworm
+#, no-wrap
+msgid "VERSIONS"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm
+msgid "B<twalk_r>() is available since glibc 2.30."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm
+msgid ""
+"POSIX.1-2001, POSIX.1-2008, SVr4. The functions B<tdestroy>() and "
+"B<twalk_r>() are GNU extensions."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"#define _GNU_SOURCE /* Expose declaration of tdestroy() */\n"
+"#include E<lt>search.hE<gt>\n"
+"#include E<lt>stddef.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>time.hE<gt>\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid "static void *root = NULL;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"static void *\n"
+"xmalloc(size_t n)\n"
+"{\n"
+" void *p;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" p = malloc(n);\n"
+" if (p)\n"
+" return p;\n"
+" fprintf(stderr, \"insufficient memory\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"static int\n"
+"compare(const void *pa, const void *pb)\n"
+"{\n"
+" if (*(int *) pa E<lt> *(int *) pb)\n"
+" return -1;\n"
+" if (*(int *) pa E<gt> *(int *) pb)\n"
+" return 1;\n"
+" return 0;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"static void\n"
+"action(const void *nodep, VISIT which, int depth)\n"
+"{\n"
+" int *datap;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" switch (which) {\n"
+" case preorder:\n"
+" break;\n"
+" case postorder:\n"
+" datap = *(int **) nodep;\n"
+" printf(\"%6d\\en\", *datap);\n"
+" break;\n"
+" case endorder:\n"
+" break;\n"
+" case leaf:\n"
+" datap = *(int **) nodep;\n"
+" printf(\"%6d\\en\", *datap);\n"
+" break;\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"int\n"
+"main(void)\n"
+"{\n"
+" int *ptr;\n"
+" int **val;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" srand(time(NULL));\n"
+" for (unsigned int i = 0; i E<lt> 12; i++) {\n"
+" ptr = xmalloc(sizeof(*ptr));\n"
+" *ptr = rand() & 0xff;\n"
+" val = tsearch(ptr, &root, compare);\n"
+" if (val == NULL)\n"
+" exit(EXIT_FAILURE);\n"
+" if (*val != ptr)\n"
+" free(ptr);\n"
+" }\n"
+" twalk(root, action);\n"
+" tdestroy(root, free);\n"
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+msgstr ""
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "2023-07-20"
+msgstr ""
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "Linux man-pages 6.05.01"
+msgstr ""
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "2023-03-30"
+msgstr ""
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "Linux man-pages 6.04"
+msgstr ""