msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2012-05-28 07:17+0900\n"
+"POT-Creation-Date: 2013-03-22 01:06+0900\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"
"Content-Transfer-Encoding: 8bit\n"
#. type: TH
-#: build/C/man3/bsearch.3:29
+#: build/C/man3/bsearch.3:31
#, no-wrap
msgid "BSEARCH"
msgstr ""
#. type: TH
-#: build/C/man3/bsearch.3:29
+#: build/C/man3/bsearch.3:31
#, no-wrap
msgid "2003-11-01"
msgstr ""
#. type: TH
-#: build/C/man3/bsearch.3:29 build/C/man3/hsearch.3:35 build/C/man3/insque.3:34 build/C/man3/lsearch.3:25 build/C/man3/qsort.3:35 build/C/man3/tsearch.3:24
+#: build/C/man3/bsearch.3:31 build/C/man3/hsearch.3:35 build/C/man3/insque.3:36 build/C/man3/lsearch.3:26 build/C/man3/qsort.3:37 build/C/man3/tsearch.3:25
#, no-wrap
msgid "Linux Programmer's Manual"
msgstr ""
#. type: SH
-#: build/C/man3/bsearch.3:30 build/C/man3/hsearch.3:36 build/C/man3/insque.3:35 build/C/man3/lsearch.3:26 build/C/man3/qsort.3:36 build/C/man3/tsearch.3:25
+#: build/C/man3/bsearch.3:32 build/C/man3/hsearch.3:36 build/C/man3/insque.3:37 build/C/man3/lsearch.3:27 build/C/man3/qsort.3:38 build/C/man3/tsearch.3:26
#, no-wrap
msgid "NAME"
msgstr ""
#. type: Plain text
-#: build/C/man3/bsearch.3:32
+#: build/C/man3/bsearch.3:34
msgid "bsearch - binary search of a sorted array"
msgstr ""
#. type: SH
-#: build/C/man3/bsearch.3:32 build/C/man3/hsearch.3:39 build/C/man3/insque.3:37 build/C/man3/lsearch.3:28 build/C/man3/qsort.3:38 build/C/man3/tsearch.3:27
+#: build/C/man3/bsearch.3:34 build/C/man3/hsearch.3:39 build/C/man3/insque.3:39 build/C/man3/lsearch.3:29 build/C/man3/qsort.3:40 build/C/man3/tsearch.3:28
#, no-wrap
msgid "SYNOPSIS"
msgstr ""
#. type: Plain text
-#: build/C/man3/bsearch.3:35 build/C/man3/qsort.3:41
+#: build/C/man3/bsearch.3:37 build/C/man3/qsort.3:43
#, no-wrap
msgid "B<#include E<lt>stdlib.hE<gt>>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/bsearch.3:39
+#: build/C/man3/bsearch.3:41
#, no-wrap
msgid ""
"B<void *bsearch(const void *>I<key>B<, const void *>I<base>B<,>\n"
msgstr ""
#. type: SH
-#: build/C/man3/bsearch.3:40 build/C/man3/hsearch.3:60 build/C/man3/insque.3:59 build/C/man3/lsearch.3:38 build/C/man3/qsort.3:59 build/C/man3/tsearch.3:50
+#: build/C/man3/bsearch.3:42 build/C/man3/hsearch.3:60 build/C/man3/insque.3:61 build/C/man3/lsearch.3:39 build/C/man3/qsort.3:61 build/C/man3/tsearch.3:51
#, no-wrap
msgid "DESCRIPTION"
msgstr ""
#. type: Plain text
-#: build/C/man3/bsearch.3:48
+#: build/C/man3/bsearch.3:50
msgid ""
"The B<bsearch>() function searches an array of I<nmemb> objects, the "
"initial member of which is pointed to by I<base>, for a member that matches "
msgstr ""
#. type: Plain text
-#: build/C/man3/bsearch.3:57
+#: build/C/man3/bsearch.3:59
msgid ""
"The contents of the array should be in ascending sorted order according to "
"the comparison function referenced by I<compar>. The I<compar> routine is "
msgstr ""
#. type: SH
-#: build/C/man3/bsearch.3:57 build/C/man3/hsearch.3:174 build/C/man3/lsearch.3:58 build/C/man3/qsort.3:89 build/C/man3/tsearch.3:132
+#: build/C/man3/bsearch.3:59 build/C/man3/hsearch.3:174 build/C/man3/lsearch.3:59 build/C/man3/qsort.3:91 build/C/man3/tsearch.3:167
#, no-wrap
msgid "RETURN VALUE"
msgstr ""
#. type: Plain text
-#: build/C/man3/bsearch.3:64
+#: build/C/man3/bsearch.3:66
msgid ""
"The B<bsearch>() function returns a pointer to a matching member of the "
"array, or NULL if no match is found. If there are multiple elements that "
msgstr ""
#. type: SH
-#: build/C/man3/bsearch.3:64 build/C/man3/hsearch.3:226 build/C/man3/insque.3:97 build/C/man3/lsearch.3:66 build/C/man3/qsort.3:98 build/C/man3/tsearch.3:153
+#: build/C/man3/bsearch.3:66 build/C/man3/hsearch.3:226 build/C/man3/insque.3:99 build/C/man3/lsearch.3:67 build/C/man3/qsort.3:100 build/C/man3/tsearch.3:190
#, no-wrap
msgid "CONFORMING TO"
msgstr ""
#. type: Plain text
-#: build/C/man3/bsearch.3:66
+#: build/C/man3/bsearch.3:68
msgid "SVr4, 4.3BSD, POSIX.1-2001, C89, C99."
msgstr ""
#. type: SH
-#: build/C/man3/bsearch.3:66 build/C/man3/hsearch.3:273 build/C/man3/insque.3:132 build/C/man3/qsort.3:114 build/C/man3/tsearch.3:181
+#: build/C/man3/bsearch.3:68 build/C/man3/hsearch.3:273 build/C/man3/insque.3:134 build/C/man3/qsort.3:116 build/C/man3/tsearch.3:212
#, no-wrap
msgid "EXAMPLE"
msgstr ""
#. type: Plain text
-#: build/C/man3/bsearch.3:71
+#: build/C/man3/bsearch.3:73
msgid ""
"The example below first sorts an array of structures using B<qsort>(3), then "
"retrieves desired elements using B<bsearch>()."
msgstr ""
#. type: Plain text
-#: build/C/man3/bsearch.3:76 build/C/man3/qsort.3:125
+#: build/C/man3/bsearch.3:78 build/C/man3/qsort.3:127
#, no-wrap
msgid ""
"#include E<lt>stdio.hE<gt>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/bsearch.3:85
+#: build/C/man3/bsearch.3:87
#, no-wrap
msgid ""
"struct mi {\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/bsearch.3:87
+#: build/C/man3/bsearch.3:89
#, no-wrap
msgid "#define nr_of_months (sizeof(months)/sizeof(months[0]))\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/bsearch.3:95
+#: build/C/man3/bsearch.3:97
#, no-wrap
msgid ""
"static int\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/bsearch.3:100
+#: build/C/man3/bsearch.3:102
#, no-wrap
msgid ""
"int\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/bsearch.3:114
+#: build/C/man3/bsearch.3:116
#, no-wrap
msgid ""
" qsort(months, nr_of_months, sizeof(struct mi), compmi);\n"
msgstr ""
#. type: SH
-#: build/C/man3/bsearch.3:116 build/C/man3/hsearch.3:323 build/C/man3/lsearch.3:71 build/C/man3/qsort.3:153 build/C/man3/tsearch.3:258
+#: build/C/man3/bsearch.3:118 build/C/man3/hsearch.3:323 build/C/man3/lsearch.3:72 build/C/man3/qsort.3:155 build/C/man3/tsearch.3:289
#, no-wrap
msgid "SEE ALSO"
msgstr ""
#. type: Plain text
-#: build/C/man3/bsearch.3:121
+#: build/C/man3/bsearch.3:123
msgid "B<hsearch>(3), B<lsearch>(3), B<qsort>(3), B<tsearch>(3)"
msgstr ""
#. type: SH
-#: build/C/man3/bsearch.3:121 build/C/man3/hsearch.3:328 build/C/man3/insque.3:242 build/C/man3/lsearch.3:75 build/C/man3/qsort.3:158 build/C/man3/tsearch.3:263
+#: build/C/man3/bsearch.3:123 build/C/man3/hsearch.3:328 build/C/man3/insque.3:244 build/C/man3/lsearch.3:76 build/C/man3/qsort.3:160 build/C/man3/tsearch.3:294
#, no-wrap
msgid "COLOPHON"
msgstr ""
#. type: Plain text
-#: build/C/man3/bsearch.3:128 build/C/man3/hsearch.3:335 build/C/man3/insque.3:249 build/C/man3/lsearch.3:82 build/C/man3/qsort.3:165 build/C/man3/tsearch.3:270
+#: build/C/man3/bsearch.3:130 build/C/man3/hsearch.3:335 build/C/man3/insque.3:251 build/C/man3/lsearch.3:83 build/C/man3/qsort.3:167 build/C/man3/tsearch.3:301
msgid ""
-"This page is part of release 3.41 of the Linux I<man-pages> project. A "
+"This page is part of release 3.50 of the Linux I<man-pages> project. A "
"description of the project, and information about reporting bugs, can be "
"found at http://www.kernel.org/doc/man-pages/."
msgstr ""
msgstr ""
#. type: TH
-#: build/C/man3/hsearch.3:35 build/C/man3/lsearch.3:25 build/C/man3/tsearch.3:24
+#: build/C/man3/hsearch.3:35 build/C/man3/lsearch.3:26 build/C/man3/tsearch.3:25
#, no-wrap
msgid "GNU"
msgstr ""
msgstr ""
#. type: Plain text
-#: build/C/man3/hsearch.3:42 build/C/man3/hsearch.3:52 build/C/man3/insque.3:40 build/C/man3/lsearch.3:31 build/C/man3/tsearch.3:30 build/C/man3/tsearch.3:47
+#: build/C/man3/hsearch.3:42 build/C/man3/hsearch.3:52 build/C/man3/insque.3:42 build/C/man3/lsearch.3:32 build/C/man3/tsearch.3:31 build/C/man3/tsearch.3:48
#, no-wrap
msgid "B<#include E<lt>search.hE<gt>>\n"
msgstr ""
msgstr ""
#. type: Plain text
-#: build/C/man3/hsearch.3:50 build/C/man3/tsearch.3:45
+#: build/C/man3/hsearch.3:50 build/C/man3/tsearch.3:46
#, no-wrap
msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
msgstr ""
msgstr ""
#. type: SH
-#: build/C/man3/hsearch.3:239 build/C/man3/insque.3:99 build/C/man3/qsort.3:102 build/C/man3/tsearch.3:158
+#: build/C/man3/hsearch.3:239 build/C/man3/insque.3:101 build/C/man3/qsort.3:104 build/C/man3/tsearch.3:195
#, no-wrap
msgid "NOTES"
msgstr ""
msgstr ""
#. type: SH
-#: build/C/man3/hsearch.3:264 build/C/man3/insque.3:125 build/C/man3/lsearch.3:69
+#: build/C/man3/hsearch.3:264 build/C/man3/insque.3:127 build/C/man3/lsearch.3:70
#, no-wrap
msgid "BUGS"
msgstr ""
msgstr ""
#. type: TH
-#: build/C/man3/insque.3:34
+#: build/C/man3/insque.3:36
#, no-wrap
msgid "INSQUE"
msgstr ""
#. type: TH
-#: build/C/man3/insque.3:34
+#: build/C/man3/insque.3:36
#, no-wrap
msgid "2010-09-09"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:37
+#: build/C/man3/insque.3:39
msgid "insque, remque - insert/remove an item from a queue"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:42
+#: build/C/man3/insque.3:44
#, no-wrap
msgid "B<void insque(void *>I<elem>B<, void *>I<prev>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:44
+#: build/C/man3/insque.3:46
#, no-wrap
msgid "B<void remque(void *>I<elem>B<);>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:49 build/C/man3/qsort.3:53
+#: build/C/man3/insque.3:51 build/C/man3/qsort.3:55
msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:54
+#: build/C/man3/insque.3:56
msgid "B<insque>(), B<remque>():"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:57
+#: build/C/man3/insque.3:59
msgid ""
"_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
"_XOPEN_SOURCE_EXTENDED"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:71
+#: build/C/man3/insque.3:73
msgid ""
"The B<insque>() and B<remque>() functions manipulate doubly-linked lists. "
"Each element in the list is a structure of which the first two elements are "
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:76
+#: build/C/man3/insque.3:78
msgid ""
"The B<insque>() function inserts the element pointed to by I<elem> "
"immediately after the element pointed to by I<prev>."
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:83
+#: build/C/man3/insque.3:85
msgid ""
"If the list is linear, then the call I<insque(elem, NULL)> can be used to "
"insert the initial list element, and the call sets the forward and backward "
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:92
+#: build/C/man3/insque.3:94
msgid ""
"If the list is circular, the caller should ensure that the forward and "
"backward pointers of the first element are initialized to point to that "
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:97
+#: build/C/man3/insque.3:99
msgid ""
"The B<remque>() function removes the element pointed to by I<elem> from the "
"doubly-linked list."
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:99
+#: build/C/man3/insque.3:101
msgid "POSIX.1-2001."
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:103
+#: build/C/man3/insque.3:105
msgid ""
"Traditionally (e.g., SunOS, Linux libc 4 and libc 5), the arguments of these "
"functions were of type I<struct qelem *>, defined as:"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:111
+#: build/C/man3/insque.3:113
#, no-wrap
msgid ""
"struct qelem {\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:118
+#: build/C/man3/insque.3:120
msgid ""
"This is still what you will get if B<_GNU_SOURCE> is defined before "
"including I<E<lt>search.hE<gt>>."
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:125
+#: build/C/man3/insque.3:127
msgid ""
"The location of the prototypes for these functions differs among several "
"versions of UNIX. The above is the POSIX version. Some systems place them "
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:132
+#: build/C/man3/insque.3:134
msgid ""
"In glibc 2.4 and earlier, it was not possible to specify I<prev> as NULL. "
"Consequently, to build a linear list, the caller had to build a list using "
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:136
+#: build/C/man3/insque.3:138
msgid ""
"The program below demonstrates the use of B<insque>(). Here is an example "
"run of the program:"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:145
+#: build/C/man3/insque.3:147
#, no-wrap
msgid ""
"$ B<./a.out -c a b c>\n"
msgstr ""
#. type: SS
-#: build/C/man3/insque.3:147
+#: build/C/man3/insque.3:149
#, no-wrap
msgid "Program source"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:154
+#: build/C/man3/insque.3:156
#, no-wrap
msgid ""
"#include E<lt>stdio.hE<gt>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:160
+#: build/C/man3/insque.3:162
#, no-wrap
msgid ""
"struct element {\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:165
+#: build/C/man3/insque.3:167
#, no-wrap
msgid ""
"static struct element *\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:171
+#: build/C/man3/insque.3:173
#, no-wrap
msgid ""
" e = malloc(sizeof(struct element));\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:174
+#: build/C/man3/insque.3:176
#, no-wrap
msgid ""
" return e;\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:180
+#: build/C/man3/insque.3:182
#, no-wrap
msgid ""
"int\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:183
+#: build/C/man3/insque.3:185
#, no-wrap
msgid ""
" /* The \"-c\" command-line option can be used to specify that the\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:196
+#: build/C/man3/insque.3:198
#, no-wrap
msgid ""
" errfnd = 0;\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:201
+#: build/C/man3/insque.3:203
#, no-wrap
msgid ""
" if (errfnd || optind E<gt>= argc) {\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:203
+#: build/C/man3/insque.3:205
#, no-wrap
msgid " /* Create first element and place it in the linked list */\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:206
+#: build/C/man3/insque.3:208
#, no-wrap
msgid ""
" elem = new_element();\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:208
+#: build/C/man3/insque.3:210
#, no-wrap
msgid " elem-E<gt>name = argv[optind];\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:216
+#: build/C/man3/insque.3:218
#, no-wrap
msgid ""
" if (circular) {\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:218
+#: build/C/man3/insque.3:220
#, no-wrap
msgid " /* Add remaining command-line arguments as list elements */\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:221
+#: build/C/man3/insque.3:223
#, no-wrap
msgid ""
" while (++optind E<lt> argc) {\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:226
+#: build/C/man3/insque.3:228
#, no-wrap
msgid ""
" elem = new_element();\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:228
+#: build/C/man3/insque.3:230
#, no-wrap
msgid " /* Traverse the list from the start, printing element names */\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:235
+#: build/C/man3/insque.3:237
#, no-wrap
msgid ""
" printf(\"Traversing completed list:\\en\");\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:238
+#: build/C/man3/insque.3:240
#, no-wrap
msgid ""
" if (elem == first)\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/insque.3:241
+#: build/C/man3/insque.3:243
#, no-wrap
msgid ""
" exit(EXIT_SUCCESS);\n"
msgstr ""
#. type: TH
-#: build/C/man3/lsearch.3:25
+#: build/C/man3/lsearch.3:26
#, no-wrap
msgid "LSEARCH"
msgstr ""
#. type: TH
-#: build/C/man3/lsearch.3:25
+#: build/C/man3/lsearch.3:26
#, no-wrap
msgid "1999-09-27"
msgstr ""
#. type: Plain text
-#: build/C/man3/lsearch.3:28
+#: build/C/man3/lsearch.3:29
msgid "lfind, lsearch - linear search of an array"
msgstr ""
#. type: Plain text
-#: build/C/man3/lsearch.3:34
+#: build/C/man3/lsearch.3:35
#, no-wrap
msgid ""
"B<void *lfind(const void *>I<key>B<, const void *>I<base>B<, size_t "
msgstr ""
#. type: Plain text
-#: build/C/man3/lsearch.3:37
+#: build/C/man3/lsearch.3:38
#, no-wrap
msgid ""
"B<void *lsearch(const void *>I<key>B<, void *>I<base>B<, size_t "
msgstr ""
#. type: Plain text
-#: build/C/man3/lsearch.3:50
+#: build/C/man3/lsearch.3:51
msgid ""
"B<lfind>() and B<lsearch>() perform a linear search for I<key> in the "
"array I<base> which has I<*nmemb> elements of I<size> bytes each. The "
msgstr ""
#. type: Plain text
-#: build/C/man3/lsearch.3:58
+#: build/C/man3/lsearch.3:59
msgid ""
"If B<lsearch>() does not find a matching element, then the I<key> object is "
"inserted at the end of the table, and I<*nmemb> is incremented. In "
msgstr ""
#. type: Plain text
-#: build/C/man3/lsearch.3:66
+#: build/C/man3/lsearch.3:67
msgid ""
"B<lfind>() returns a pointer to a matching member of the array, or NULL if "
"no match is found. B<lsearch>() returns a pointer to a matching member of "
msgstr ""
#. type: Plain text
-#: build/C/man3/lsearch.3:69
+#: build/C/man3/lsearch.3:70
msgid "SVr4, 4.3BSD, POSIX.1-2001. Present in libc since libc-4.6.27."
msgstr ""
#. type: Plain text
-#: build/C/man3/lsearch.3:71
+#: build/C/man3/lsearch.3:72
msgid "The naming is unfortunate."
msgstr ""
#. type: Plain text
-#: build/C/man3/lsearch.3:75
+#: build/C/man3/lsearch.3:76
msgid "B<bsearch>(3), B<hsearch>(3), B<tsearch>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/qsort.3:35
+#: build/C/man3/qsort.3:37
#, no-wrap
msgid "QSORT"
msgstr ""
#. type: TH
-#: build/C/man3/qsort.3:35
+#: build/C/man3/qsort.3:37
#, no-wrap
msgid "2012-03-08"
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:38
+#: build/C/man3/qsort.3:40
msgid "qsort, qsort_r - sort an array"
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:44
+#: build/C/man3/qsort.3:46
#, no-wrap
msgid ""
"B<void qsort(void *>I<base>B<, size_t >I<nmemb>B<, size_t >I<size>B<,>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:48
+#: build/C/man3/qsort.3:50
#, no-wrap
msgid ""
"B<void qsort_r(void *>I<base>B<, size_t >I<nmemb>B<, size_t >I<size>B<,>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:58
+#: build/C/man3/qsort.3:60
msgid "B<qsort_r>(): _GNU_SOURCE"
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:66
+#: build/C/man3/qsort.3:68
msgid ""
"The B<qsort>() function sorts an array with I<nmemb> elements of size "
"I<size>. The I<base> argument points to the start of the array."
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:70
+#: build/C/man3/qsort.3:72
msgid ""
"The contents of the array are sorted in ascending order according to a "
"comparison function pointed to by I<compar>, which is called with two "
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:76
+#: build/C/man3/qsort.3:78
msgid ""
"The comparison function must return an integer less than, equal to, or "
"greater than zero if the first argument is considered to be respectively "
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:89
+#: build/C/man3/qsort.3:91
msgid ""
"The B<qsort_r>() function is identical to B<qsort>() except that the "
"comparison function I<compar> takes a third argument. A pointer is passed "
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:95
+#: build/C/man3/qsort.3:97
msgid "The B<qsort>() and B<qsort_r>() functions return no value."
msgstr ""
#. type: SH
-#: build/C/man3/qsort.3:95
+#: build/C/man3/qsort.3:97
#, no-wrap
msgid "VERSIONS"
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:98
+#: build/C/man3/qsort.3:100
msgid "B<qsort_r>() was added to glibc in version 2.8."
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:102
+#: build/C/man3/qsort.3:104
msgid "The B<qsort>() function conforms to SVr4, 4.3BSD, C89, C99."
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:114
+#: build/C/man3/qsort.3:116
msgid ""
"Library routines suitable for use as the I<compar> argument to B<qsort>() "
"include B<alphasort>(3) and B<versionsort>(3). To compare C strings, the "
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:117
+#: build/C/man3/qsort.3:119
msgid "For one example of use, see the example under B<bsearch>(3)."
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:120
+#: build/C/man3/qsort.3:122
msgid ""
"Another example is the following program, which sorts the strings given in "
"its command-line arguments:"
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:132
+#: build/C/man3/qsort.3:134
#, no-wrap
msgid ""
"static int\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:135
+#: build/C/man3/qsort.3:137
#, no-wrap
msgid ""
" return strcmp(* (char * const *) p1, * (char * const *) p2);\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:140
+#: build/C/man3/qsort.3:142
#, no-wrap
msgid ""
"int\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:145
+#: build/C/man3/qsort.3:147
#, no-wrap
msgid ""
" if (argc E<lt> 2) {\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:147
+#: build/C/man3/qsort.3:149
#, no-wrap
msgid " qsort(&argv[1], argc - 1, sizeof(char *), cmpstringp);\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:152
+#: build/C/man3/qsort.3:154
#, no-wrap
msgid ""
" for (j = 1; j E<lt> argc; j++)\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/qsort.3:158
+#: build/C/man3/qsort.3:160
msgid "B<sort>(1), B<alphasort>(3), B<strcmp>(3), B<versionsort>(3)"
msgstr ""
#. type: TH
-#: build/C/man3/tsearch.3:24
+#: build/C/man3/tsearch.3:25
#, no-wrap
msgid "TSEARCH"
msgstr ""
#. type: TH
-#: build/C/man3/tsearch.3:24
+#: build/C/man3/tsearch.3:25
#, no-wrap
-msgid "2008-09-23"
+msgid "2012-08-03"
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:27
+#: build/C/man3/tsearch.3:28
msgid "tsearch, tfind, tdelete, twalk, tdestroy - manage a binary tree"
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:33
+#: build/C/man3/tsearch.3:34
#, no-wrap
msgid ""
"B<void *tsearch(const void *>I<key>B<, void **>I<rootp>B<,>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:36
+#: build/C/man3/tsearch.3:37
#, no-wrap
msgid ""
"B<void *tfind(const void *>I<key>B<, const void **>I<rootp>B<,>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:39
+#: build/C/man3/tsearch.3:40
#, no-wrap
msgid ""
"B<void *tdelete(const void *>I<key>B<, void **>I<rootp>B<,>\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:43
+#: build/C/man3/tsearch.3:44
#, no-wrap
msgid ""
"B<void twalk(const void *>I<root>B<, void (*>I<action>B<)(const void "
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:49
+#: build/C/man3/tsearch.3:50
#, no-wrap
msgid ""
"B<void tdestroy(void *>I<root>B<, void (*>I<free_node>B<)(void "
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:67
+#: build/C/man3/tsearch.3:69
msgid ""
"B<tsearch>(), B<tfind>(), B<twalk>(), and B<tdelete>() manage a binary "
"tree. They are generalized from Knuth (6.2.2) Algorithm T. The first field "
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:82
+#: build/C/man3/tsearch.3:88
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 "
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:90
+#: build/C/man3/tsearch.3:96
msgid ""
"B<tfind>() is like B<tsearch>(), except that if the item is not found, then "
"B<tfind>() returns NULL."
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:95
+#: build/C/man3/tsearch.3:101
msgid ""
"B<tdelete>() deletes an item from the tree. Its arguments are the same as "
"for B<tsearch>()."
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:115
+#: build/C/man3/tsearch.3:136
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 is a pointer to the node being visited. The second is "
-"an integer which takes on the values B<preorder>, B<postorder>, and "
-"B<endorder> depending on whether this is the first, second, or third visit "
-"to the internal node, or B<leaf> if it 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, with zero being the root."
+"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
-#: build/C/man3/tsearch.3:122
+#: build/C/man3/tsearch.3:152
msgid ""
"(More commonly, B<preorder>, B<postorder>, and B<endorder> are known as "
"B<preorder>, B<inorder>, and B<postorder>: before visiting the children, "
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:132
+#: build/C/man3/tsearch.3:167
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 "
+"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: Plain text
-#: build/C/man3/tsearch.3:142
+#: build/C/man3/tsearch.3:177
msgid ""
"B<tsearch>() returns a pointer to a matching item in the tree, or to the "
"newly added item, or NULL if there was insufficient memory to add the item. "
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:146
+#: build/C/man3/tsearch.3:181
msgid ""
"B<tdelete>() returns a pointer to the parent of the item deleted, or NULL "
"if the item was not found."
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:153
+#: build/C/man3/tsearch.3:190
msgid ""
"B<tsearch>(), B<tfind>(), and B<tdelete>() also return NULL if I<rootp> was "
"NULL on entry."
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:158
+#: build/C/man3/tsearch.3:195
msgid "SVr4, POSIX.1-2001. The function B<tdestroy>() is a GNU extension."
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:162
+#: build/C/man3/tsearch.3:199
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
-#: build/C/man3/tsearch.3:168
-msgid ""
-"B<twalk>() uses B<postorder> to mean \"after the left subtree, but before "
-"the right subtree\". Some authorities would call this \"inorder\", and "
-"reserve \"postorder\" to mean \"after both subtrees\"."
-msgstr ""
-
-#. type: Plain text
-#: build/C/man3/tsearch.3:173
+#: build/C/man3/tsearch.3:204
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
-#: build/C/man3/tsearch.3:181
+#: build/C/man3/tsearch.3:212
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 "
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:185
+#: build/C/man3/tsearch.3:216
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
-#: build/C/man3/tsearch.3:192
+#: build/C/man3/tsearch.3:223
#, no-wrap
msgid ""
"#define _GNU_SOURCE /* Expose declaration of tdestroy() */\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:194
+#: build/C/man3/tsearch.3:225
#, no-wrap
msgid "void *root = NULL;\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:205
+#: build/C/man3/tsearch.3:236
#, no-wrap
msgid ""
"void *\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:215
+#: build/C/man3/tsearch.3:246
#, no-wrap
msgid ""
"int\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:220
+#: build/C/man3/tsearch.3:251
#, no-wrap
msgid ""
"void\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:236
+#: build/C/man3/tsearch.3:267
#, no-wrap
msgid ""
" switch (which) {\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:242
+#: build/C/man3/tsearch.3:273
#, no-wrap
msgid ""
"int\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:257
+#: build/C/man3/tsearch.3:288
#, no-wrap
msgid ""
" srand(time(NULL));\n"
" for (i = 0; i E<lt> 12; i++) {\n"
-" ptr = (int *) xmalloc(sizeof(int));\n"
+" ptr = xmalloc(sizeof(int));\n"
" *ptr = rand() & 0xff;\n"
" val = tsearch((void *) ptr, &root, compare);\n"
" if (val == NULL)\n"
msgstr ""
#. type: Plain text
-#: build/C/man3/tsearch.3:263
+#: build/C/man3/tsearch.3:294
msgid "B<bsearch>(3), B<hsearch>(3), B<lsearch>(3), B<qsort>(3)"
msgstr ""