OSDN Git Service

Update minor changes in LDP 3.68
[linuxjm/LDP_man-pages.git] / po4a / stdlib / po / ja.po
index 78cc601..e8d0773 100644 (file)
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2012-04-25 05:37+0900\n"
-"PO-Revision-Date: 2012-04-27 03:26+0900\n"
+"POT-Creation-Date: 2014-06-08 01:30+0900\n"
+"PO-Revision-Date: 2014-06-08 02:35+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -16,139 +16,143 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 
 #. type: TH
-#: build/C/man3/MB_CUR_MAX.3:15
+#: build/C/man3/MB_CUR_MAX.3:17
 #, no-wrap
 msgid "MB_CUR_MAX"
 msgstr "MB_CUR_MAX"
 
 #. type: TH
-#: build/C/man3/MB_CUR_MAX.3:15 build/C/man3/MB_LEN_MAX.3:15
+#: build/C/man3/MB_CUR_MAX.3:17 build/C/man3/MB_LEN_MAX.3:17
 #, no-wrap
 msgid "1999-07-04"
 msgstr "1999-07-04"
 
 #. type: TH
-#: build/C/man3/MB_CUR_MAX.3:15 build/C/man3/MB_LEN_MAX.3:15
-#: build/C/man2/_exit.2:29 build/C/man3/atexit.3:31 build/C/man3/clearenv.3:24
-#: build/C/man3/exit.3:23 build/C/man3/getloadavg.3:32
-#: build/C/man3/strtod.3:43
+#: build/C/man3/MB_CUR_MAX.3:17 build/C/man3/MB_LEN_MAX.3:17
+#: build/C/man2/_exit.2:29 build/C/man3/atexit.3:33 build/C/man3/clearenv.3:26
+#: build/C/man3/exit.3:29 build/C/man3/getloadavg.3:34
+#: build/C/man3/strtod.3:45 build/C/man7/vdso.7:13
 #, no-wrap
 msgid "Linux"
 msgstr "Linux"
 
 #. type: TH
-#: build/C/man3/MB_CUR_MAX.3:15 build/C/man3/MB_LEN_MAX.3:15
-#: build/C/man2/_exit.2:29 build/C/man3/a64l.3:6 build/C/man3/atexit.3:31
-#: build/C/man3/atof.3:29 build/C/man3/atoi.3:31
-#: build/C/man3/canonicalize_file_name.3:5 build/C/man3/cfree.3:23
-#: build/C/man3/clearenv.3:24 build/C/man3/drand48.3:28
-#: build/C/man3/drand48_r.3:25 build/C/man3/ecvt.3:30 build/C/man3/ecvt_r.3:28
-#: build/C/man3/exit.3:23 build/C/man3/gcvt.3:28 build/C/man3/getenv.3:31
-#: build/C/man3/getloadavg.3:32 build/C/man3/getsubopt.3:23
-#: build/C/man3/malloc.3:28 build/C/man3/mblen.3:14 build/C/man3/mbstowcs.3:14
-#: build/C/man3/mbtowc.3:14 build/C/man3/mkdtemp.3:24
-#: build/C/man3/mkstemp.3:33 build/C/man3/mktemp.3:32
-#: build/C/man3/on_exit.3:29 build/C/man3/putenv.3:34 build/C/man3/qecvt.3:26
-#: build/C/man3/rand.3:39 build/C/man3/random.3:31 build/C/man3/random_r.3:24
-#: build/C/man3/rpmatch.3:27 build/C/man3/setenv.3:35 build/C/man3/strtod.3:43
-#: build/C/man3/strtoimax.3:23 build/C/man3/strtol.3:29
-#: build/C/man3/strtoul.3:31 build/C/man3/system.3:28
-#: build/C/man3/wcstombs.3:14 build/C/man3/wctomb.3:14
+#: build/C/man3/MB_CUR_MAX.3:17 build/C/man3/MB_LEN_MAX.3:17
+#: build/C/man2/_exit.2:29 build/C/man3/a64l.3:9 build/C/man3/atexit.3:33
+#: build/C/man3/atof.3:31 build/C/man3/atoi.3:33
+#: build/C/man3/canonicalize_file_name.3:26 build/C/man3/cfree.3:24
+#: build/C/man3/clearenv.3:26 build/C/man3/drand48.3:30
+#: build/C/man3/drand48_r.3:27 build/C/man3/ecvt.3:32 build/C/man3/ecvt_r.3:30
+#: build/C/man3/exit.3:29 build/C/man3/gcvt.3:30 build/C/man3/getauxval.3:29
+#: build/C/man3/getenv.3:33 build/C/man3/getloadavg.3:34
+#: build/C/man3/getsubopt.3:25 build/C/man3/malloc.3:33
+#: build/C/man3/mblen.3:16 build/C/man3/mbstowcs.3:18 build/C/man3/mbtowc.3:16
+#: build/C/man3/mkdtemp.3:26 build/C/man3/mkstemp.3:35
+#: build/C/man3/mktemp.3:34 build/C/man3/on_exit.3:31 build/C/man3/putenv.3:36
+#: build/C/man3/qecvt.3:28 build/C/man3/rand.3:41 build/C/man3/random.3:33
+#: build/C/man3/random_r.3:26 build/C/man3/rpmatch.3:29
+#: build/C/man3/setenv.3:37 build/C/man3/strtod.3:45
+#: build/C/man3/strtoimax.3:24 build/C/man3/strtol.3:31
+#: build/C/man3/strtoul.3:33 build/C/man3/system.3:31 build/C/man7/vdso.7:13
+#: build/C/man3/wcstombs.3:16 build/C/man3/wctomb.3:16
 #, no-wrap
 msgid "Linux Programmer's Manual"
 msgstr "Linux Programmer's Manual"
 
 #. type: SH
-#: build/C/man3/MB_CUR_MAX.3:16 build/C/man3/MB_LEN_MAX.3:16
-#: build/C/man2/_exit.2:30 build/C/man3/a64l.3:7 build/C/man3/atexit.3:32
-#: build/C/man3/atof.3:30 build/C/man3/atoi.3:32
-#: build/C/man3/canonicalize_file_name.3:6 build/C/man3/cfree.3:24
-#: build/C/man3/clearenv.3:25 build/C/man3/drand48.3:29
-#: build/C/man3/drand48_r.3:26 build/C/man3/ecvt.3:31 build/C/man3/ecvt_r.3:29
-#: build/C/man3/exit.3:24 build/C/man3/gcvt.3:29 build/C/man3/getenv.3:32
-#: build/C/man3/getloadavg.3:33 build/C/man3/getsubopt.3:24
-#: build/C/man3/malloc.3:29 build/C/man3/mblen.3:15 build/C/man3/mbstowcs.3:15
-#: build/C/man3/mbtowc.3:15 build/C/man3/mkdtemp.3:25
-#: build/C/man3/mkstemp.3:34 build/C/man3/mktemp.3:33
-#: build/C/man3/on_exit.3:30 build/C/man3/putenv.3:35 build/C/man3/qecvt.3:27
-#: build/C/man3/rand.3:40 build/C/man3/random.3:32 build/C/man3/random_r.3:25
-#: build/C/man3/rpmatch.3:28 build/C/man3/setenv.3:36 build/C/man3/strtod.3:44
-#: build/C/man3/strtoimax.3:24 build/C/man3/strtol.3:30
-#: build/C/man3/strtoul.3:32 build/C/man3/system.3:29
-#: build/C/man3/wcstombs.3:15 build/C/man3/wctomb.3:15
+#: build/C/man3/MB_CUR_MAX.3:18 build/C/man3/MB_LEN_MAX.3:18
+#: build/C/man2/_exit.2:30 build/C/man3/a64l.3:10 build/C/man3/atexit.3:34
+#: build/C/man3/atof.3:32 build/C/man3/atoi.3:34
+#: build/C/man3/canonicalize_file_name.3:27 build/C/man3/cfree.3:25
+#: build/C/man3/clearenv.3:27 build/C/man3/drand48.3:31
+#: build/C/man3/drand48_r.3:28 build/C/man3/ecvt.3:33 build/C/man3/ecvt_r.3:31
+#: build/C/man3/exit.3:30 build/C/man3/gcvt.3:31 build/C/man3/getauxval.3:30
+#: build/C/man3/getenv.3:34 build/C/man3/getloadavg.3:35
+#: build/C/man3/getsubopt.3:26 build/C/man3/malloc.3:34
+#: build/C/man3/mblen.3:17 build/C/man3/mbstowcs.3:19 build/C/man3/mbtowc.3:17
+#: build/C/man3/mkdtemp.3:27 build/C/man3/mkstemp.3:36
+#: build/C/man3/mktemp.3:35 build/C/man3/on_exit.3:32 build/C/man3/putenv.3:37
+#: build/C/man3/qecvt.3:29 build/C/man3/rand.3:42 build/C/man3/random.3:34
+#: build/C/man3/random_r.3:27 build/C/man3/rpmatch.3:30
+#: build/C/man3/setenv.3:38 build/C/man3/strtod.3:46
+#: build/C/man3/strtoimax.3:25 build/C/man3/strtol.3:32
+#: build/C/man3/strtoul.3:34 build/C/man3/system.3:32 build/C/man7/vdso.7:14
+#: build/C/man3/wcstombs.3:17 build/C/man3/wctomb.3:17
 #, no-wrap
 msgid "NAME"
 msgstr "名前"
 
 #. type: Plain text
-#: build/C/man3/MB_CUR_MAX.3:18
+#: build/C/man3/MB_CUR_MAX.3:20
 msgid ""
 "MB_CUR_MAX - maximum length of a multibyte character in the current locale"
 msgstr "MB_CUR_MAX - 現在のロケールでのマルチバイト文字の最大長"
 
 #. type: SH
-#: build/C/man3/MB_CUR_MAX.3:18 build/C/man3/MB_LEN_MAX.3:18
-#: build/C/man2/_exit.2:32 build/C/man3/a64l.3:9 build/C/man3/atexit.3:34
-#: build/C/man3/atof.3:32 build/C/man3/atoi.3:34
-#: build/C/man3/canonicalize_file_name.3:8 build/C/man3/cfree.3:26
-#: build/C/man3/clearenv.3:27 build/C/man3/drand48.3:32
-#: build/C/man3/drand48_r.3:30 build/C/man3/ecvt.3:33 build/C/man3/ecvt_r.3:31
-#: build/C/man3/exit.3:26 build/C/man3/gcvt.3:31 build/C/man3/getenv.3:34
-#: build/C/man3/getloadavg.3:35 build/C/man3/getsubopt.3:26
-#: build/C/man3/malloc.3:31 build/C/man3/mblen.3:17 build/C/man3/mbstowcs.3:17
-#: build/C/man3/mbtowc.3:17 build/C/man3/mkdtemp.3:27
-#: build/C/man3/mkstemp.3:36 build/C/man3/mktemp.3:35
-#: build/C/man3/on_exit.3:32 build/C/man3/putenv.3:37 build/C/man3/qecvt.3:29
-#: build/C/man3/rand.3:42 build/C/man3/random.3:34 build/C/man3/random_r.3:28
-#: build/C/man3/rpmatch.3:30 build/C/man3/setenv.3:38 build/C/man3/strtod.3:46
-#: build/C/man3/strtoimax.3:26 build/C/man3/strtol.3:32
-#: build/C/man3/strtoul.3:34 build/C/man3/system.3:31
-#: build/C/man3/wcstombs.3:17 build/C/man3/wctomb.3:17
+#: build/C/man3/MB_CUR_MAX.3:20 build/C/man3/MB_LEN_MAX.3:20
+#: build/C/man2/_exit.2:32 build/C/man3/a64l.3:12 build/C/man3/atexit.3:36
+#: build/C/man3/atof.3:34 build/C/man3/atoi.3:36
+#: build/C/man3/canonicalize_file_name.3:29 build/C/man3/cfree.3:27
+#: build/C/man3/clearenv.3:29 build/C/man3/drand48.3:34
+#: build/C/man3/drand48_r.3:32 build/C/man3/ecvt.3:35 build/C/man3/ecvt_r.3:33
+#: build/C/man3/exit.3:32 build/C/man3/gcvt.3:33 build/C/man3/getauxval.3:32
+#: build/C/man3/getenv.3:36 build/C/man3/getloadavg.3:37
+#: build/C/man3/getsubopt.3:28 build/C/man3/malloc.3:36
+#: build/C/man3/mblen.3:19 build/C/man3/mbstowcs.3:21 build/C/man3/mbtowc.3:19
+#: build/C/man3/mkdtemp.3:29 build/C/man3/mkstemp.3:38
+#: build/C/man3/mktemp.3:37 build/C/man3/on_exit.3:34 build/C/man3/putenv.3:39
+#: build/C/man3/qecvt.3:31 build/C/man3/rand.3:44 build/C/man3/random.3:36
+#: build/C/man3/random_r.3:30 build/C/man3/rpmatch.3:32
+#: build/C/man3/setenv.3:40 build/C/man3/strtod.3:48
+#: build/C/man3/strtoimax.3:27 build/C/man3/strtol.3:34
+#: build/C/man3/strtoul.3:36 build/C/man3/system.3:34 build/C/man7/vdso.7:16
+#: build/C/man3/wcstombs.3:19 build/C/man3/wctomb.3:19
 #, no-wrap
 msgid "SYNOPSIS"
 msgstr "書式"
 
 #. type: Plain text
-#: build/C/man3/MB_CUR_MAX.3:21 build/C/man3/atexit.3:37
-#: build/C/man3/atof.3:35 build/C/man3/atoi.3:37 build/C/man3/cfree.3:30
-#: build/C/man3/clearenv.3:30 build/C/man3/drand48.3:35
-#: build/C/man3/drand48_r.3:33 build/C/man3/ecvt_r.3:34 build/C/man3/exit.3:29
-#: build/C/man3/gcvt.3:34 build/C/man3/getenv.3:37 build/C/man3/malloc.3:34
-#: build/C/man3/mblen.3:20 build/C/man3/mbstowcs.3:20 build/C/man3/mbtowc.3:20
-#: build/C/man3/mkdtemp.3:30 build/C/man3/mkstemp.3:39
-#: build/C/man3/mktemp.3:38 build/C/man3/on_exit.3:35 build/C/man3/putenv.3:40
-#: build/C/man3/rand.3:45 build/C/man3/random.3:37 build/C/man3/random_r.3:31
-#: build/C/man3/rpmatch.3:33 build/C/man3/setenv.3:41 build/C/man3/strtol.3:35
-#: build/C/man3/strtoul.3:37 build/C/man3/system.3:34
-#: build/C/man3/wcstombs.3:20 build/C/man3/wctomb.3:20
+#: build/C/man3/MB_CUR_MAX.3:23 build/C/man3/atexit.3:39
+#: build/C/man3/atof.3:37 build/C/man3/atoi.3:39 build/C/man3/cfree.3:31
+#: build/C/man3/clearenv.3:32 build/C/man3/drand48.3:37
+#: build/C/man3/drand48_r.3:35 build/C/man3/ecvt_r.3:36 build/C/man3/exit.3:35
+#: build/C/man3/gcvt.3:36 build/C/man3/getenv.3:39 build/C/man3/malloc.3:39
+#: build/C/man3/mblen.3:22 build/C/man3/mbstowcs.3:24 build/C/man3/mbtowc.3:22
+#: build/C/man3/mkdtemp.3:32 build/C/man3/mkstemp.3:41
+#: build/C/man3/mktemp.3:40 build/C/man3/on_exit.3:37 build/C/man3/putenv.3:42
+#: build/C/man3/rand.3:47 build/C/man3/random.3:39 build/C/man3/random_r.3:33
+#: build/C/man3/rpmatch.3:35 build/C/man3/setenv.3:43 build/C/man3/strtol.3:37
+#: build/C/man3/strtoul.3:39 build/C/man3/system.3:37
+#: build/C/man3/wcstombs.3:22 build/C/man3/wctomb.3:22
 #, no-wrap
 msgid "B<#include E<lt>stdlib.hE<gt>>\n"
 msgstr "B<#include E<lt>stdlib.hE<gt>>\n"
 
 #. type: SH
-#: build/C/man3/MB_CUR_MAX.3:22 build/C/man3/MB_LEN_MAX.3:22
-#: build/C/man2/_exit.2:56 build/C/man3/a64l.3:30 build/C/man3/atexit.3:40
-#: build/C/man3/atof.3:38 build/C/man3/atoi.3:62
-#: build/C/man3/canonicalize_file_name.3:14 build/C/man3/cfree.3:51
-#: build/C/man3/clearenv.3:41 build/C/man3/drand48.3:73
-#: build/C/man3/drand48_r.3:81 build/C/man3/ecvt.3:67 build/C/man3/ecvt_r.3:62
-#: build/C/man3/exit.3:32 build/C/man3/gcvt.3:62 build/C/man3/getenv.3:40
-#: build/C/man3/getloadavg.3:42 build/C/man3/getsubopt.3:48
-#: build/C/man3/malloc.3:40 build/C/man3/mblen.3:23 build/C/man3/mbstowcs.3:23
-#: build/C/man3/mbtowc.3:23 build/C/man3/mkdtemp.3:53
-#: build/C/man3/mkstemp.3:74 build/C/man3/mktemp.3:64
-#: build/C/man3/on_exit.3:46 build/C/man3/putenv.3:52 build/C/man3/qecvt.3:51
-#: build/C/man3/rand.3:60 build/C/man3/random.3:62 build/C/man3/random_r.3:56
-#: build/C/man3/rpmatch.3:44 build/C/man3/setenv.3:59 build/C/man3/strtod.3:71
-#: build/C/man3/strtoimax.3:34 build/C/man3/strtol.3:57
-#: build/C/man3/strtoul.3:60 build/C/man3/system.3:37
-#: build/C/man3/wcstombs.3:23 build/C/man3/wctomb.3:23
+#: build/C/man3/MB_CUR_MAX.3:24 build/C/man3/MB_LEN_MAX.3:24
+#: build/C/man2/_exit.2:56 build/C/man3/a64l.3:33 build/C/man3/atexit.3:42
+#: build/C/man3/atof.3:40 build/C/man3/atoi.3:64
+#: build/C/man3/canonicalize_file_name.3:35 build/C/man3/cfree.3:52
+#: build/C/man3/clearenv.3:43 build/C/man3/drand48.3:75
+#: build/C/man3/drand48_r.3:83 build/C/man3/ecvt.3:69 build/C/man3/ecvt_r.3:64
+#: build/C/man3/exit.3:38 build/C/man3/gcvt.3:64 build/C/man3/getauxval.3:38
+#: build/C/man3/getenv.3:52 build/C/man3/getloadavg.3:44
+#: build/C/man3/getsubopt.3:50 build/C/man3/malloc.3:45
+#: build/C/man3/mblen.3:25 build/C/man3/mbstowcs.3:27 build/C/man3/mbtowc.3:25
+#: build/C/man3/mkdtemp.3:55 build/C/man3/mkstemp.3:76
+#: build/C/man3/mktemp.3:66 build/C/man3/on_exit.3:48 build/C/man3/putenv.3:54
+#: build/C/man3/qecvt.3:66 build/C/man3/rand.3:62 build/C/man3/random.3:64
+#: build/C/man3/random_r.3:58 build/C/man3/rpmatch.3:46
+#: build/C/man3/setenv.3:61 build/C/man3/strtod.3:73
+#: build/C/man3/strtoimax.3:35 build/C/man3/strtol.3:59
+#: build/C/man3/strtoul.3:62 build/C/man3/system.3:40 build/C/man7/vdso.7:20
+#: build/C/man3/wcstombs.3:25 build/C/man3/wctomb.3:25
 #, no-wrap
 msgid "DESCRIPTION"
 msgstr "説明"
 
 #. type: Plain text
-#: build/C/man3/MB_CUR_MAX.3:29
+#: build/C/man3/MB_CUR_MAX.3:31
 msgid ""
 "The B<MB_CUR_MAX> macro defines an integer expression giving the maximum "
 "number of bytes needed to represent a single wide character in the current "
@@ -159,28 +163,29 @@ msgstr ""
 "ル時に決まる定数ではない。"
 
 #. type: SH
-#: build/C/man3/MB_CUR_MAX.3:29 build/C/man3/MB_LEN_MAX.3:27
-#: build/C/man2/_exit.2:79 build/C/man3/atexit.3:66 build/C/man3/atof.3:53
-#: build/C/man3/atoi.3:89 build/C/man3/cfree.3:95 build/C/man3/clearenv.3:48
-#: build/C/man3/drand48_r.3:94 build/C/man3/ecvt.3:97 build/C/man3/ecvt_r.3:84
-#: build/C/man3/exit.3:80 build/C/man3/gcvt.3:70 build/C/man3/getenv.3:49
-#: build/C/man3/getloadavg.3:53 build/C/man3/getsubopt.3:108
-#: build/C/man3/malloc.3:127 build/C/man3/mblen.3:58
-#: build/C/man3/mbstowcs.3:58 build/C/man3/mbtowc.3:64
-#: build/C/man3/mkdtemp.3:66 build/C/man3/mkstemp.3:136
-#: build/C/man3/mktemp.3:75 build/C/man3/on_exit.3:67 build/C/man3/putenv.3:65
-#: build/C/man3/rand.3:116 build/C/man3/random.3:116
-#: build/C/man3/random_r.3:98 build/C/man3/rpmatch.3:64
-#: build/C/man3/setenv.3:84 build/C/man3/strtod.3:126
-#: build/C/man3/strtoimax.3:44 build/C/man3/strtol.3:99
-#: build/C/man3/strtoul.3:108 build/C/man3/system.3:52
-#: build/C/man3/wcstombs.3:59 build/C/man3/wctomb.3:50
+#: build/C/man3/MB_CUR_MAX.3:31 build/C/man3/MB_LEN_MAX.3:29
+#: build/C/man2/_exit.2:79 build/C/man3/atexit.3:71 build/C/man3/atof.3:55
+#: build/C/man3/atoi.3:91 build/C/man3/canonicalize_file_name.3:61
+#: build/C/man3/cfree.3:96 build/C/man3/clearenv.3:50
+#: build/C/man3/drand48_r.3:96 build/C/man3/ecvt.3:99 build/C/man3/ecvt_r.3:86
+#: build/C/man3/exit.3:86 build/C/man3/gcvt.3:72 build/C/man3/getauxval.3:173
+#: build/C/man3/getenv.3:88 build/C/man3/getloadavg.3:55
+#: build/C/man3/getsubopt.3:110 build/C/man3/malloc.3:132
+#: build/C/man3/mblen.3:75 build/C/man3/mbstowcs.3:84 build/C/man3/mbtowc.3:93
+#: build/C/man3/mkdtemp.3:68 build/C/man3/mkstemp.3:155
+#: build/C/man3/mktemp.3:80 build/C/man3/on_exit.3:76 build/C/man3/putenv.3:67
+#: build/C/man3/rand.3:118 build/C/man3/random.3:118
+#: build/C/man3/random_r.3:100 build/C/man3/rpmatch.3:73
+#: build/C/man3/setenv.3:105 build/C/man3/strtod.3:128
+#: build/C/man3/strtoimax.3:45 build/C/man3/strtol.3:117
+#: build/C/man3/strtoul.3:127 build/C/man3/system.3:73
+#: build/C/man3/wcstombs.3:79 build/C/man3/wctomb.3:63
 #, no-wrap
 msgid "RETURN VALUE"
 msgstr "返り値"
 
 #. type: Plain text
-#: build/C/man3/MB_CUR_MAX.3:33
+#: build/C/man3/MB_CUR_MAX.3:35
 msgid ""
 "An integer in the range [1, B<MB_LEN_MAX>].  The value 1 denotes traditional "
 "8-bit encoded characters."
@@ -189,60 +194,62 @@ msgstr ""
 "bit エンコードされた文字を意味する。"
 
 #. type: SH
-#: build/C/man3/MB_CUR_MAX.3:33 build/C/man3/MB_LEN_MAX.3:29
-#: build/C/man2/_exit.2:81 build/C/man3/a64l.3:59 build/C/man3/atexit.3:71
-#: build/C/man3/atof.3:55 build/C/man3/atoi.3:91
-#: build/C/man3/canonicalize_file_name.3:19 build/C/man3/cfree.3:111
-#: build/C/man3/clearenv.3:58 build/C/man3/drand48.3:202
-#: build/C/man3/drand48_r.3:96 build/C/man3/ecvt.3:108
-#: build/C/man3/ecvt_r.3:86 build/C/man3/exit.3:84 build/C/man3/gcvt.3:75
-#: build/C/man3/getenv.3:54 build/C/man3/getloadavg.3:63
-#: build/C/man3/getsubopt.3:127 build/C/man3/malloc.3:166
-#: build/C/man3/mblen.3:68 build/C/man3/mbstowcs.3:68 build/C/man3/mbtowc.3:76
-#: build/C/man3/mkdtemp.3:84 build/C/man3/mkstemp.3:176
-#: build/C/man3/mktemp.3:88 build/C/man3/on_exit.3:72 build/C/man3/putenv.3:74
-#: build/C/man3/qecvt.3:70 build/C/man3/rand.3:127 build/C/man3/random.3:135
-#: build/C/man3/random_r.3:123 build/C/man3/rpmatch.3:85
-#: build/C/man3/setenv.3:107 build/C/man3/strtod.3:158
-#: build/C/man3/strtoimax.3:57 build/C/man3/strtol.3:137
-#: build/C/man3/strtoul.3:140 build/C/man3/system.3:76
-#: build/C/man3/wcstombs.3:68 build/C/man3/wctomb.3:64
+#: build/C/man3/MB_CUR_MAX.3:35 build/C/man3/MB_LEN_MAX.3:31
+#: build/C/man2/_exit.2:81 build/C/man3/a64l.3:71 build/C/man3/atexit.3:76
+#: build/C/man3/atof.3:65 build/C/man3/atoi.3:105
+#: build/C/man3/canonicalize_file_name.3:73 build/C/man3/cfree.3:112
+#: build/C/man3/clearenv.3:60 build/C/man3/drand48.3:260
+#: build/C/man3/drand48_r.3:112 build/C/man3/ecvt.3:117
+#: build/C/man3/ecvt_r.3:88 build/C/man3/exit.3:96 build/C/man3/gcvt.3:77
+#: build/C/man3/getauxval.3:192 build/C/man3/getenv.3:96
+#: build/C/man3/getloadavg.3:70 build/C/man3/getsubopt.3:134
+#: build/C/man3/malloc.3:171 build/C/man3/mblen.3:92
+#: build/C/man3/mbstowcs.3:94 build/C/man3/mbtowc.3:113
+#: build/C/man3/mkdtemp.3:86 build/C/man3/mkstemp.3:195
+#: build/C/man3/mktemp.3:95 build/C/man3/on_exit.3:81 build/C/man3/putenv.3:79
+#: build/C/man3/qecvt.3:96 build/C/man3/rand.3:129 build/C/man3/random.3:161
+#: build/C/man3/random_r.3:137 build/C/man3/rpmatch.3:99
+#: build/C/man3/setenv.3:128 build/C/man3/strtod.3:172
+#: build/C/man3/strtoimax.3:69 build/C/man3/strtol.3:173
+#: build/C/man3/strtoul.3:177 build/C/man3/system.3:110
+#: build/C/man3/wcstombs.3:89 build/C/man3/wctomb.3:89
 #, no-wrap
 msgid "CONFORMING TO"
 msgstr "準拠"
 
 #. type: Plain text
-#: build/C/man3/MB_CUR_MAX.3:35 build/C/man3/MB_LEN_MAX.3:31
-#: build/C/man3/strtoimax.3:59
+#: build/C/man3/MB_CUR_MAX.3:37 build/C/man3/MB_LEN_MAX.3:33
+#: build/C/man3/strtoimax.3:71
 msgid "C99, POSIX.1-2001."
 msgstr "C99, POSIX.1-2001."
 
 #. type: SH
-#: build/C/man3/MB_CUR_MAX.3:35 build/C/man3/MB_LEN_MAX.3:42
-#: build/C/man2/_exit.2:124 build/C/man3/a64l.3:81 build/C/man3/atexit.3:156
-#: build/C/man3/atof.3:57 build/C/man3/atoi.3:111
-#: build/C/man3/canonicalize_file_name.3:21 build/C/man3/cfree.3:116
-#: build/C/man3/clearenv.3:95 build/C/man3/drand48.3:208
-#: build/C/man3/drand48_r.3:98 build/C/man3/ecvt.3:126
-#: build/C/man3/ecvt_r.3:93 build/C/man3/exit.3:165 build/C/man3/gcvt.3:84
-#: build/C/man3/getenv.3:77 build/C/man3/getloadavg.3:67
-#: build/C/man3/getsubopt.3:224 build/C/man3/malloc.3:257
-#: build/C/man3/mblen.3:82 build/C/man3/mbstowcs.3:82 build/C/man3/mbtowc.3:91
-#: build/C/man3/mkdtemp.3:89 build/C/man3/mkstemp.3:211
-#: build/C/man3/mktemp.3:111 build/C/man3/on_exit.3:79
-#: build/C/man3/putenv.3:114 build/C/man3/qecvt.3:81 build/C/man3/rand.3:215
-#: build/C/man3/random.3:163 build/C/man3/random_r.3:127
-#: build/C/man3/rpmatch.3:127 build/C/man3/setenv.3:130
-#: build/C/man3/strtod.3:177 build/C/man3/strtoimax.3:59
-#: build/C/man3/strtol.3:260 build/C/man3/strtoul.3:188
-#: build/C/man3/system.3:151 build/C/man3/wcstombs.3:82
-#: build/C/man3/wctomb.3:79
+#: build/C/man3/MB_CUR_MAX.3:37 build/C/man3/MB_LEN_MAX.3:44
+#: build/C/man2/_exit.2:124 build/C/man3/a64l.3:93 build/C/man3/atexit.3:161
+#: build/C/man3/atof.3:67 build/C/man3/atoi.3:125
+#: build/C/man3/canonicalize_file_name.3:75 build/C/man3/cfree.3:117
+#: build/C/man3/clearenv.3:97 build/C/man3/drand48.3:266
+#: build/C/man3/drand48_r.3:114 build/C/man3/ecvt.3:135
+#: build/C/man3/ecvt_r.3:95 build/C/man3/exit.3:183 build/C/man3/gcvt.3:86
+#: build/C/man3/getauxval.3:218 build/C/man3/getenv.3:129
+#: build/C/man3/getloadavg.3:74 build/C/man3/getsubopt.3:232
+#: build/C/man3/malloc.3:261 build/C/man3/mblen.3:106
+#: build/C/man3/mbstowcs.3:216 build/C/man3/mbtowc.3:128
+#: build/C/man3/mkdtemp.3:91 build/C/man3/mkstemp.3:233
+#: build/C/man3/mktemp.3:118 build/C/man3/on_exit.3:88
+#: build/C/man3/putenv.3:119 build/C/man3/qecvt.3:107 build/C/man3/rand.3:217
+#: build/C/man3/random.3:197 build/C/man3/random_r.3:141
+#: build/C/man3/rpmatch.3:144 build/C/man3/setenv.3:153
+#: build/C/man3/strtod.3:191 build/C/man3/strtoimax.3:71
+#: build/C/man3/strtol.3:297 build/C/man3/strtoul.3:225
+#: build/C/man3/system.3:202 build/C/man7/vdso.7:494
+#: build/C/man3/wcstombs.3:103 build/C/man3/wctomb.3:103
 #, no-wrap
 msgid "SEE ALSO"
 msgstr "関連項目"
 
 #. type: Plain text
-#: build/C/man3/MB_CUR_MAX.3:41
+#: build/C/man3/MB_CUR_MAX.3:44
 msgid ""
 "B<MB_LEN_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcstombs>(3), "
 "B<wctomb>(3)"
@@ -250,25 +257,81 @@ msgstr ""
 "B<MB_LEN_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcstombs>(3), "
 "B<wctomb>(3)"
 
+#. type: SH
+#: build/C/man3/MB_CUR_MAX.3:44 build/C/man3/MB_LEN_MAX.3:46
+#: build/C/man2/_exit.2:136 build/C/man3/a64l.3:97 build/C/man3/atexit.3:165
+#: build/C/man3/atof.3:73 build/C/man3/atoi.3:130
+#: build/C/man3/canonicalize_file_name.3:78 build/C/man3/cfree.3:119
+#: build/C/man3/clearenv.3:103 build/C/man3/drand48.3:269
+#: build/C/man3/drand48_r.3:118 build/C/man3/ecvt.3:141
+#: build/C/man3/ecvt_r.3:99 build/C/man3/exit.3:190 build/C/man3/gcvt.3:90
+#: build/C/man3/getauxval.3:222 build/C/man3/getenv.3:137
+#: build/C/man3/getloadavg.3:77 build/C/man3/getsubopt.3:234
+#: build/C/man3/malloc.3:285 build/C/man3/mblen.3:108
+#: build/C/man3/mbstowcs.3:222 build/C/man3/mbtowc.3:135
+#: build/C/man3/mkdtemp.3:98 build/C/man3/mkstemp.3:239
+#: build/C/man3/mktemp.3:123 build/C/man3/on_exit.3:92
+#: build/C/man3/putenv.3:125 build/C/man3/qecvt.3:112 build/C/man3/rand.3:220
+#: build/C/man3/random.3:202 build/C/man3/random_r.3:145
+#: build/C/man3/rpmatch.3:150 build/C/man3/setenv.3:158
+#: build/C/man3/strtod.3:197 build/C/man3/strtoimax.3:77
+#: build/C/man3/strtol.3:303 build/C/man3/strtoul.3:231
+#: build/C/man3/system.3:210 build/C/man7/vdso.7:510
+#: build/C/man3/wcstombs.3:109 build/C/man3/wctomb.3:110
+#, no-wrap
+msgid "COLOPHON"
+msgstr "この文書について"
+
+#. type: Plain text
+#: build/C/man3/MB_CUR_MAX.3:52 build/C/man3/MB_LEN_MAX.3:54
+#: build/C/man2/_exit.2:144 build/C/man3/a64l.3:105 build/C/man3/atexit.3:173
+#: build/C/man3/atof.3:81 build/C/man3/atoi.3:138
+#: build/C/man3/canonicalize_file_name.3:86 build/C/man3/cfree.3:127
+#: build/C/man3/clearenv.3:111 build/C/man3/drand48.3:277
+#: build/C/man3/drand48_r.3:126 build/C/man3/ecvt.3:149
+#: build/C/man3/ecvt_r.3:107 build/C/man3/exit.3:198 build/C/man3/gcvt.3:98
+#: build/C/man3/getauxval.3:230 build/C/man3/getenv.3:145
+#: build/C/man3/getloadavg.3:85 build/C/man3/getsubopt.3:242
+#: build/C/man3/malloc.3:293 build/C/man3/mblen.3:116
+#: build/C/man3/mbstowcs.3:230 build/C/man3/mbtowc.3:143
+#: build/C/man3/mkdtemp.3:106 build/C/man3/mkstemp.3:247
+#: build/C/man3/mktemp.3:131 build/C/man3/on_exit.3:100
+#: build/C/man3/putenv.3:133 build/C/man3/qecvt.3:120 build/C/man3/rand.3:228
+#: build/C/man3/random.3:210 build/C/man3/random_r.3:153
+#: build/C/man3/rpmatch.3:158 build/C/man3/setenv.3:166
+#: build/C/man3/strtod.3:205 build/C/man3/strtoimax.3:85
+#: build/C/man3/strtol.3:311 build/C/man3/strtoul.3:239
+#: build/C/man3/system.3:218 build/C/man7/vdso.7:518
+#: build/C/man3/wcstombs.3:117 build/C/man3/wctomb.3:118
+msgid ""
+"This page is part of release 3.68 of the Linux I<man-pages> project.  A "
+"description of the project, information about reporting bugs, and the latest "
+"version of this page, can be found at \\%http://www.kernel.org/doc/man-"
+"pages/."
+msgstr ""
+"この man ページは Linux I<man-pages> プロジェクトのリリース 3.68 の一部\n"
+"である。プロジェクトの説明とバグ報告に関する情報は\n"
+"http://www.kernel.org/doc/man-pages/ に書かれている。"
+
 #. type: TH
-#: build/C/man3/MB_LEN_MAX.3:15
+#: build/C/man3/MB_LEN_MAX.3:17
 #, no-wrap
 msgid "MB_LEN_MAX"
 msgstr "MB_LEN_MAX"
 
 #. type: Plain text
-#: build/C/man3/MB_LEN_MAX.3:18
+#: build/C/man3/MB_LEN_MAX.3:20
 msgid "MB_LEN_MAX - maximum multibyte length of a character across all locales"
 msgstr "MB_LEN_MAX - 全てのロケールでの1文字の最大マルチバイト長"
 
 #. type: Plain text
-#: build/C/man3/MB_LEN_MAX.3:21
+#: build/C/man3/MB_LEN_MAX.3:23
 #, no-wrap
 msgid "B<#include E<lt>limits.hE<gt>>\n"
 msgstr "B<#include E<lt>limits.hE<gt>>\n"
 
 #. type: Plain text
-#: build/C/man3/MB_LEN_MAX.3:27
+#: build/C/man3/MB_LEN_MAX.3:29
 msgid ""
 "The B<MB_LEN_MAX> macro is the upper bound for the number of bytes needed to "
 "represent a single wide character, across all locales."
@@ -277,29 +340,30 @@ msgstr ""
 "となる 最大バイト数である。"
 
 #. type: Plain text
-#: build/C/man3/MB_LEN_MAX.3:29
+#: build/C/man3/MB_LEN_MAX.3:31
 msgid "A constant integer greater than zero."
 msgstr "0 より大きいの整数型の定数。"
 
 #. type: SH
-#: build/C/man3/MB_LEN_MAX.3:31 build/C/man2/_exit.2:86 build/C/man3/a64l.3:61
-#: build/C/man3/atexit.3:73 build/C/man3/atoi.3:101 build/C/man3/clearenv.3:72
-#: build/C/man3/drand48.3:204 build/C/man3/ecvt.3:120 build/C/man3/ecvt_r.3:88
-#: build/C/man3/exit.3:86 build/C/man3/getenv.3:56
-#: build/C/man3/getsubopt.3:129 build/C/man3/malloc.3:168
-#: build/C/man3/mblen.3:70 build/C/man3/mbstowcs.3:70 build/C/man3/mbtowc.3:78
-#: build/C/man3/mkstemp.3:189 build/C/man3/mktemp.3:92
-#: build/C/man3/putenv.3:76 build/C/man3/qecvt.3:76 build/C/man3/rand.3:139
-#: build/C/man3/random.3:137 build/C/man3/setenv.3:109
-#: build/C/man3/strtod.3:163 build/C/man3/strtol.3:142
-#: build/C/man3/strtoul.3:145 build/C/man3/system.3:78
-#: build/C/man3/wcstombs.3:70 build/C/man3/wctomb.3:66
+#: build/C/man3/MB_LEN_MAX.3:33 build/C/man2/_exit.2:86 build/C/man3/a64l.3:73
+#: build/C/man3/atexit.3:78 build/C/man3/atoi.3:115 build/C/man3/clearenv.3:74
+#: build/C/man3/drand48.3:262 build/C/man3/ecvt.3:129 build/C/man3/ecvt_r.3:90
+#: build/C/man3/exit.3:98 build/C/man3/getauxval.3:194
+#: build/C/man3/getenv.3:102 build/C/man3/getsubopt.3:136
+#: build/C/man3/malloc.3:173 build/C/man3/mblen.3:94
+#: build/C/man3/mbstowcs.3:96 build/C/man3/mbtowc.3:115
+#: build/C/man3/mkstemp.3:208 build/C/man3/mktemp.3:99
+#: build/C/man3/putenv.3:81 build/C/man3/qecvt.3:102 build/C/man3/rand.3:141
+#: build/C/man3/random.3:163 build/C/man3/setenv.3:130
+#: build/C/man3/strtod.3:177 build/C/man3/strtol.3:178
+#: build/C/man3/strtoul.3:182 build/C/man3/system.3:112
+#: build/C/man7/vdso.7:129 build/C/man3/wcstombs.3:91 build/C/man3/wctomb.3:91
 #, no-wrap
 msgid "NOTES"
 msgstr "注意"
 
 #. type: Plain text
-#: build/C/man3/MB_LEN_MAX.3:42
+#: build/C/man3/MB_LEN_MAX.3:44
 msgid ""
 "The entities B<MB_LEN_MAX> and I<sizeof(wchar_t)> are totally unrelated.  In "
 "glibc, B<MB_LEN_MAX> is typically 6 while I<sizeof(wchar_t)> is 4."
@@ -308,7 +372,7 @@ msgstr ""
 "B<MB_LEN_MAX> は通常は 6 で、 I<sizeof(wchar_t)> は 4 である。"
 
 #. type: Plain text
-#: build/C/man3/MB_LEN_MAX.3:43
+#: build/C/man3/MB_LEN_MAX.3:46
 msgid "B<MB_CUR_MAX>(3)"
 msgstr "B<MB_CUR_MAX>(3)"
 
@@ -319,10 +383,7 @@ msgid "_EXIT"
 msgstr "_EXIT"
 
 #. type: TH
-#: build/C/man2/_exit.2:29 build/C/man3/a64l.3:6 build/C/man3/atoi.3:31
-#: build/C/man3/ecvt.3:30 build/C/man3/gcvt.3:28 build/C/man3/mktemp.3:32
-#: build/C/man3/qecvt.3:26 build/C/man3/random.3:31 build/C/man3/strtod.3:43
-#: build/C/man3/strtol.3:29
+#: build/C/man2/_exit.2:29
 #, no-wrap
 msgid "2010-09-20"
 msgstr "2010-09-20"
@@ -343,10 +404,10 @@ msgid "B<void _exit(int >I<status>B<);>"
 msgstr "B<void _exit(int >I<status>B<);>"
 
 #. type: Plain text
-#: build/C/man2/_exit.2:38 build/C/man3/a64l.3:11
-#: build/C/man3/canonicalize_file_name.3:12 build/C/man3/ecvt.3:35
-#: build/C/man3/getsubopt.3:28 build/C/man3/qecvt.3:31
-#: build/C/man3/strtod.3:48
+#: build/C/man2/_exit.2:38 build/C/man3/a64l.3:14
+#: build/C/man3/canonicalize_file_name.3:33 build/C/man3/ecvt.3:37
+#: build/C/man3/getsubopt.3:30 build/C/man3/qecvt.3:33
+#: build/C/man3/strtod.3:50
 msgid "B<#include E<lt>stdlib.hE<gt>>"
 msgstr "B<#include E<lt>stdlib.hE<gt>>"
 
@@ -356,16 +417,17 @@ msgid "B<void _Exit(int >I<status>B<);>"
 msgstr "B<void _Exit(int >I<status>B<);>"
 
 #. type: Plain text
-#: build/C/man2/_exit.2:44 build/C/man3/a64l.3:19 build/C/man3/atoi.3:50
-#: build/C/man3/cfree.3:47 build/C/man3/clearenv.3:37
-#: build/C/man3/drand48.3:58 build/C/man3/drand48_r.3:66
-#: build/C/man3/ecvt.3:45 build/C/man3/ecvt_r.3:51 build/C/man3/gcvt.3:41
-#: build/C/man3/getsubopt.3:35 build/C/man3/mkdtemp.3:37
-#: build/C/man3/mkstemp.3:52 build/C/man3/mktemp.3:45
-#: build/C/man3/on_exit.3:42 build/C/man3/putenv.3:48 build/C/man3/qecvt.3:43
-#: build/C/man3/rand.3:56 build/C/man3/random.3:50 build/C/man3/random_r.3:45
-#: build/C/man3/rpmatch.3:40 build/C/man3/setenv.3:50 build/C/man3/strtod.3:58
-#: build/C/man3/strtol.3:45 build/C/man3/strtoul.3:48
+#: build/C/man2/_exit.2:44 build/C/man3/a64l.3:22 build/C/man3/atoi.3:52
+#: build/C/man3/cfree.3:48 build/C/man3/clearenv.3:39
+#: build/C/man3/drand48.3:60 build/C/man3/drand48_r.3:68
+#: build/C/man3/ecvt.3:47 build/C/man3/ecvt_r.3:53 build/C/man3/gcvt.3:43
+#: build/C/man3/getenv.3:48 build/C/man3/getsubopt.3:37
+#: build/C/man3/mkdtemp.3:39 build/C/man3/mkstemp.3:54
+#: build/C/man3/mktemp.3:47 build/C/man3/on_exit.3:44 build/C/man3/putenv.3:50
+#: build/C/man3/qecvt.3:45 build/C/man3/rand.3:58 build/C/man3/random.3:52
+#: build/C/man3/random_r.3:47 build/C/man3/rpmatch.3:42
+#: build/C/man3/setenv.3:52 build/C/man3/strtod.3:60 build/C/man3/strtol.3:47
+#: build/C/man3/strtoul.3:50
 msgid ""
 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
@@ -376,7 +438,7 @@ msgid "B<_Exit>():"
 msgstr "B<_Exit>():"
 
 #. type: Plain text
-#: build/C/man2/_exit.2:51 build/C/man3/strtod.3:66
+#: build/C/man2/_exit.2:51 build/C/man3/strtod.3:68
 msgid ""
 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
 "200112L;"
@@ -385,8 +447,8 @@ msgstr ""
 "200112L;"
 
 #. type: Plain text
-#: build/C/man2/_exit.2:54 build/C/man3/atoi.3:60 build/C/man3/strtod.3:69
-#: build/C/man3/strtol.3:55 build/C/man3/strtoul.3:58
+#: build/C/man2/_exit.2:54 build/C/man3/atoi.3:62 build/C/man3/strtod.3:71
+#: build/C/man3/strtol.3:57 build/C/man3/strtoul.3:60
 msgid "or I<cc\\ -std=c99>"
 msgstr "または I<cc\\ -std=c99>"
 
@@ -433,10 +495,10 @@ msgstr "SVr4, POSIX.1-2001, 4.3BSD.  関数 B<_Exit>()  は C99 で導入され
 #: build/C/man2/_exit.2:90
 msgid ""
 "For a discussion on the effects of an exit, the transmission of exit status, "
-"zombie processes, signals sent, etc., see B<exit>(3)."
+"zombie processes, signals sent, and so on, see B<exit>(3)."
 msgstr ""
-"exit ã\81®å½¹å\89²ã\83»çµ\82äº\86ç\8a¶æ\85\8bã\81®å\8f\97渡ã\81\97ã\83» ã\82¾ã\83³ã\83\93ã\83\97ã\83­ã\82»ã\82¹ã\83»ã\82·ã\82°ã\83\8aã\83«é\80\81å\87ºã\81ªã\81©ã\81«ã\81¤ã\81\84ã\81¦ã\81®è­°"
-"論は、 B<exit>(3)  を参照すること。"
+"exit ã\81®å\8a¹æ\9e\9cã\80\81çµ\82äº\86ç\8a¶æ\85\8bã\81®å\8f\97渡ã\81\97ã\80\81ã\82¾ã\83³ã\83\93ã\83\97ã\83­ã\82»ã\82¹ã\80\81ã\82·ã\82°ã\83\8aã\83«é\80\81å\87ºã\81ªã\81©ã\81«\n"
+"ついての議論は、 B<exit>(3) を参照すること。"
 
 #. type: Plain text
 #: build/C/man2/_exit.2:117
@@ -448,8 +510,8 @@ msgid ""
 "file descriptors, and this may cause an unknown delay, waiting for pending "
 "output to finish.  If the delay is undesired, it may be useful to call "
 "functions like B<tcflush>(3)  before calling B<_exit>().  Whether any "
-"pending I/O is canceled, and which pending I/O may be canceled upon B<_exit>"
-"(), is implementation-dependent."
+"pending I/O is canceled, and which pending I/O may be canceled upon "
+"B<_exit>(), is implementation-dependent."
 msgstr ""
 "関数 B<_exit>()  は B<exit>(3)  に似ているが、ANSI C の B<atexit>(3)  や "
 "B<on_exit>(3)  によって登録されたいかなる関数も呼び出さない。 標準 I/O バッ"
@@ -474,42 +536,50 @@ msgstr ""
 "のスレッドを終了するために、 ラッパー関数は B<exit_group>(2)  を起動する。"
 
 #. type: Plain text
-#: build/C/man2/_exit.2:135
+#: build/C/man2/_exit.2:136
 msgid ""
-"B<execve>(2), B<exit_group>(2), B<fork>(2), B<kill>(2), B<wait>(2), B<wait4>"
-"(2), B<waitpid>(2), B<atexit>(3), B<exit>(3), B<on_exit>(3), B<termios>(3)"
+"B<execve>(2), B<exit_group>(2), B<fork>(2), B<kill>(2), B<wait>(2), "
+"B<wait4>(2), B<waitpid>(2), B<atexit>(3), B<exit>(3), B<on_exit>(3), "
+"B<termios>(3)"
 msgstr ""
-"B<execve>(2), B<exit_group>(2), B<fork>(2), B<kill>(2), B<wait>(2), B<wait4>"
-"(2), B<waitpid>(2), B<atexit>(3), B<exit>(3), B<on_exit>(3), B<termios>(3)"
+"B<execve>(2), B<exit_group>(2), B<fork>(2), B<kill>(2), B<wait>(2), "
+"B<wait4>(2), B<waitpid>(2), B<atexit>(3), B<exit>(3), B<on_exit>(3), "
+"B<termios>(3)"
 
 #. type: TH
-#: build/C/man3/a64l.3:6
+#: build/C/man3/a64l.3:9
 #, no-wrap
 msgid "A64L"
 msgstr "A64L"
 
+#. type: TH
+#: build/C/man3/a64l.3:9 build/C/man3/gcvt.3:30 build/C/man3/getauxval.3:29
+#, no-wrap
+msgid "2014-05-28"
+msgstr "2014-05-28"
+
 #. type: Plain text
-#: build/C/man3/a64l.3:9
+#: build/C/man3/a64l.3:12
 msgid "a64l, l64a - convert between long and base-64"
 msgstr "a64l, l64a - long と base-64 を変換する"
 
 #. type: Plain text
-#: build/C/man3/a64l.3:13
-msgid "B<long a64l(char *>I<str64>B<);>"
-msgstr "B<long a64l(char *>I<str64>B<);>"
+#: build/C/man3/a64l.3:16
+msgid "B<long a64l(const char *>I<str64>B<);>"
+msgstr "B<long a64l(const char *>I<str64>B<);>"
 
 #. type: Plain text
-#: build/C/man3/a64l.3:15
+#: build/C/man3/a64l.3:18
 msgid "B<char *l64a(long >I<value>B<);>"
 msgstr "B<char *l64a(long >I<value>B<);>"
 
 #. type: Plain text
-#: build/C/man3/a64l.3:23
+#: build/C/man3/a64l.3:26
 msgid "B<a64l>(), B<l64a>():"
 msgstr "B<a64l>(), B<l64a>():"
 
 #. type: Plain text
-#: build/C/man3/a64l.3:28 build/C/man3/ecvt.3:64
+#: build/C/man3/a64l.3:31 build/C/man3/ecvt.3:66
 msgid ""
 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
 "_XOPEN_SOURCE_EXTENDED"
@@ -518,7 +588,7 @@ msgstr ""
 "_XOPEN_SOURCE_EXTENDED"
 
 #. type: Plain text
-#: build/C/man3/a64l.3:45
+#: build/C/man3/a64l.3:48
 msgid ""
 "These functions provide a conversion between 32-bit long integers and little-"
 "endian base-64 ASCII strings (of length zero to six).  If the string used as "
@@ -534,12 +604,12 @@ msgstr ""
 "結果を符号拡張 (sign-extend) する。"
 
 #. type: Plain text
-#: build/C/man3/a64l.3:47
+#: build/C/man3/a64l.3:50
 msgid "The 64 digits in the base-64 system are:"
 msgstr "base-64 システムで使われる 64 個の文字は以下の通りである:"
 
 #. type: Plain text
-#: build/C/man3/a64l.3:55
+#: build/C/man3/a64l.3:58
 #, no-wrap
 msgid ""
 "\\&\\(aq.\\(aq\trepresents a 0\n"
@@ -555,17 +625,53 @@ msgstr ""
 "a-z\tは 38-63 を表す。\n"
 
 #. type: Plain text
-#: build/C/man3/a64l.3:59
+#: build/C/man3/a64l.3:62
 msgid "So 123 = 59*64^0 + 1*64^1 = \"v/\"."
 msgstr "よって 123 = 59*64^0 + 1*64^1 = \"v/\" である。"
 
+#. type: SH
+#: build/C/man3/a64l.3:62 build/C/man3/atof.3:57 build/C/man3/atoi.3:93
+#: build/C/man3/drand48.3:245 build/C/man3/drand48_r.3:98
+#: build/C/man3/ecvt.3:110 build/C/man3/exit.3:90 build/C/man3/getauxval.3:187
+#: build/C/man3/getloadavg.3:65 build/C/man3/getsubopt.3:129
+#: build/C/man3/mblen.3:87 build/C/man3/qecvt.3:85 build/C/man3/random.3:152
+#: build/C/man3/random_r.3:128 build/C/man3/strtod.3:160
+#: build/C/man3/strtoimax.3:58 build/C/man3/strtol.3:161
+#: build/C/man3/strtoul.3:165 build/C/man3/wctomb.3:84
+#, no-wrap
+msgid "ATTRIBUTES"
+msgstr "属性"
+
+#. type: SS
+#: build/C/man3/a64l.3:63 build/C/man3/atof.3:58 build/C/man3/atoi.3:94
+#: build/C/man3/drand48.3:246 build/C/man3/drand48_r.3:99
+#: build/C/man3/ecvt.3:111 build/C/man3/exit.3:91 build/C/man3/getauxval.3:188
+#: build/C/man3/getloadavg.3:66 build/C/man3/getsubopt.3:130
+#: build/C/man3/mblen.3:88 build/C/man3/qecvt.3:86 build/C/man3/random.3:153
+#: build/C/man3/random_r.3:129 build/C/man3/strtod.3:161
+#: build/C/man3/strtoimax.3:59 build/C/man3/strtol.3:162
+#: build/C/man3/strtoul.3:166 build/C/man3/wctomb.3:85
+#, no-wrap
+msgid "Multithreading (see pthreads(7))"
+msgstr "マルチスレッディング (pthreads(7) 参照)"
+
+#. type: Plain text
+#: build/C/man3/a64l.3:67
+msgid "The B<l64a>()  function is not thread-safe."
+msgstr "B<l64a>() 関数はスレッドセーフではない。"
+
+#. type: Plain text
+#: build/C/man3/a64l.3:71
+msgid "The B<a64l>()  function is thread-safe."
+msgstr "B<a64l>() 関数はスレッドセーフである。"
+
 #. type: Plain text
-#: build/C/man3/a64l.3:61 build/C/man3/getsubopt.3:129
+#: build/C/man3/a64l.3:73 build/C/man3/getsubopt.3:136
 msgid "POSIX.1-2001."
 msgstr "POSIX.1-2001."
 
 #. type: Plain text
-#: build/C/man3/a64l.3:66
+#: build/C/man3/a64l.3:78
 msgid ""
 "The value returned by B<l64a>()  may be a pointer to a static buffer, "
 "possibly overwritten by later calls."
@@ -574,7 +680,7 @@ msgstr ""
 "び出しで上書きされる可能性がある。"
 
 #. type: Plain text
-#: build/C/man3/a64l.3:75
+#: build/C/man3/a64l.3:87
 msgid ""
 "The behavior of B<l64a>()  is undefined when I<value> is negative.  If "
 "I<value> is zero, it returns an empty string."
@@ -583,7 +689,7 @@ msgstr ""
 "場合は空文字列を返す。"
 
 #. type: Plain text
-#: build/C/man3/a64l.3:78
+#: build/C/man3/a64l.3:90
 msgid ""
 "These functions are broken in glibc before 2.2.5 (puts most significant "
 "digit first)."
@@ -592,41 +698,41 @@ msgstr ""
 "る)。"
 
 #. type: Plain text
-#: build/C/man3/a64l.3:81
+#: build/C/man3/a64l.3:93
 msgid "This is not the encoding used by B<uuencode>(1)."
 msgstr "これは B<uuencode>(1)  で使われるエンコーディングではない。"
 
 #.  .BR itoa (3),
 #. type: Plain text
-#: build/C/man3/a64l.3:84
+#: build/C/man3/a64l.3:97
 msgid "B<uuencode>(1), B<strtoul>(3)"
 msgstr "B<uuencode>(1), B<strtoul>(3)"
 
 #. type: TH
-#: build/C/man3/atexit.3:31
+#: build/C/man3/atexit.3:33
 #, no-wrap
 msgid "ATEXIT"
 msgstr "ATEXIT"
 
 #. type: TH
-#: build/C/man3/atexit.3:31 build/C/man3/on_exit.3:29
+#: build/C/man3/atexit.3:33 build/C/man3/on_exit.3:31
 #, no-wrap
 msgid "2008-12-05"
 msgstr "2008-12-05"
 
 #. type: Plain text
-#: build/C/man3/atexit.3:34
+#: build/C/man3/atexit.3:36
 msgid "atexit - register a function to be called at normal process termination"
 msgstr "atexit - プロセスが正常終了した時に呼び出される関数を登録する"
 
 #. type: Plain text
-#: build/C/man3/atexit.3:39
+#: build/C/man3/atexit.3:41
 #, no-wrap
 msgid "B<int atexit(void (*>I<function>B<)(void));>\n"
 msgstr "B<int atexit(void (*>I<function>B<)(void));>\n"
 
 #. type: Plain text
-#: build/C/man3/atexit.3:49
+#: build/C/man3/atexit.3:54
 msgid ""
 "The B<atexit>()  function registers the given I<function> to be called at "
 "normal process termination, either via B<exit>(3)  or via return from the "
@@ -639,7 +745,7 @@ msgstr ""
 "れる。 登録した関数に引き数は渡されない。"
 
 #. type: Plain text
-#: build/C/man3/atexit.3:52 build/C/man3/on_exit.3:60
+#: build/C/man3/atexit.3:57 build/C/man3/on_exit.3:69
 msgid ""
 "The same function may be registered multiple times: it is called once for "
 "each registration."
@@ -648,18 +754,18 @@ msgstr ""
 "れる。"
 
 #. type: Plain text
-#: build/C/man3/atexit.3:58
+#: build/C/man3/atexit.3:63
 msgid ""
 "POSIX.1-2001 requires that an implementation allow at least B<ATEXIT_MAX> "
 "(32) such functions to be registered.  The actual limit supported by an "
 "implementation can be obtained using B<sysconf>(3)."
 msgstr ""
 "POSIX.1-2001 では、このような関数を少なくとも B<ATEXIT_MAX> 個 (32個) 登録で"
-"きることを要求している。 その実装でサポートされている実際の上限は B<sysconf>"
-"(3)  を使って取得できる。"
+"きることを要求している。 その実装でサポートされている実際の上限は "
+"B<sysconf>(3)  を使って取得できる。"
 
 #. type: Plain text
-#: build/C/man3/atexit.3:66 build/C/man3/on_exit.3:67
+#: build/C/man3/atexit.3:71 build/C/man3/on_exit.3:76
 msgid ""
 "When a child process is created via B<fork>(2), it inherits copies of its "
 "parent's registrations.  Upon a successful call to one of the B<exec>(3)  "
@@ -671,7 +777,7 @@ msgstr ""
 "れる。"
 
 #. type: Plain text
-#: build/C/man3/atexit.3:71
+#: build/C/man3/atexit.3:76
 msgid ""
 "The B<atexit>()  function returns the value 0 if successful; otherwise it "
 "returns a nonzero value."
@@ -680,12 +786,12 @@ msgstr ""
 "以外の値を返す。"
 
 #. type: Plain text
-#: build/C/man3/atexit.3:73
+#: build/C/man3/atexit.3:78
 msgid "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
 msgstr "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
 
 #. type: Plain text
-#: build/C/man3/atexit.3:80
+#: build/C/man3/atexit.3:85
 msgid ""
 "Functions registered using B<atexit>()  (and B<on_exit>(3))  are not called "
 "if a process terminates abnormally because of the delivery of a signal."
@@ -694,7 +800,7 @@ msgstr ""
 "よりプロセスが異常終了した場合には呼び出されない。"
 
 #. type: Plain text
-#: build/C/man3/atexit.3:87
+#: build/C/man3/atexit.3:92
 msgid ""
 "If one of the functions registered functions calls B<_exit>(2), then any "
 "remaining functions are not invoked, and the other process termination steps "
@@ -708,7 +814,7 @@ msgstr ""
 #.  Glibc does "the Right Thing" -- invocation of the remaining
 #.  exit handlers carries on as normal.
 #. type: Plain text
-#: build/C/man3/atexit.3:104
+#: build/C/man3/atexit.3:109
 msgid ""
 "POSIX.1-2001 says that the result of calling B<exit>(3)  more than once (i."
 "e., calling B<exit>(3)  within a function registered using B<atexit>())  is "
@@ -723,7 +829,7 @@ msgstr ""
 "はない。"
 
 #. type: Plain text
-#: build/C/man3/atexit.3:113
+#: build/C/man3/atexit.3:118
 msgid ""
 "The B<atexit>()  and B<on_exit>(3)  functions register functions on the same "
 "list: at normal process termination, the registered functions are invoked in "
@@ -735,7 +841,7 @@ msgstr ""
 
 #.  In glibc, things seem to be handled okay
 #. type: Plain text
-#: build/C/man3/atexit.3:119
+#: build/C/man3/atexit.3:124
 msgid ""
 "POSIX.1-2001 says that the result is undefined if B<longjmp>(3)  is used to "
 "terminate execution of one of the functions registered B<atexit>()."
@@ -744,13 +850,13 @@ msgstr ""
 "B<longjmp>(3)  が使用された場合の結果は未定義である。"
 
 #. type: SS
-#: build/C/man3/atexit.3:119
+#: build/C/man3/atexit.3:124
 #, no-wrap
-msgid "Linux Notes"
+msgid "Linux notes"
 msgstr "Linux での注意"
 
 #. type: Plain text
-#: build/C/man3/atexit.3:126
+#: build/C/man3/atexit.3:131
 msgid ""
 "Since glibc 2.2.3, B<atexit>()  (and B<on_exit>(3))  can be used within a "
 "shared library to establish functions that are called when the shared "
@@ -761,16 +867,16 @@ msgstr ""
 "ることができる。"
 
 #. type: SH
-#: build/C/man3/atexit.3:126 build/C/man3/getsubopt.3:136
-#: build/C/man3/rand.3:158 build/C/man3/rpmatch.3:102
-#: build/C/man3/strtod.3:172 build/C/man3/strtol.3:179
-#: build/C/man3/strtoul.3:183
+#: build/C/man3/atexit.3:131 build/C/man3/getsubopt.3:143
+#: build/C/man3/mbstowcs.3:108 build/C/man3/rand.3:160
+#: build/C/man3/rpmatch.3:119 build/C/man3/strtod.3:186
+#: build/C/man3/strtol.3:216 build/C/man3/strtoul.3:220
 #, no-wrap
 msgid "EXAMPLE"
 msgstr "例"
 
 #. type: Plain text
-#: build/C/man3/atexit.3:131
+#: build/C/man3/atexit.3:136
 #, no-wrap
 msgid ""
 "#include E<lt>stdio.hE<gt>\n"
@@ -782,7 +888,7 @@ msgstr ""
 "#include E<lt>unistd.hE<gt>\n"
 
 #. type: Plain text
-#: build/C/man3/atexit.3:137
+#: build/C/man3/atexit.3:142
 #, no-wrap
 msgid ""
 "void\n"
@@ -798,7 +904,7 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
-#: build/C/man3/atexit.3:143
+#: build/C/man3/atexit.3:148
 #, no-wrap
 msgid ""
 "int\n"
@@ -814,7 +920,7 @@ msgstr ""
 "    int i;\n"
 
 #. type: Plain text
-#: build/C/man3/atexit.3:146
+#: build/C/man3/atexit.3:151
 #, no-wrap
 msgid ""
 "    a = sysconf(_SC_ATEXIT_MAX);\n"
@@ -824,7 +930,7 @@ msgstr ""
 "    printf(\"ATEXIT_MAX = %ld\\en\", a);\n"
 
 #. type: Plain text
-#: build/C/man3/atexit.3:152
+#: build/C/man3/atexit.3:157
 #, no-wrap
 msgid ""
 "    i = atexit(bye);\n"
@@ -840,8 +946,9 @@ msgstr ""
 "    }\n"
 
 #. type: Plain text
-#: build/C/man3/atexit.3:155 build/C/man3/getsubopt.3:223
-#: build/C/man3/rand.3:213 build/C/man3/strtol.3:259
+#: build/C/man3/atexit.3:160 build/C/man3/getsubopt.3:231
+#: build/C/man3/mbstowcs.3:215 build/C/man3/rand.3:215
+#: build/C/man3/strtol.3:296
 #, no-wrap
 msgid ""
 "    exit(EXIT_SUCCESS);\n"
@@ -851,51 +958,53 @@ msgstr ""
 "}\n"
 
 #. type: Plain text
-#: build/C/man3/atexit.3:159
+#: build/C/man3/atexit.3:165
 msgid "B<_exit>(2), B<exit>(3), B<on_exit>(3)"
 msgstr "B<_exit>(2), B<exit>(3), B<on_exit>(3)"
 
 #. type: TH
-#: build/C/man3/atof.3:29
+#: build/C/man3/atof.3:31
 #, no-wrap
 msgid "ATOF"
 msgstr "ATOF"
 
 #. type: TH
-#: build/C/man3/atof.3:29
+#: build/C/man3/atof.3:31 build/C/man3/atoi.3:33 build/C/man3/strtod.3:45
+#: build/C/man3/strtoimax.3:24
 #, no-wrap
-msgid "1993-03-29"
-msgstr "1993-03-29"
+msgid "2014-01-22"
+msgstr "2014-01-22"
 
 #. type: TH
-#: build/C/man3/atof.3:29 build/C/man3/atoi.3:31
-#: build/C/man3/canonicalize_file_name.3:5 build/C/man3/drand48_r.3:25
-#: build/C/man3/ecvt_r.3:28 build/C/man3/getenv.3:31
-#: build/C/man3/getsubopt.3:23 build/C/man3/malloc.3:28
-#: build/C/man3/mblen.3:14 build/C/man3/mbstowcs.3:14 build/C/man3/mbtowc.3:14
-#: build/C/man3/mkdtemp.3:24 build/C/man3/mkstemp.3:33
-#: build/C/man3/mktemp.3:32 build/C/man3/on_exit.3:29 build/C/man3/putenv.3:34
-#: build/C/man3/qecvt.3:26 build/C/man3/random.3:31 build/C/man3/random_r.3:24
-#: build/C/man3/rpmatch.3:27 build/C/man3/setenv.3:35 build/C/man3/strtol.3:29
-#: build/C/man3/strtoul.3:31 build/C/man3/wcstombs.3:14
-#: build/C/man3/wctomb.3:14
+#: build/C/man3/atof.3:31 build/C/man3/atoi.3:33
+#: build/C/man3/canonicalize_file_name.3:26 build/C/man3/drand48_r.3:27
+#: build/C/man3/ecvt_r.3:30 build/C/man3/getauxval.3:29
+#: build/C/man3/getenv.3:33 build/C/man3/getsubopt.3:25
+#: build/C/man3/malloc.3:33 build/C/man3/mblen.3:16 build/C/man3/mbstowcs.3:18
+#: build/C/man3/mbtowc.3:16 build/C/man3/mkdtemp.3:26
+#: build/C/man3/mkstemp.3:35 build/C/man3/mktemp.3:34
+#: build/C/man3/on_exit.3:31 build/C/man3/putenv.3:36 build/C/man3/qecvt.3:28
+#: build/C/man3/random.3:33 build/C/man3/random_r.3:26
+#: build/C/man3/rpmatch.3:29 build/C/man3/setenv.3:37 build/C/man3/strtol.3:31
+#: build/C/man3/strtoul.3:33 build/C/man3/wcstombs.3:16
+#: build/C/man3/wctomb.3:16
 #, no-wrap
 msgid "GNU"
 msgstr "GNU"
 
 #. type: Plain text
-#: build/C/man3/atof.3:32
+#: build/C/man3/atof.3:34
 msgid "atof - convert a string to a double"
 msgstr "atof - 文字列を double 型の数値に変換"
 
 #. type: Plain text
-#: build/C/man3/atof.3:37
+#: build/C/man3/atof.3:39
 #, no-wrap
 msgid "B<double atof(const char *>I<nptr>B<);>\n"
 msgstr "B<double atof(const char *>I<nptr>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/atof.3:45
+#: build/C/man3/atof.3:47
 msgid ""
 "The B<atof>()  function converts the initial portion of the string pointed "
 "to by I<nptr> to I<double>.  The behavior is the same as"
@@ -905,72 +1014,83 @@ msgstr ""
 "を除いては、"
 
 #. type: Plain text
-#: build/C/man3/atof.3:48
-msgid "strtod(nptr, (char **) NULL);"
-msgstr "strtod(nptr, (char **) NULL);"
+#: build/C/man3/atof.3:50
+msgid "strtod(nptr, NULL);"
+msgstr "strtod(nptr, NULL);"
 
 #. type: Plain text
-#: build/C/man3/atof.3:53
+#: build/C/man3/atof.3:55
 msgid "except that B<atof>()  does not detect errors."
 msgstr "と同じである。"
 
 #. type: Plain text
-#: build/C/man3/atof.3:55 build/C/man3/atoi.3:91
+#: build/C/man3/atof.3:57 build/C/man3/atoi.3:93
 msgid "The converted value."
 msgstr "変換された値。"
 
 #. type: Plain text
-#: build/C/man3/atof.3:57 build/C/man3/getenv.3:56
+#: build/C/man3/atof.3:65
+msgid ""
+"The B<atof>()  function is thread-safe with exceptions.  It can be safely "
+"used in multithreaded applications, as long as B<setlocale>(3)  is not "
+"called to change the locale during its execution."
+msgstr ""
+"B<atof>() 関数は、例外付きのスレッドセーフである。実行中に B<setlocale>(3) を"
+"呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使"
+"用することができる。"
+
+#. type: Plain text
+#: build/C/man3/atof.3:67
 msgid "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
 msgstr "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
 
 #. type: Plain text
-#: build/C/man3/atof.3:62
+#: build/C/man3/atof.3:73
 msgid "B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
 msgstr "B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
 
 #. type: TH
-#: build/C/man3/atoi.3:31
+#: build/C/man3/atoi.3:33
 #, no-wrap
 msgid "ATOI"
 msgstr "ATOI"
 
 #. type: Plain text
-#: build/C/man3/atoi.3:34
+#: build/C/man3/atoi.3:36
 msgid "atoi, atol, atoll, atoq - convert a string to an integer"
 msgstr "atoi, atol, atoll, atoq - 文字列を整数型に変換する"
 
 #. type: Plain text
-#: build/C/man3/atoi.3:39
+#: build/C/man3/atoi.3:41
 #, no-wrap
 msgid "B<int atoi(const char *>I<nptr>B<);>\n"
 msgstr "B<int atoi(const char *>I<nptr>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/atoi.3:41
+#: build/C/man3/atoi.3:43
 #, no-wrap
 msgid "B<long atol(const char *>I<nptr>B<);>\n"
 msgstr "B<long atol(const char *>I<nptr>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/atoi.3:43
+#: build/C/man3/atoi.3:45
 #, no-wrap
 msgid "B<long long atoll(const char *>I<nptr>B<);>\n"
 msgstr "B<long long atoll(const char *>I<nptr>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/atoi.3:45
+#: build/C/man3/atoi.3:47
 #, no-wrap
 msgid "B<long long atoq(const char *>I<nptr>B<);>\n"
 msgstr "B<long long atoq(const char *>I<nptr>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/atoi.3:54
+#: build/C/man3/atoi.3:56
 msgid "B<atoll>():"
 msgstr "B<atoll>():"
 
 #. type: Plain text
-#: build/C/man3/atoi.3:57
+#: build/C/man3/atoi.3:59
 msgid ""
 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || "
 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
@@ -979,7 +1099,7 @@ msgstr ""
 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
 
 #. type: Plain text
-#: build/C/man3/atoi.3:69
+#: build/C/man3/atoi.3:71
 msgid ""
 "The B<atoi>()  function converts the initial portion of the string pointed "
 "to by I<nptr> to I<int>.  The behavior is the same as"
@@ -989,29 +1109,41 @@ msgstr ""
 "は、"
 
 #. type: Plain text
-#: build/C/man3/atoi.3:72
-msgid "strtol(nptr, (char **) NULL, 10);"
-msgstr "strtol(nptr, (char **) NULL, 10);"
+#: build/C/man3/atoi.3:74
+msgid "strtol(nptr, NULL, 10);"
+msgstr "strtol(nptr, NULL, 10);"
 
 #. type: Plain text
-#: build/C/man3/atoi.3:77
+#: build/C/man3/atoi.3:79
 msgid "except that B<atoi>()  does not detect errors."
 msgstr "と同じである。"
 
 #. type: Plain text
-#: build/C/man3/atoi.3:89
+#: build/C/man3/atoi.3:91
 msgid ""
 "The B<atol>()  and B<atoll>()  functions behave the same as B<atoi>(), "
 "except that they convert the initial portion of the string to their return "
-"type of I<long> or I<long long>.  B<atoq>()  is an obsolete name for B<atoll>"
-"()."
+"type of I<long> or I<long long>.  B<atoq>()  is an obsolete name for "
+"B<atoll>()."
 msgstr ""
 "B<atol>()  関数と B<atoll>()  関数は B<atoi>()  と同様の振る舞いをするが、 文"
 "字列のはじめの部分をそれぞれ I<long> や I<long long> に変換する。 B<atoq>()  "
 "は B<atoll>()  の古い名前である。"
 
 #. type: Plain text
-#: build/C/man3/atoi.3:101
+#: build/C/man3/atoi.3:105
+msgid ""
+"The B<atoi>(), B<atol>(), and B<atoll>()  functions are thread-safe with "
+"exceptions.  These functions can be safely used in multithreaded "
+"applications, as long as B<setlocale>(3)  is not called to change the locale "
+"during their execution."
+msgstr ""
+"関数 B<atoi>(), B<atol>(), B<atoll>() は、例外付きのスレッドセーフである。実"
+"行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドア"
+"プリケーションで安全に使用することができる。"
+
+#. type: Plain text
+#: build/C/man3/atoi.3:115
 msgid ""
 "SVr4, POSIX.1-2001, 4.3BSD, C99.  C89 and POSIX.1-1996 include the functions "
 "B<atoi>()  and B<atol>()  only.  B<atoq>()  is a GNU extension."
@@ -1020,7 +1152,7 @@ msgstr ""
 "B<atol>()  だけが含まれている。 B<atoq>()  は GNU による拡張である。"
 
 #. type: Plain text
-#: build/C/man3/atoi.3:111
+#: build/C/man3/atoi.3:125
 msgid ""
 "The nonstandard B<atoq>()  function is not present in libc 4.6.27 or glibc "
 "2, but is present in libc5 and libc 4.7 (though only as an inline function "
@@ -1033,76 +1165,130 @@ msgstr ""
 "ン 2.0.2 から存在しているが、 libc4 や libc5 には存在しない。"
 
 #. type: Plain text
-#: build/C/man3/atoi.3:115
+#: build/C/man3/atoi.3:130
 msgid "B<atof>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
 msgstr "B<atof>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
 
 #. type: TH
-#: build/C/man3/canonicalize_file_name.3:5
+#: build/C/man3/canonicalize_file_name.3:26
 #, no-wrap
 msgid "CANONICALIZE_FILE_NAME"
 msgstr "CANONICALIZE_FILE_NAME"
 
 #. type: TH
-#: build/C/man3/canonicalize_file_name.3:5
+#: build/C/man3/canonicalize_file_name.3:26
 #, no-wrap
-msgid "2005-07-14"
-msgstr "2005-07-14"
+msgid "2013-05-11"
+msgstr "2013-05-11"
 
 #. type: Plain text
-#: build/C/man3/canonicalize_file_name.3:8
-msgid "canonicalize_file_name - return the canonicalized filename"
-msgstr "canonicalize_file_name - 正規化されたファイル名を返す"
+#: build/C/man3/canonicalize_file_name.3:29
+msgid "canonicalize_file_name - return the canonicalized absolute pathname"
+msgstr "canonicalize_file_name - 正規化された絶対パス名を返す"
 
 #. type: Plain text
-#: build/C/man3/canonicalize_file_name.3:10
+#: build/C/man3/canonicalize_file_name.3:31
 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
 
 #. type: Plain text
-#: build/C/man3/canonicalize_file_name.3:14
+#: build/C/man3/canonicalize_file_name.3:35
 msgid "B<char *canonicalize_file_name(const char *>I<path>B<);>"
 msgstr "B<char *canonicalize_file_name(const char *>I<path>B<);>"
 
 #. type: Plain text
-#: build/C/man3/canonicalize_file_name.3:19
+#: build/C/man3/canonicalize_file_name.3:49
+msgid ""
+"The B<canonicalize_file_name>()  function returns a null-terminated string "
+"containing the canonicalized absolute pathname corresponding to I<path>.  In "
+"the returned string, symbolic links are resolved, as are I<.> and I<..> "
+"pathname components.  Consecutive slash (I</>)  characters are replaced by a "
+"single slash."
+msgstr ""
+"B<canonicalize_file_name>() 関数は I<path> に対応する正規化された絶対パス名を"
+"示すヌル終端された文字列を返す。返された文字列では、シンボリックリンクや、パ"
+"ス名に含まれる I<.> や I<..> は展開される。連続するスラッシュ (I</>) 文字はス"
+"ラッシュ一つに置換される。"
+
+#. type: Plain text
+#: build/C/man3/canonicalize_file_name.3:55
+msgid ""
+"The returned string is dynamically allocated by B<canonicalize_file_name>()  "
+"and the caller should deallocate it with B<free>(3)  when it is no longer "
+"required."
+msgstr ""
+"返される文字列は B<canonicalize_file_name>() により動的に割り当てられる。呼び"
+"出し側は、必要なくなった際にはこの文字列を B<free>(3) で解放すべきである。"
+
+#. type: Plain text
+#: build/C/man3/canonicalize_file_name.3:59
+msgid "The call I<canonicalize_file_name(path)> is equivalent to the call:"
+msgstr "I<canonicalize_file_name(path)> は以下と等価である。"
+
+#. type: Plain text
+#: build/C/man3/canonicalize_file_name.3:61
+#, no-wrap
+msgid "    realpath(path, NULL);\n"
+msgstr "    realpath(path, NULL);\n"
+
+#. type: Plain text
+#: build/C/man3/canonicalize_file_name.3:70
 msgid ""
-"The call I<canonicalize_file_name(path)> is equivalent to the call I<realpath"
-"(path,\\ NULL)>."
+"On success, B<canonicalize_file_name>()  returns a null-terminated string.  "
+"On error (e.g., a pathname component is unreadable or does not exist), "
+"B<canonicalize_file_name>()  returns NULL and sets I<errno> to indicate the "
+"error."
 msgstr ""
-"I<canonicalize_file_name(path)> は I<realpath(path,\\ NULL)> と等価である。"
+"成功すると、 B<canonicalize_file_name>() はヌル終端された文字列を返す。エラー"
+"の場合 (例えば、パス名の中に読み込めなかったり存在しないパスが含まれている場"
+"合など)、 B<canonicalize_file_name>() は NULL を返し、 I<errno> にエラー内容"
+"を示す値を設定する。"
+
+#. type: SH
+#: build/C/man3/canonicalize_file_name.3:70 build/C/man3/getauxval.3:181
+#: build/C/man3/mkdtemp.3:75 build/C/man3/mkstemp.3:161
+#: build/C/man3/mktemp.3:91 build/C/man3/putenv.3:75 build/C/man3/random.3:140
+#: build/C/man3/random_r.3:105 build/C/man3/rpmatch.3:82
+#: build/C/man3/setenv.3:119 build/C/man3/strtod.3:156
+#: build/C/man3/strtol.3:144 build/C/man3/strtoul.3:148
+#, no-wrap
+msgid "ERRORS"
+msgstr "エラー"
+
+#. type: Plain text
+#: build/C/man3/canonicalize_file_name.3:73
+msgid "See B<realpath>(3)."
+msgstr "B<realpath>(3) 参照。"
 
 #. type: Plain text
-#: build/C/man3/canonicalize_file_name.3:21
-msgid "The function is a GNU extension."
+#: build/C/man3/canonicalize_file_name.3:75
+msgid "This function is a GNU extension."
 msgstr "この関数は GNU による拡張である。"
 
 #. type: Plain text
-#: build/C/man3/canonicalize_file_name.3:22
-msgid "B<realpath>(3)"
-msgstr "B<realpath>(3)"
+#: build/C/man3/canonicalize_file_name.3:78
+msgid "B<readlink>(2), B<realpath>(3)"
+msgstr "B<readlink>(2), B<realpath>(3)"
 
 #. type: TH
-#: build/C/man3/cfree.3:23
+#: build/C/man3/cfree.3:24
 #, no-wrap
 msgid "CFREE"
 msgstr "CFREE"
 
 #. type: TH
-#: build/C/man3/cfree.3:23 build/C/man3/drand48.3:28
-#: build/C/man3/drand48_r.3:25 build/C/man3/ecvt_r.3:28
-#: build/C/man3/putenv.3:34 build/C/man3/rpmatch.3:27
+#: build/C/man3/cfree.3:24 build/C/man3/ecvt_r.3:30 build/C/man3/rpmatch.3:29
 #, no-wrap
 msgid "2007-07-26"
 msgstr "2007-07-26"
 
 #. type: Plain text
-#: build/C/man3/cfree.3:26
+#: build/C/man3/cfree.3:27
 msgid "cfree - free allocated memory"
 msgstr "cfree - 割り当てられたメモリを解放する"
 
 #. type: Plain text
-#: build/C/man3/cfree.3:33
+#: build/C/man3/cfree.3:34
 #, no-wrap
 msgid ""
 "/* In SunOS 4 */\n"
@@ -1112,7 +1298,7 @@ msgstr ""
 "B<int cfree(void *>I<ptr>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/cfree.3:36
+#: build/C/man3/cfree.3:37
 #, no-wrap
 msgid ""
 "/* In glibc or FreeBSD libcompat */\n"
@@ -1122,7 +1308,7 @@ msgstr ""
 "B<void cfree(void *>I<ptr>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/cfree.3:39
+#: build/C/man3/cfree.3:40
 #, no-wrap
 msgid ""
 "/* In SCO OpenServer */\n"
@@ -1132,7 +1318,7 @@ msgstr ""
 "B<void cfree(char *>I<ptr>B<, unsigned >I<num>B<, unsigned >I<size>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/cfree.3:42
+#: build/C/man3/cfree.3:43
 #, no-wrap
 msgid ""
 "/* In Solaris watchmalloc.so.1 */\n"
@@ -1142,23 +1328,23 @@ msgstr ""
 "B<void cfree(void *>I<ptr>B<, size_t >I<nelem>B<, size_t >I<elsize>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/cfree.3:51
+#: build/C/man3/cfree.3:52
 msgid "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
 msgstr "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/cfree.3:56
+#: build/C/man3/cfree.3:57
 msgid "This function should never be used.  Use B<free>(3)  instead."
 msgstr "この関数は決して使用すべきではない。 代わりに B<free>(3)  を使うこと。"
 
 #. type: SS
-#: build/C/man3/cfree.3:56
+#: build/C/man3/cfree.3:57
 #, no-wrap
 msgid "1-arg cfree"
 msgstr "引き数が 1 つの cfree"
 
 #. type: Plain text
-#: build/C/man3/cfree.3:62
+#: build/C/man3/cfree.3:63
 msgid ""
 "In glibc, the function B<cfree>()  is a synonym for B<free>(3), \"added for "
 "compatibility with SunOS\"."
@@ -1167,7 +1353,7 @@ msgstr ""
 "のために追加された」。"
 
 #. type: Plain text
-#: build/C/man3/cfree.3:68
+#: build/C/man3/cfree.3:69
 msgid ""
 "Other systems have other functions with this name.  The declaration is "
 "sometimes in I<E<lt>stdlib.hE<gt>> and sometimes in I<E<lt>malloc.hE<gt>>."
@@ -1176,13 +1362,13 @@ msgstr ""
 "hE<gt>> に存在する場合もあるし、 I<E<lt>malloc.hE<gt>> に存在する場合もある。"
 
 #. type: SS
-#: build/C/man3/cfree.3:68
+#: build/C/man3/cfree.3:69
 #, no-wrap
 msgid "3-arg cfree"
 msgstr "引き数が 3 つの cfree"
 
 #. type: Plain text
-#: build/C/man3/cfree.3:73
+#: build/C/man3/cfree.3:74
 msgid ""
 "Some SCO and Solaris versions have malloc libraries with a 3-argument "
 "B<cfree>(), apparently as an analog to B<calloc>(3)."
@@ -1192,33 +1378,33 @@ msgstr ""
 "る。"
 
 #. type: Plain text
-#: build/C/man3/cfree.3:75
+#: build/C/man3/cfree.3:76
 msgid "If you need it while porting something, add"
 msgstr "何かを移植する時にこの関数が必要な場合、"
 
 #. type: Plain text
-#: build/C/man3/cfree.3:78
+#: build/C/man3/cfree.3:79
 msgid "#define cfree(p, n, s) free((p))"
 msgstr "#define cfree(p, n, s) free((p))"
 
 #. type: Plain text
-#: build/C/man3/cfree.3:81
+#: build/C/man3/cfree.3:82
 msgid "to your file."
 msgstr "をファイルに追加すること。"
 
 #. type: Plain text
-#: build/C/man3/cfree.3:90
+#: build/C/man3/cfree.3:91
 msgid ""
 "A frequently asked question is \"Can I use B<free>(3)  to free memory "
-"allocated with B<calloc>(3), or do I need B<cfree>()?\" Answer: use B<free>"
-"(3)."
+"allocated with B<calloc>(3), or do I need B<cfree>()?\" Answer: use "
+"B<free>(3)."
 msgstr ""
 "よく尋ねられる質問は 「B<calloc>(3)  で割り当てられたメモリを解放するのに "
 "B<free>(3)  を使うことができるか、 それとも B<cfree>()  を使う必要があるか」"
 "というものである。 答え: B<free>(3)  を使うこと。"
 
 #. type: Plain text
-#: build/C/man3/cfree.3:95
+#: build/C/man3/cfree.3:96
 msgid ""
 "An SCO manual writes: \"The cfree routine is provided for compliance to the "
 "iBCSe2 standard and simply calls free.  The num and size arguments to cfree "
@@ -1229,7 +1415,7 @@ msgstr ""
 "num と size 引き数は使用されない。」"
 
 #. type: Plain text
-#: build/C/man3/cfree.3:111
+#: build/C/man3/cfree.3:112
 msgid ""
 "The SunOS version of B<cfree>()  (which is a synonym for B<free>(3))  "
 "returns 1 on success and 0 on failure.  In case of error, I<errno> is set to "
@@ -1242,7 +1428,7 @@ msgstr ""
 "へのポインタでない。"
 
 #. type: Plain text
-#: build/C/man3/cfree.3:116
+#: build/C/man3/cfree.3:117
 msgid ""
 "The 3-argument version of B<cfree>()  as used by SCO conforms to the iBCSe2 "
 "standard: Intel386 Binary Compatibility Specification, Edition 2."
@@ -1252,40 +1438,40 @@ msgstr ""
 "2 版) に準拠する。"
 
 #. type: Plain text
-#: build/C/man3/cfree.3:117
+#: build/C/man3/cfree.3:119
 msgid "B<malloc>(3)"
 msgstr "B<malloc>(3)"
 
 #. type: TH
-#: build/C/man3/clearenv.3:24
+#: build/C/man3/clearenv.3:26
 #, no-wrap
 msgid "CLEARENV"
 msgstr "CLEARENV"
 
 #. type: TH
-#: build/C/man3/clearenv.3:24
+#: build/C/man3/clearenv.3:26
 #, no-wrap
 msgid "2010-10-04"
 msgstr "2010-10-04"
 
 #. type: Plain text
-#: build/C/man3/clearenv.3:27
+#: build/C/man3/clearenv.3:29
 msgid "clearenv - clear the environment"
 msgstr "clearenv - 環境 (environment) をクリアする"
 
 #. type: Plain text
-#: build/C/man3/clearenv.3:32
+#: build/C/man3/clearenv.3:34
 #, no-wrap
 msgid "B<int clearenv(void);>\n"
 msgstr "B<int clearenv(void);>\n"
 
 #. type: Plain text
-#: build/C/man3/clearenv.3:41
+#: build/C/man3/clearenv.3:43
 msgid "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
 msgstr "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/clearenv.3:48
+#: build/C/man3/clearenv.3:50
 msgid ""
 "The B<clearenv>()  function clears the environment of all name-value pairs "
 "and sets the value of the external variable I<environ> to NULL."
@@ -1296,7 +1482,7 @@ msgstr ""
 #.  Most versions of UNIX return -1 on error, or do not even have errors.
 #.  Glibc info and the Watcom C library document "a nonzero value".
 #. type: Plain text
-#: build/C/man3/clearenv.3:55
+#: build/C/man3/clearenv.3:57
 msgid ""
 "The B<clearenv>()  function returns zero on success, and a nonzero value on "
 "failure."
@@ -1305,34 +1491,35 @@ msgstr ""
 "す。"
 
 #. type: SH
-#: build/C/man3/clearenv.3:55 build/C/man3/getloadavg.3:61
-#: build/C/man3/mkdtemp.3:82 build/C/man3/mkstemp.3:169
+#: build/C/man3/clearenv.3:57 build/C/man3/getauxval.3:183
+#: build/C/man3/getenv.3:93 build/C/man3/getloadavg.3:63
+#: build/C/man3/mkdtemp.3:84 build/C/man3/mkstemp.3:188
 #, no-wrap
 msgid "VERSIONS"
 msgstr "バージョン"
 
 #. type: Plain text
-#: build/C/man3/clearenv.3:58
+#: build/C/man3/clearenv.3:60
 msgid "Not in libc4, libc5.  In glibc since glibc 2.0."
 msgstr "libc4, libc5 では使用できない。 glibc 2.0 以降の glibc で使用できる。"
 
 #. type: Plain text
-#: build/C/man3/clearenv.3:72
+#: build/C/man3/clearenv.3:74
 msgid ""
 "Various UNIX variants (DG/UX, HP-UX, QNX, ...).  POSIX.9 (bindings for "
 "FORTRAN77).  POSIX.1-1996 did not accept B<clearenv>()  and B<putenv>(3), "
 "but changed its mind and scheduled these functions for some later issue of "
-"this standard (cf. B.4.6.1).  However, POSIX.1-2001 only adds B<putenv>(3), "
+"this standard (cf. B.4.6.1).  However, POSIX.1-2001 adds only B<putenv>(3), "
 "and rejected B<clearenv>()."
 msgstr ""
 "(DG/UX, HP-UX, QNX, などの) 多くの UNIX 系 OS。 (FORTRAN77 へのバインディング"
 "である) POSIX.9。 POSIX.1-1996 では B<clearenv>()  と B<putenv>(3)  は採用さ"
 "れなかったが、 方針が変更され、この標準規格の以降の号 (B.4.6.1 を参照) では "
-"採用されることになった。 しかし POSIX.1-2001 では B<putenv>(3)  しか追加され"
-"ã\81\9a、 B<clearenv>()  の追加は否決された。"
+"採用されることになった。 しかし POSIX.1-2001 では B<putenv>(3) だけが追加さ"
+"ã\82\8c、 B<clearenv>()  の追加は否決された。"
 
 #. type: Plain text
-#: build/C/man3/clearenv.3:76
+#: build/C/man3/clearenv.3:78
 msgid ""
 "Used in security-conscious applications.  If it is unavailable the assignment"
 msgstr ""
@@ -1340,44 +1527,50 @@ msgstr ""
 "きない場合は、"
 
 #. type: Plain text
-#: build/C/man3/clearenv.3:79
+#: build/C/man3/clearenv.3:81
 #, no-wrap
 msgid "    environ = NULL;\n"
 msgstr "    environ = NULL;\n"
 
 #. type: Plain text
-#: build/C/man3/clearenv.3:82
+#: build/C/man3/clearenv.3:84
 msgid "will probably do."
 msgstr "というように変数 environ を設定すればよい。"
 
 #.  .LP
 #.  HP-UX has a ENOMEM error return.
 #. type: Plain text
-#: build/C/man3/clearenv.3:95
+#: build/C/man3/clearenv.3:97
 msgid ""
 "The DG/UX and Tru64 man pages write: If I<environ> has been modified by "
 "anything other than the B<putenv>(3), B<getenv>(3), or B<clearenv>()  "
 "functions, then B<clearenv>()  will return an error and the process "
 "environment will remain unchanged."
 msgstr ""
-"DG/UX と Tru64 man ページには次のように記されている: I<environ> が B<putenv>"
-"(3), B<getenv>(3), B<clearenv>()  関数以外で変更された場合、 B<clearenv>()  "
-"はエラーを返し、プロセス環境は変更前のままにされる。"
+"DG/UX と Tru64 man ページには次のように記されている: I<environ> が "
+"B<putenv>(3), B<getenv>(3), B<clearenv>()  関数以外で変更された場合、 "
+"B<clearenv>()  はエラーを返し、プロセス環境は変更前のままにされる。"
 
 #. type: Plain text
-#: build/C/man3/clearenv.3:100
+#: build/C/man3/clearenv.3:103
 msgid "B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
 msgstr ""
 "B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
 
 #. type: TH
-#: build/C/man3/drand48.3:28
+#: build/C/man3/drand48.3:30
 #, no-wrap
 msgid "DRAND48"
 msgstr "DRAND48"
 
+#. type: TH
+#: build/C/man3/drand48.3:30 build/C/man3/mblen.3:16
+#, no-wrap
+msgid "2013-06-21"
+msgstr "2013-06-21"
+
 #. type: Plain text
-#: build/C/man3/drand48.3:32
+#: build/C/man3/drand48.3:34
 msgid ""
 "drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, "
 "lcong48 - generate uniformly distributed pseudo-random numbers"
@@ -1386,55 +1579,55 @@ msgstr ""
 "lcong48 - 一様分布する疑似乱数を生成する関数"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:37
+#: build/C/man3/drand48.3:39
 #, no-wrap
 msgid "B<double drand48(void);>\n"
 msgstr "B<double drand48(void);>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:39
+#: build/C/man3/drand48.3:41
 #, no-wrap
 msgid "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
 msgstr "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:41
+#: build/C/man3/drand48.3:43
 #, no-wrap
 msgid "B<long int lrand48(void);>\n"
 msgstr "B<long int lrand48(void);>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:43
+#: build/C/man3/drand48.3:45
 #, no-wrap
 msgid "B<long int nrand48(unsigned short >I<xsubi>B<[3]);>\n"
 msgstr "B<long int nrand48(unsigned short >I<xsubi>B<[3]);>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:45
+#: build/C/man3/drand48.3:47
 #, no-wrap
 msgid "B<long int mrand48(void);>\n"
 msgstr "B<long int mrand48(void);>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:47
+#: build/C/man3/drand48.3:49
 #, no-wrap
 msgid "B<long int jrand48(unsigned short >I<xsubi>B<[3]);>\n"
 msgstr "B<long int jrand48(unsigned short >I<xsubi>B<[3]);>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:49
+#: build/C/man3/drand48.3:51
 #, no-wrap
 msgid "B<void srand48(long int >I<seedval>B<);>\n"
 msgstr "B<void srand48(long int >I<seedval>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:51
+#: build/C/man3/drand48.3:53
 #, no-wrap
 msgid "B<unsigned short *seed48(unsigned short >I<seed16v>B<[3]);>\n"
 msgstr "B<unsigned short *seed48(unsigned short >I<seed16v>B<[3]);>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:53
+#: build/C/man3/drand48.3:55
 #, no-wrap
 msgid "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
 msgstr "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
@@ -1449,12 +1642,12 @@ msgstr "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
 #.  .BR seed48 (),
 #.  .BR lcong48 ():
 #. type: Plain text
-#: build/C/man3/drand48.3:72
+#: build/C/man3/drand48.3:74
 msgid "All functions shown above: _SVID_SOURCE || _XOPEN_SOURCE"
 msgstr "上記の全ての関数: _SVID_SOURCE || _XOPEN_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:76
+#: build/C/man3/drand48.3:78
 msgid ""
 "These functions generate pseudo-random numbers using the linear congruential "
 "algorithm and 48-bit integer arithmetic."
@@ -1463,7 +1656,7 @@ msgstr ""
 "する。"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:84
+#: build/C/man3/drand48.3:86
 msgid ""
 "The B<drand48>()  and B<erand48>()  functions return nonnegative double-"
 "precision floating-point values uniformly distributed between [0.0, 1.0)."
@@ -1472,7 +1665,7 @@ msgstr ""
 "倍精度浮動小数点実数値を返す。"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:91
+#: build/C/man3/drand48.3:93
 msgid ""
 "The B<lrand48>()  and B<nrand48>()  functions return nonnegative long "
 "integers uniformly distributed between 0 and 2^31."
@@ -1481,7 +1674,7 @@ msgstr ""
 "ング整数を返す。"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:98
+#: build/C/man3/drand48.3:100
 msgid ""
 "The B<mrand48>()  and B<jrand48>()  functions return signed long integers "
 "uniformly distributed between -2^31 and 2^31."
@@ -1490,7 +1683,7 @@ msgstr ""
 "きロング整数を返す。"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:117
+#: build/C/man3/drand48.3:119
 msgid ""
 "The B<srand48>(), B<seed48>()  and B<lcong48>()  functions are "
 "initialization functions, one of which should be called before using "
@@ -1504,7 +1697,7 @@ msgstr ""
 "は初めに 初期化関数を呼ぶことを必要としない。"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:120
+#: build/C/man3/drand48.3:123
 msgid ""
 "All the functions work by generating a sequence of 48-bit integers, I<Xi>, "
 "according to the linear congruential formula:"
@@ -1513,13 +1706,13 @@ msgstr ""
 "ることで 機能している。生成方法は以下の線形合同の式による。"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:124
+#: build/C/man3/drand48.3:127
 #, no-wrap
 msgid "B<Xn+1 = (aXn + c) mod m, where n E<gt>= 0>\n"
 msgstr "B<Xn+1 = (aXn + c) mod m,>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:131
+#: build/C/man3/drand48.3:140
 msgid ""
 "The parameter I<m> = 2^48, hence 48-bit integer arithmetic is performed.  "
 "Unless B<lcong48>()  is called, I<a> and I<c> are given by:"
@@ -1529,7 +1722,7 @@ msgstr ""
 "の式で与えられる。"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:136
+#: build/C/man3/drand48.3:145
 #, no-wrap
 msgid ""
 "B<a = 0x5DEECE66D>\n"
@@ -1539,7 +1732,7 @@ msgstr ""
 "B<c = 0xB>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:152
+#: build/C/man3/drand48.3:165
 msgid ""
 "The value returned by any of the functions B<drand48>(), B<erand48>(), "
 "B<lrand48>(), B<nrand48>(), B<mrand48>()  or B<jrand48>()  is computed by "
@@ -1554,7 +1747,7 @@ msgstr ""
 "が I<Xi> の上位ビットからコピーされる。 最後に、この値を返り値に変換する。"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:171
+#: build/C/man3/drand48.3:191
 msgid ""
 "The functions B<drand48>(), B<lrand48>()  and B<mrand48>()  store the last "
 "48-bit I<Xi> generated in an internal buffer.  The functions B<erand48>(), "
@@ -1570,7 +1763,7 @@ msgstr ""
 "てそれらの関数を呼ぶ前に I<Xi> の初期値を配列に 代入することで初期化される。"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:178
+#: build/C/man3/drand48.3:200
 msgid ""
 "The initializer function B<srand48>()  sets the high order 32-bits of I<Xi> "
 "to the argument I<seedval>.  The low order 16-bits are set to the arbitrary "
@@ -1580,7 +1773,7 @@ msgstr ""
 "る。 下位の16ビットは、適当に決められた値である0x330Eに設定される。"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:187
+#: build/C/man3/drand48.3:214
 msgid ""
 "The initializer function B<seed48>()  sets the value of I<Xi> to the 48-bit "
 "value specified in the array argument I<seed16v>.  The previous value of "
@@ -1592,13 +1785,14 @@ msgstr ""
 "ファにコピーされ、このバッファへのポインタが B<seed48>()  によって返される。"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:202
+#: build/C/man3/drand48.3:245
 msgid ""
 "The initialization function B<lcong48>()  allows the user to specify initial "
 "values for I<Xi>, I<a> and I<c>.  Array argument elements I<param[0-2]> "
 "specify I<Xi>, I<param[3-5]> specify I<a>, and I<param[6]> specifies I<c>.  "
-"After B<lcong48>()  has been called, a subsequent call to either B<srand48>"
-"()  or B<seed48>()  will restore the standard values of I<a> and I<c>."
+"After B<lcong48>()  has been called, a subsequent call to either "
+"B<srand48>()  or B<seed48>()  will restore the standard values of I<a> and "
+"I<c>."
 msgstr ""
 "初期化関数 B<lcong48>()  は使用者が I<Xi>, I<a>, I<c> の 初期値を指定するため"
 "の関数である。 配列の形をした引数の要素はそれぞれ、I<param[0-2]> は I<Xi> "
@@ -1607,32 +1801,51 @@ msgstr ""
 "の I<a> と I<c> の 標準値が再び設定される。"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:204
+#: build/C/man3/drand48.3:260
+msgid ""
+"The B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
+"B<jrand48>(), B<srand48>(), B<seed48>(), and B<lcong48>()  functions record "
+"global state information for the random number generator, so they are not "
+"thread-safe."
+msgstr ""
+"関数 B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
+"B<jrand48>(), B<srand48>(), B<seed48>(), B<lcong48>() は、 乱数生成に使用する"
+"状態情報をグローバルに保持する。 そのため、 これらの関数はスレッドセーフでは"
+"ない。"
+
+#. type: Plain text
+#: build/C/man3/drand48.3:262
 msgid "SVr4, POSIX.1-2001."
 msgstr "SVr4, POSIX.1-2001."
 
 #. type: Plain text
-#: build/C/man3/drand48.3:208
+#: build/C/man3/drand48.3:266
 msgid ""
-"These functions are declared obsolete by SVID 3, which states that B<rand>"
-"(3)  should be used instead."
+"These functions are declared obsolete by SVID 3, which states that "
+"B<rand>(3)  should be used instead."
 msgstr ""
 "SVID 3 ではこれらの関数は時代遅れと宣言されている。 SVID 3 では B<rand>(3)  "
 "が代わりに使用されるべきだと記述されている。"
 
 #. type: Plain text
-#: build/C/man3/drand48.3:210
+#: build/C/man3/drand48.3:269
 msgid "B<rand>(3), B<random>(3)"
 msgstr "B<rand>(3), B<random>(3)"
 
 #. type: TH
-#: build/C/man3/drand48_r.3:25
+#: build/C/man3/drand48_r.3:27
 #, no-wrap
 msgid "DRAND48_R"
 msgstr "DRAND48_R"
 
+#. type: TH
+#: build/C/man3/drand48_r.3:27
+#, no-wrap
+msgid "2013-09-09"
+msgstr "2013-09-09"
+
 #. type: Plain text
-#: build/C/man3/drand48_r.3:30
+#: build/C/man3/drand48_r.3:32
 msgid ""
 "drand48_r, erand48_r, lrand48_r, nrand48_r, mrand48_r, jrand48_r, srand48_r, "
 "seed48_r, lcong48_r - generate uniformly distributed pseudo-random numbers "
@@ -1643,79 +1856,79 @@ msgstr ""
 "する"
 
 #. type: Plain text
-#: build/C/man3/drand48_r.3:35
+#: build/C/man3/drand48_r.3:37
 #, no-wrap
 msgid "B<int drand48_r(struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
 msgstr "B<int drand48_r(struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48_r.3:37
+#: build/C/man3/drand48_r.3:39
 #, no-wrap
 msgid "B<int erand48_r(unsigned short >I<xsubi>B<[3]>I<,>\n"
 msgstr "B<int erand48_r(unsigned short >I<xsubi>B<[3]>I<,>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48_r.3:39
+#: build/C/man3/drand48_r.3:41
 #, no-wrap
 msgid "B<              struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
 msgstr "B<              struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48_r.3:41
+#: build/C/man3/drand48_r.3:43
 #, no-wrap
 msgid "B<int lrand48_r(struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
 msgstr "B<int lrand48_r(struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48_r.3:43
+#: build/C/man3/drand48_r.3:45
 #, no-wrap
 msgid "B<int nrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
 msgstr "B<int nrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48_r.3:45 build/C/man3/drand48_r.3:51
+#: build/C/man3/drand48_r.3:47 build/C/man3/drand48_r.3:53
 #, no-wrap
 msgid "B<              struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
 msgstr "B<              struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48_r.3:47
+#: build/C/man3/drand48_r.3:49
 #, no-wrap
 msgid "B<int mrand48_r(struct drand48_data *>I<buffer>B<,long int *>I<result>B<);>\n"
 msgstr "B<int mrand48_r(struct drand48_data *>I<buffer>B<,long int *>I<result>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48_r.3:49
+#: build/C/man3/drand48_r.3:51
 #, no-wrap
 msgid "B<int jrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
 msgstr "B<int jrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48_r.3:53
+#: build/C/man3/drand48_r.3:55
 #, no-wrap
 msgid "B<int srand48_r(long int >I<seedval>B<, struct drand48_data *>I<buffer>B<);>\n"
 msgstr "B<int srand48_r(long int >I<seedval>B<, struct drand48_data *>I<buffer>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48_r.3:55
+#: build/C/man3/drand48_r.3:57
 #, no-wrap
 msgid "B<int seed48_r(unsigned short int >I<seed16v[3]>B<,>\n"
 msgstr "B<int seed48_r(unsigned short int >I<seed16v[3]>B<,>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48_r.3:57
+#: build/C/man3/drand48_r.3:59
 #, no-wrap
 msgid "B<             struct drand48_data *>I<buffer>B<);>\n"
 msgstr "B<             struct drand48_data *>I<buffer>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48_r.3:59
+#: build/C/man3/drand48_r.3:61
 #, no-wrap
 msgid "B<int lcong48_r(unsigned short int >I<param[7]>B<,>\n"
 msgstr "B<int lcong48_r(unsigned short int >I<param[7]>B<,>\n"
 
 #. type: Plain text
-#: build/C/man3/drand48_r.3:61
+#: build/C/man3/drand48_r.3:63
 #, no-wrap
 msgid "B<              struct drand48_data *>I<buffer>B<);>\n"
 msgstr "B<              struct drand48_data *>I<buffer>B<);>\n"
@@ -1730,12 +1943,12 @@ msgstr "B<              struct drand48_data *>I<buffer>B<);>\n"
 #.  .BR seed48_r (),
 #.  .BR lcong48_r ():
 #. type: Plain text
-#: build/C/man3/drand48_r.3:80
+#: build/C/man3/drand48_r.3:82
 msgid "All functions shown above: _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
 msgstr "上記の全ての関数: _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/drand48_r.3:87
+#: build/C/man3/drand48_r.3:89
 msgid ""
 "These functions are the reentrant analogs of the functions described in "
 "B<drand48>(3).  Instead of modifying the global random generator state, they "
@@ -1746,7 +1959,7 @@ msgstr ""
 "れたデータ I<buffer> を使う。"
 
 #. type: Plain text
-#: build/C/man3/drand48_r.3:94
+#: build/C/man3/drand48_r.3:96
 msgid ""
 "Before the first use, this struct must be initialized, for example, by "
 "filling it with zeros, or by calling one of the functions B<srand48_r>(), "
@@ -1757,33 +1970,50 @@ msgstr ""
 "かを呼び出すことによって行われる。"
 
 #. type: Plain text
-#: build/C/man3/drand48_r.3:96
+#: build/C/man3/drand48_r.3:98
 msgid "The return value is 0."
 msgstr "返り値は 0 である。"
 
 #. type: Plain text
-#: build/C/man3/drand48_r.3:98
+#: build/C/man3/drand48_r.3:112
+msgid ""
+"The B<drand48_r>(), B<erand48_r>(), B<lrand48_r>(), B<nrand48_r>(), "
+"B<mrand48_r>(), B<jrand48_r>(), B<srand48_r>(), B<seed48_r>(), and "
+"B<lcong48_r>()  functions are thread-safe."
+msgstr ""
+"関数 B<drand48_r>(), B<erand48_r>(), B<lrand48_r>(), B<nrand48_r>(), "
+"B<mrand48_r>(), B<jrand48_r>(), B<srand48_r>(), B<seed48_r>(), "
+"B<lcong48_r>() はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/drand48_r.3:114
 msgid "These functions are GNU extensions and are not portable."
 msgstr "これらの関数は GNU による拡張であり、移植性はない。"
 
 #. type: Plain text
-#: build/C/man3/drand48_r.3:101 build/C/man3/random_r.3:130
+#: build/C/man3/drand48_r.3:118 build/C/man3/random_r.3:145
 msgid "B<drand48>(3), B<rand>(3), B<random>(3)"
 msgstr "B<drand48>(3), B<rand>(3), B<random>(3)"
 
 #. type: TH
-#: build/C/man3/ecvt.3:30
+#: build/C/man3/ecvt.3:32
 #, no-wrap
 msgid "ECVT"
 msgstr "ECVT"
 
+#. type: TH
+#: build/C/man3/ecvt.3:32
+#, no-wrap
+msgid "2013-07-04"
+msgstr "2013-07-04"
+
 #. type: Plain text
-#: build/C/man3/ecvt.3:33
+#: build/C/man3/ecvt.3:35
 msgid "ecvt, fcvt - convert a floating-point number to a string"
 msgstr "ecvt, fcvt - 浮動小数点数の文字列への変換"
 
 #. type: Plain text
-#: build/C/man3/ecvt.3:38
+#: build/C/man3/ecvt.3:40
 msgid ""
 "B<char *ecvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
 "B<int *>I<sign>B<);>"
@@ -1792,7 +2022,7 @@ msgstr ""
 "B<int *>I<sign>B<);>"
 
 #. type: Plain text
-#: build/C/man3/ecvt.3:41
+#: build/C/man3/ecvt.3:43
 msgid ""
 "B<char *fcvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
 "B<int *>I<sign>B<);>"
@@ -1801,18 +2031,18 @@ msgstr ""
 "B<int *>I<sign>B<);>"
 
 #. type: Plain text
-#: build/C/man3/ecvt.3:49
+#: build/C/man3/ecvt.3:51
 msgid "B<ecvt>(), B<fcvt>():"
 msgstr "B<ecvt>(), B<fcvt>():"
 
 #. type: TP
-#: build/C/man3/ecvt.3:52 build/C/man3/gcvt.3:47 build/C/man3/mktemp.3:51
+#: build/C/man3/ecvt.3:54 build/C/man3/gcvt.3:49 build/C/man3/mktemp.3:53
 #, no-wrap
 msgid "Since glibc 2.12:"
 msgstr "glibc 2.12 以降:"
 
 #. type: Plain text
-#: build/C/man3/ecvt.3:59 build/C/man3/gcvt.3:54
+#: build/C/man3/ecvt.3:61 build/C/man3/gcvt.3:56
 #, no-wrap
 msgid ""
 "_SVID_SOURCE ||\n"
@@ -1826,13 +2056,13 @@ msgstr ""
 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
 
 #. type: TP
-#: build/C/man3/ecvt.3:60 build/C/man3/gcvt.3:55 build/C/man3/mktemp.3:57
+#: build/C/man3/ecvt.3:62 build/C/man3/gcvt.3:57 build/C/man3/mktemp.3:59
 #, no-wrap
 msgid "Before glibc 2.12:"
 msgstr "glibc 2.12 より前:"
 
 #. type: Plain text
-#: build/C/man3/ecvt.3:90
+#: build/C/man3/ecvt.3:92
 msgid ""
 "The B<ecvt>()  function converts I<number> to a null-terminated string of "
 "I<ndigits> digits (where I<ndigits> is reduced to a system-specific limit "
@@ -1846,18 +2076,18 @@ msgid ""
 "set to 0.  If I<number> is zero, it is unspecified whether I<*decpt> is 0 or "
 "1."
 msgstr ""
-"関数 B<ecvt>()  は I<number> を NUL 文字で終端された I<ndigits> 文字の文字列"
-"へ変換し、その文字列へのポインタを返す (I<ndigits> が I<double> の精度によっ"
-"て決定されるシステム依存の上限値より大きい場合は、 その条件値が I<ndigits> の"
-"値となる)。 I<number> が 0 でなければ、最上位の桁は 0 以外である。 最下位の桁"
-"は丸められる。 文字列には小数点は含まれない。そのかわりに、文字列の先頭からの"
-"小数点の 位置が I<*decpt> に保持される。 I<*decpt> が負の値の場合、小数点が文"
-"å­\97å\88\97ã\81®å\85\88é ­ã\81®å·¦å\81´ã\81«ã\81\82ã\82\8bã\81\93ã\81¨ã\82\92æ\84\8få\91³ã\81\99ã\82\8bã\80\82 ã\82\82ã\81\97(I<number>ã\81®)符å\8f·ã\81\8cè² ã\81ªã\82\89ã\81° "
+"関数 B<ecvt>()  は I<number> をヌル文字で終端された I<ndigits> 文字の文字列へ"
+"変換し、その文字列へのポインタを返す (I<ndigits> が I<double> の精度によって"
+"決定されるシステム依存の上限値より大きい場合は、 その条件値が I<ndigits> の値"
+"となる)。 I<number> が 0 でなければ、最上位の桁は 0 以外である。 最下位の桁は"
+"丸められる。 文字列には小数点は含まれない。そのかわりに、文字列の先頭からの小"
+"数点の 位置が I<*decpt> に保持される。 I<*decpt> が負の値の場合、小数点が文字"
+"列の先頭の左側にあることを意味する。 もし(I<number>の)符号が負ならば "
 "I<*sign> は 0 以外の値に、 そうでなければ 0 に設定される。 I<number> が 0 な"
 "ら、I<*decpt> が 0 か 1 かは未規定である。"
 
 #. type: Plain text
-#: build/C/man3/ecvt.3:97
+#: build/C/man3/ecvt.3:99
 msgid ""
 "The B<fcvt>()  function is identical to B<ecvt>(), except that I<ndigits> "
 "specifies the number of digits after the decimal point."
@@ -1866,7 +2096,7 @@ msgstr ""
 "字数を指定する。"
 
 #. type: Plain text
-#: build/C/man3/ecvt.3:108
+#: build/C/man3/ecvt.3:110
 msgid ""
 "Both the B<ecvt>()  and B<fcvt>()  functions return a pointer to a static "
 "string containing the ASCII representation of I<number>.  The static string "
@@ -1877,7 +2107,12 @@ msgstr ""
 "たびに上書きされる。"
 
 #. type: Plain text
-#: build/C/man3/ecvt.3:120
+#: build/C/man3/ecvt.3:117
+msgid "The B<ecvt>()  and B<fcvt>()  functions are not thread-safe."
+msgstr "関数 B<ecvt>() と B<fcvt>() はスレッドセーフではない。"
+
+#. type: Plain text
+#: build/C/man3/ecvt.3:129
 msgid ""
 "SVr2; marked as LEGACY in POSIX.1-2001.  POSIX.1-2008 removes the "
 "specifications of B<ecvt>()  and B<fcvt>(), recommending the use of "
@@ -1889,7 +2124,7 @@ msgstr ""
 "れない)。"
 
 #. type: Plain text
-#: build/C/man3/ecvt.3:126
+#: build/C/man3/ecvt.3:135
 msgid ""
 "Linux libc4 and libc5 specified the type of I<ndigits> as I<size_t>.  Not "
 "all locales use a point as the radix character (\"decimal point\")."
@@ -1898,25 +2133,25 @@ msgstr ""
 "ピリオドを使わないロケールもある。"
 
 #. type: Plain text
-#: build/C/man3/ecvt.3:131
+#: build/C/man3/ecvt.3:141
 msgid "B<ecvt_r>(3), B<gcvt>(3), B<qecvt>(3), B<setlocale>(3), B<sprintf>(3)"
 msgstr "B<ecvt_r>(3), B<gcvt>(3), B<qecvt>(3), B<setlocale>(3), B<sprintf>(3)"
 
 #. type: TH
-#: build/C/man3/ecvt_r.3:28
+#: build/C/man3/ecvt_r.3:30
 #, no-wrap
 msgid "ECVT_R"
 msgstr "ECVT_R"
 
 #. type: Plain text
-#: build/C/man3/ecvt_r.3:31
+#: build/C/man3/ecvt_r.3:33
 msgid ""
 "ecvt_r, fcvt_r, qecvt_r, qfcvt_r - convert a floating-point number to a "
 "string"
 msgstr "ecvt_r, fcvt_r, qecvt_r, qfcvt_r - 浮動小数点数の文字列への変換"
 
 #. type: Plain text
-#: build/C/man3/ecvt_r.3:37
+#: build/C/man3/ecvt_r.3:39
 #, no-wrap
 msgid ""
 "B<int ecvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
@@ -1926,7 +2161,7 @@ msgstr ""
 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/ecvt_r.3:40
+#: build/C/man3/ecvt_r.3:42
 #, no-wrap
 msgid ""
 "B<int fcvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
@@ -1936,7 +2171,7 @@ msgstr ""
 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/ecvt_r.3:43
+#: build/C/man3/ecvt_r.3:45
 #, no-wrap
 msgid ""
 "B<int qecvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
@@ -1946,7 +2181,7 @@ msgstr ""
 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/ecvt_r.3:46
+#: build/C/man3/ecvt_r.3:48
 #, no-wrap
 msgid ""
 "B<int qfcvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
@@ -1956,17 +2191,17 @@ msgstr ""
 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/ecvt_r.3:58
+#: build/C/man3/ecvt_r.3:60
 msgid "B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>():"
 msgstr "B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>():"
 
 #. type: Plain text
-#: build/C/man3/ecvt_r.3:60
+#: build/C/man3/ecvt_r.3:62
 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
 
 #. type: Plain text
-#: build/C/man3/ecvt_r.3:84
+#: build/C/man3/ecvt_r.3:86
 msgid ""
 "The functions B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>()  and B<qfcvt_r>()  are "
 "identical to B<ecvt>(3), B<fcvt>(3), B<qecvt>(3)  and B<qfcvt>(3), "
@@ -1980,50 +2215,50 @@ msgstr ""
 "B<ecvt>(3), B<qecvt>(3)  を参照のこと。"
 
 #. type: Plain text
-#: build/C/man3/ecvt_r.3:86
+#: build/C/man3/ecvt_r.3:88
 msgid "These functions return 0 on success, and -1 otherwise."
 msgstr "これらの関数は成功すると 0 を、それ以外は -1 を返す。"
 
 #. type: Plain text
-#: build/C/man3/ecvt_r.3:88
+#: build/C/man3/ecvt_r.3:90
 msgid "These functions are GNU extensions."
 msgstr "これらの関数は GNU による拡張である。"
 
 #. type: Plain text
-#: build/C/man3/ecvt_r.3:93 build/C/man3/qecvt.3:81
+#: build/C/man3/ecvt_r.3:95
 msgid "These functions are obsolete.  Instead, B<sprintf>(3)  is recommended."
 msgstr "これらの関数は廃止された。代わりに B<sprintf>(3)  の使用を推奨する。"
 
 #. type: Plain text
-#: build/C/man3/ecvt_r.3:96
+#: build/C/man3/ecvt_r.3:99
 msgid "B<ecvt>(3), B<qecvt>(3), B<sprintf>(3)"
 msgstr "B<ecvt>(3), B<qecvt>(3), B<sprintf>(3)"
 
 #. type: TH
-#: build/C/man3/exit.3:23
+#: build/C/man3/exit.3:29
 #, no-wrap
 msgid "EXIT"
 msgstr "EXIT"
 
 #. type: TH
-#: build/C/man3/exit.3:23 build/C/man3/setenv.3:35
+#: build/C/man3/exit.3:29 build/C/man3/random.3:33 build/C/man3/random_r.3:26
 #, no-wrap
-msgid "2009-09-20"
-msgstr "2009-09-20"
+msgid "2014-03-25"
+msgstr "2014-03-25"
 
 #. type: Plain text
-#: build/C/man3/exit.3:26
+#: build/C/man3/exit.3:32
 msgid "exit - cause normal process termination"
 msgstr "exit - プロセスの正常終了"
 
 #. type: Plain text
-#: build/C/man3/exit.3:31
+#: build/C/man3/exit.3:37
 #, no-wrap
 msgid "B<void exit(int >I<status>B<);>\n"
 msgstr "B<void exit(int >I<status>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/exit.3:39
+#: build/C/man3/exit.3:45
 msgid ""
 "The B<exit>()  function causes normal process termination and the value of "
 "I<status & 0377> is returned to the parent (see B<wait>(2))."
@@ -2032,7 +2267,7 @@ msgstr ""
 "ロセスへ返す (B<wait>(2)  を参照)。"
 
 #. type: Plain text
-#: build/C/man3/exit.3:66
+#: build/C/man3/exit.3:72
 msgid ""
 "All functions registered with B<atexit>(3)  and B<on_exit>(3)  are called, "
 "in the reverse order of their registration.  (It is possible for one of "
@@ -2057,7 +2292,7 @@ msgstr ""
 "登録されていた場合、 その関数は登録されたのと同じ回数だけ呼び出される。"
 
 #. type: Plain text
-#: build/C/man3/exit.3:73
+#: build/C/man3/exit.3:79
 msgid ""
 "All open B<stdio>(3)  streams are flushed and closed.  Files created by "
 "B<tmpfile>(3)  are removed."
@@ -2066,7 +2301,7 @@ msgstr ""
 "B<tmpfile>(3)  によって作成されたファイルは削除される。"
 
 #. type: Plain text
-#: build/C/man3/exit.3:80
+#: build/C/man3/exit.3:86
 msgid ""
 "The C standard specifies two constants, B<EXIT_SUCCESS> and B<EXIT_FAILURE>, "
 "that may be passed to B<exit>()  to indicate successful or unsuccessful "
@@ -2077,26 +2312,39 @@ msgstr ""
 "る。"
 
 #. type: Plain text
-#: build/C/man3/exit.3:84
+#: build/C/man3/exit.3:90
 msgid "The B<exit>()  function does not return."
 msgstr "B<exit>()  関数は返らない。"
 
 #. type: Plain text
-#: build/C/man3/exit.3:86
+#: build/C/man3/exit.3:96
+msgid ""
+"The B<exit>()  function uses a global variable that is not protected, so it "
+"is not thread-safe."
+msgstr ""
+"B<exit>() 関数は保護されていないグローバル変数を使用しているため、スレッド"
+"セーフではない。"
+
+#. type: Plain text
+#: build/C/man3/exit.3:98
 msgid "SVr4, 4.3BSD, POSIX.1-2001, C89, C99."
 msgstr "SVr4, 4.3BSD, POSIX.1-2001, C89, C99."
 
 #. type: Plain text
-#: build/C/man3/exit.3:97
+#: build/C/man3/exit.3:115
 msgid ""
 "It is undefined what happens if one of the functions registered using "
-"B<atexit>(3)  and B<on_exit>(3)  calls either B<exit>()  or B<longjmp>(3)."
+"B<atexit>(3)  and B<on_exit>(3)  calls either B<exit>()  or B<longjmp>(3).  "
+"Note that a call to B<execve>(2)  removes registrations created using "
+"B<atexit>(3)  and B<on_exit>(3)."
 msgstr ""
-"B<atexit>(3)  や B<on_exit>(3)  を使って登録された関数の中で B<exit>()  か "
-"B<longjmp>(3)  が呼び出された場合、 何が起こるかは未定義である。"
+"B<atexit>(3)  や B<on_exit>(3)  を使って登録された関数の中で B<exit>() か "
+"B<longjmp>(3)  が呼び出された場合、 何が起こるかは未定義である。 "
+"B<execve>(2) を呼び出すと、 B<atexit>(3) や B<on_exit>(3) を使って登録された"
+"関数が削除される点に注意すること。"
 
 #. type: Plain text
-#: build/C/man3/exit.3:106
+#: build/C/man3/exit.3:124
 msgid ""
 "The use of B<EXIT_SUCCESS> and B<EXIT_FAILURE> is slightly more portable (to "
 "non-UNIX environments) than the use of 0 and some nonzero value like 1 or "
@@ -2107,7 +2355,7 @@ msgstr ""
 "VMS は別の方式を用いている。"
 
 #. type: Plain text
-#: build/C/man3/exit.3:109
+#: build/C/man3/exit.3:127
 msgid ""
 "BSD has attempted to standardize exit codes; see the file I<E<lt>sysexits."
 "hE<gt>>."
@@ -2116,12 +2364,12 @@ msgstr ""
 "こと。"
 
 #. type: Plain text
-#: build/C/man3/exit.3:134
+#: build/C/man3/exit.3:152
 msgid ""
 "After B<exit>(), the exit status must be transmitted to the parent process.  "
 "There are three cases.  If the parent has set B<SA_NOCLDWAIT>, or has set "
 "the B<SIGCHLD> handler to B<SIG_IGN>, the status is discarded.  If the "
-"parent was waiting on the child it is notified of the exit status.  In both "
+"parent was waiting on the child, it is notified of the exit status.  In both "
 "cases the exiting process dies immediately.  If the parent has not indicated "
 "that it is not interested in the exit status, but is not waiting, the "
 "exiting process turns into a \"zombie\" process (which is nothing but a "
@@ -2140,7 +2388,7 @@ msgstr ""
 "ことで、 親プロセスは終了ステータスを知ることができる。"
 
 #. type: Plain text
-#: build/C/man3/exit.3:144
+#: build/C/man3/exit.3:162
 msgid ""
 "If the implementation supports the B<SIGCHLD> signal, this signal is sent to "
 "the parent.  If the parent has set B<SA_NOCLDWAIT>, it is undefined whether "
@@ -2151,7 +2399,7 @@ msgstr ""
 "ルが送られるかどうかは定義されていない。"
 
 #. type: Plain text
-#: build/C/man3/exit.3:153
+#: build/C/man3/exit.3:171
 msgid ""
 "If the process is a session leader and its controlling terminal is the "
 "controlling terminal of the session, then each process in the foreground "
@@ -2165,7 +2413,7 @@ msgstr ""
 "これにより新しい制御プロセスを取得することができる。"
 
 #. type: Plain text
-#: build/C/man3/exit.3:165
+#: build/C/man3/exit.3:183
 msgid ""
 "If the exit of the process causes a process group to become orphaned, and if "
 "any member of the newly orphaned process group is stopped, then a B<SIGHUP> "
@@ -2179,7 +2427,7 @@ msgstr ""
 "(orphaned) プロセスグループの説明は B<setpgid>(2)  を参照。"
 
 #. type: Plain text
-#: build/C/man3/exit.3:171
+#: build/C/man3/exit.3:190
 msgid ""
 "B<_exit>(2), B<setpgid>(2), B<wait>(2), B<atexit>(3), B<on_exit>(3), "
 "B<tmpfile>(3)"
@@ -2188,29 +2436,29 @@ msgstr ""
 "B<tmpfile>(3)"
 
 #. type: TH
-#: build/C/man3/gcvt.3:28
+#: build/C/man3/gcvt.3:30
 #, no-wrap
 msgid "GCVT"
 msgstr "GCVT"
 
 #. type: Plain text
-#: build/C/man3/gcvt.3:31
+#: build/C/man3/gcvt.3:33
 msgid "gcvt - convert a floating-point number to a string"
 msgstr "gcvt - 浮動小数点数を文字列へ変換する"
 
 #. type: Plain text
-#: build/C/man3/gcvt.3:36
+#: build/C/man3/gcvt.3:38
 #, no-wrap
-msgid "B<char *gcvt(double >I<number>B<, size_t >I<ndigit>B<, char *>I<buf>B<);>\n"
-msgstr "B<char *gcvt(double >I<number>B<, size_t >I<ndigit>B<, char *>I<buf>B<);>\n"
+msgid "B<char *gcvt(double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>\n"
+msgstr "B<char *gcvt(double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/gcvt.3:44
+#: build/C/man3/gcvt.3:46
 msgid "B<gcvt>():"
 msgstr "B<gcvt>():"
 
 #. type: Plain text
-#: build/C/man3/gcvt.3:59
+#: build/C/man3/gcvt.3:61
 msgid ""
 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE && "
 "_XOPEN_SOURCE_EXTENDED"
@@ -2219,3884 +2467,5839 @@ msgstr ""
 "_XOPEN_SOURCE_EXTENDED"
 
 #. type: Plain text
-#: build/C/man3/gcvt.3:70
+#: build/C/man3/gcvt.3:72
 msgid ""
 "The B<gcvt>()  function converts I<number> to a minimal length null-"
 "terminated ASCII string and stores the result in I<buf>.  It produces "
 "I<ndigit> significant digits in either B<printf>(3)  F format or E format."
 msgstr ""
-"関数 B<gcvt>()  は、 I<number> を、最短の長さの NULL 終端された ASCII 文字列"
-"へ変換し、変換後の文字列を I<buf> に格納する。 B<printf>(3)  の F フォーマッ"
-"ã\83\88ã\82\84 E ã\83\95ã\82©ã\83¼ã\83\9eã\83\83ã\83\88ã\81®ã\82\88ã\81\86ã\81« I<ndigit> æ¡\81ã\81® æ\9c\89å\8a¹æ\95°å­\97ã\82\92ç\94\9fæ\88\90ã\81\99ã\82\8bã\80\82"
+"関数 B<gcvt>()  は、 I<number> を、最短の長さのヌル終端された ASCII 文字列へ"
+"変換し、変換後の文字列を I<buf> に格納する。 B<printf>(3)  の F フォーマット"
+"や E フォーマットのように I<ndigit> 桁の 有効数字を生成する。"
 
 #. type: Plain text
-#: build/C/man3/gcvt.3:75
+#: build/C/man3/gcvt.3:77
 msgid ""
 "The B<gcvt>()  function returns the address of the string pointed to by "
 "I<buf>."
 msgstr "関数 B<gcvt>()  は文字列 I<buf> へのポインタを返す。"
 
 #. type: Plain text
-#: build/C/man3/gcvt.3:84
+#: build/C/man3/gcvt.3:86
 msgid ""
 "Marked as LEGACY in POSIX.1-2001.  POSIX.1-2008 removes the specification of "
-"B<gcvt>(), recommending the use of B<sprintf>(3)  instead (though B<snprintf>"
-"(3)  may be preferable)."
+"B<gcvt>(), recommending the use of B<sprintf>(3)  instead (though "
+"B<snprintf>(3)  may be preferable)."
 msgstr ""
 "POSIX.1-2001 では、 この関数は「過去の名残 (LEGACY)」と位置付けられている。 "
 "POSIX.1-2008 では、 B<gcvt>()  の仕様は削除され、 代わりに B<sprintf>(3)  を"
 "使用することが推奨されている (B<snprintf>(3)  の方が適切かもしれないが)。"
 
 #. type: Plain text
-#: build/C/man3/gcvt.3:87
+#: build/C/man3/gcvt.3:90
 msgid "B<ecvt>(3), B<fcvt>(3), B<sprintf>(3)"
 msgstr "B<ecvt>(3), B<fcvt>(3), B<sprintf>(3)"
 
 #. type: TH
-#: build/C/man3/getenv.3:31
+#: build/C/man3/getauxval.3:29
 #, no-wrap
-msgid "GETENV"
-msgstr "GETENV"
+msgid "GETAUXVAL"
+msgstr "GETAUXVAL"
 
-#. type: TH
-#: build/C/man3/getenv.3:31
-#, no-wrap
-msgid "2008-03-17"
-msgstr "2008-03-17"
+#. type: Plain text
+#: build/C/man3/getauxval.3:32
+msgid "getauxval - retrieve a value from the auxiliary vector"
+msgstr ""
 
 #. type: Plain text
-#: build/C/man3/getenv.3:34
-msgid "getenv - get an environment variable"
-msgstr "getenv - 環境変数を得る"
+#: build/C/man3/getauxval.3:35
+#, no-wrap
+msgid "B<#include E<lt>sys/auxv.hE<gt>>\n"
+msgstr "B<#include E<lt>sys/auxv.hE<gt>>\n"
 
 #. type: Plain text
-#: build/C/man3/getenv.3:39
+#: build/C/man3/getauxval.3:37
 #, no-wrap
-msgid "B<char *getenv(const char *>I<name>B<);>\n"
-msgstr "B<char *getenv(const char *>I<name>B<);>\n"
+msgid "B<unsigned long getauxval(unsigned long >I<type>B<);>\n"
+msgstr "B<unsigned long getauxval(unsigned long >I<type>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/getenv.3:49
+#: build/C/man3/getauxval.3:45
 msgid ""
-"The B<getenv>()  function searches the environment list to find the "
-"environment variable I<name>, and returns a pointer to the corresponding "
-"I<value> string."
+"The B<getauxval>()  function retrieves values from the auxiliary vector, a "
+"mechanism that the kernel's ELF binary loader uses to pass certain "
+"information to user space when a program is executed."
 msgstr ""
-"関数 B<getenv>()  は、環境リストから名前が I<name> の環境変数を検索し、対応す"
-"る I<value> 文字列へのポインタを返す。"
 
 #. type: Plain text
-#: build/C/man3/getenv.3:54
+#: build/C/man3/getauxval.3:53
 msgid ""
-"The B<getenv>()  function returns a pointer to the value in the environment, "
-"or NULL if there is no match."
+"Each entry in the auxiliary vector consists of a pair of values: a type that "
+"identifies what this entry represents, and a value for that type.  Given the "
+"argument I<type>, B<getauxval>()  returns the corresponding value."
 msgstr ""
-"関数 B<getenv>()  は、環境における値 value へのポインタを返す。 I<name> に"
-"マッチする環境変数が存在しないときには NULL を返す。"
 
 #. type: Plain text
-#: build/C/man3/getenv.3:58
-msgid "The strings in the environment list are of the form I<name=value>."
-msgstr "環境リストの文字列は I<name=value> という形式をしている。"
+#: build/C/man3/getauxval.3:60
+msgid ""
+"The value returned for each I<type> is given in the following list.  Not all "
+"I<type> values are present on all architectures."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/getauxval.3:60
+#, no-wrap
+msgid "B<AT_BASE>"
+msgstr "B<AT_BASE>"
 
 #. type: Plain text
-#: build/C/man3/getenv.3:64
+#: build/C/man3/getauxval.3:63
 msgid ""
-"As typically implemented, B<getenv>()  returns a pointer to a string within "
-"the environment list.  The caller must take care not to modify this string, "
-"since that would change the environment of the process."
+"The base address of the program interpreter (usually, the dynamic linker)."
 msgstr ""
-"通常の実装では、 B<getenv>()  は環境リスト内の文字列へのポインタを返す。 呼び"
-"出し元はこの文字列を変更しないように注意しなければならない。 この文字列を変更"
-"すると、そのプロセスの環境を変化させることになるからである。"
+
+#. type: TP
+#: build/C/man3/getauxval.3:63
+#, no-wrap
+msgid "B<AT_BASE_PLATFORM>"
+msgstr "B<AT_BASE_PLATFORM>"
 
 #. type: Plain text
-#: build/C/man3/getenv.3:77
+#: build/C/man3/getauxval.3:68
 msgid ""
-"The implementation of B<getenv>()  is not required to be reentrant.  The "
-"string pointed to by the return value of B<getenv>()  may be statically "
-"allocated, and can be modified by a subsequent call to B<getenv>(), B<putenv>"
-"(3), B<setenv>(3), or B<unsetenv>(3)."
+"A string identifying the real platform; may differ from B<AT_PLATFORM> "
+"(PowerPC only)."
 msgstr ""
-"B<getenv>()  の実装はリエントラント (再入可能) であることを要求されていな"
-"い。 B<getenv>()  の返り値により参照される文字列は静的に割り当てられてもよ"
-"く、 文字列の内容は後続の B<getenv>(), B<putenv>(3), B<setenv>(3), "
-"B<unsetenv>(3)  の呼び出しにより変更されることがある。"
+
+#. type: TP
+#: build/C/man3/getauxval.3:68
+#, no-wrap
+msgid "B<AT_CLKTCK>"
+msgstr "B<AT_CLKTCK>"
 
 #. type: Plain text
-#: build/C/man3/getenv.3:82
+#: build/C/man3/getauxval.3:75
 msgid ""
-"B<clearenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
+"The frequency with which B<times>(2)  counts.  This value can also be "
+"obtained via I<sysconf(_SC_CLK_TCK)>."
 msgstr ""
-"B<clearenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
 
-#. type: TH
-#: build/C/man3/getloadavg.3:32
+#. type: TP
+#: build/C/man3/getauxval.3:75
 #, no-wrap
-msgid "GETLOADAVG"
-msgstr "GETLOADAVG"
+msgid "B<AT_DCACHEBSIZE>"
+msgstr "B<AT_DCACHEBSIZE>"
 
-#. type: TH
-#: build/C/man3/getloadavg.3:32
+#. type: Plain text
+#: build/C/man3/getauxval.3:78
+msgid "The data cache block size."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/getauxval.3:78
 #, no-wrap
-msgid "2007-12-08"
-msgstr "2007-12-08"
+msgid "B<AT_EGID>"
+msgstr "B<AT_EGID>"
 
 #. type: Plain text
-#: build/C/man3/getloadavg.3:35
-msgid "getloadavg - get system load averages"
-msgstr "getloadavg - get system load averages"
+#: build/C/man3/getauxval.3:81
+msgid "The effective group ID of the thread."
+msgstr ""
 
-#. type: Plain text
-#: build/C/man3/getloadavg.3:39
+#. type: TP
+#: build/C/man3/getauxval.3:81
 #, no-wrap
-msgid ""
-"B<#define _BSD_SOURCE>         /* See feature_test_macros(7) */\n"
-"B<#include E<lt>stdlib.hE<gt>>\n"
-msgstr ""
-"B<#define _BSD_SOURCE>         /* feature_test_macros(7) 参照 */\n"
-"B<#include E<lt>stdlib.hE<gt>>\n"
+msgid "B<AT_ENTRY>"
+msgstr "B<AT_ENTRY>"
 
 #. type: Plain text
-#: build/C/man3/getloadavg.3:41
+#: build/C/man3/getauxval.3:84
+msgid "The entry address of the executable."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/getauxval.3:84
 #, no-wrap
-msgid "B<int getloadavg(double >I<loadavg[]>B<, int >I<nelem>B<);>\n"
-msgstr "B<int getloadavg(double >I<loadavg[]>B<, int >I<nelem>B<);>\n"
+msgid "B<AT_EUID>"
+msgstr "B<AT_EUID>"
 
 #. type: Plain text
-#: build/C/man3/getloadavg.3:53
-msgid ""
-"The B<getloadavg>()  function returns the number of processes in the system "
-"run queue averaged over various periods of time.  Up to I<nelem> samples are "
-"retrieved and assigned to successive elements of I<loadavg>[].  The system "
-"imposes a maximum of 3 samples, representing averages over the last 1, 5, "
-"and 15 minutes, respectively."
+#: build/C/man3/getauxval.3:87
+msgid "The effective user ID of the thread."
 msgstr ""
-"B<getloadavg>()  関数はシステムの実行キューに入っているプロセスの数を、 様々"
-"な期間について平均した値を返す。 I<nelem> 個までのサンプル値を取得し、 "
-"I<loadavg>[] の連続する要素に代入する。 システムが提供するサンプル数は 3 個ま"
-"でで、 それぞれ最近 1, 5, 15 分の平均を表している。"
 
-#.  .SH HISTORY
-#.  The
-#.  BR getloadavg ()
-#.  function appeared in
-#.  4.3BSD Reno .
+#. type: TP
+#: build/C/man3/getauxval.3:87
+#, no-wrap
+msgid "B<AT_EXECFD>"
+msgstr "B<AT_EXECFD>"
+
 #. type: Plain text
-#: build/C/man3/getloadavg.3:61
-msgid ""
-"If the load average was unobtainable, -1 is returned; otherwise, the number "
-"of samples actually retrieved is returned."
+#: build/C/man3/getauxval.3:90
+msgid "File descriptor of program."
 msgstr ""
-"負荷平均が取得できないと -1 を返す。 取得できた場合は、実際に取得したサンプル"
-"値の数を返す。"
 
-#. type: Plain text
-#: build/C/man3/getloadavg.3:63
-msgid "This function is available in glibc since version 2.2."
-msgstr "この関数は glibc のバージョン 2.2 以降で利用可能である。"
+#. type: TP
+#: build/C/man3/getauxval.3:90
+#, no-wrap
+msgid "B<AT_EXECFN>"
+msgstr "B<AT_EXECFN>"
 
-#.  mdoc seems to have a bug - there must be no newline here
 #. type: Plain text
-#: build/C/man3/getloadavg.3:67
-msgid "Not in POSIX.1-2001.  Present on the BSDs and Solaris."
-msgstr "POSIX.1-2001 にはない。 BSD 系と Solaris に存在する。"
+#: build/C/man3/getauxval.3:93
+msgid "Pathname used to execute program."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/getauxval.3:93
+#, no-wrap
+msgid "B<AT_FLAGS>"
+msgstr "B<AT_FLAGS>"
 
 #. type: Plain text
-#: build/C/man3/getloadavg.3:69
-msgid "B<uptime>(1), B<proc>(5)"
-msgstr "B<uptime>(1), B<proc>(5)"
+#: build/C/man3/getauxval.3:96
+msgid "Flags (unused)."
+msgstr ""
 
-#. type: TH
-#: build/C/man3/getsubopt.3:23
+#. type: TP
+#: build/C/man3/getauxval.3:96
 #, no-wrap
-msgid "GETSUBOPT"
-msgstr "GETSUBOPT"
+msgid "B<AT_FPUCW>"
+msgstr "B<AT_FPUCW>"
 
-#. type: TH
-#: build/C/man3/getsubopt.3:23 build/C/man3/mkdtemp.3:24
-#: build/C/man3/mkstemp.3:33
+#. type: Plain text
+#: build/C/man3/getauxval.3:101
+msgid ""
+"Used FPU control word (SuperH architecture only).  This gives some "
+"information about the FPU initialization performed by the kernel."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/getauxval.3:101
 #, no-wrap
-msgid "2010-09-26"
-msgstr "2010-09-26"
+msgid "B<AT_GID>"
+msgstr "B<AT_GID>"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:26
-msgid "getsubopt - parse suboption arguments from a string"
-msgstr "getsubopt - 文字列中のサブオプション引き数の解釈を行う"
+#: build/C/man3/getauxval.3:104
+msgid "The real group ID of the thread."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/getauxval.3:104
+#, no-wrap
+msgid "B<AT_HWCAP>"
+msgstr "B<AT_HWCAP>"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:31
+#: build/C/man3/getauxval.3:114
 msgid ""
-"B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char "
-"**>I<valuep>B<);>"
+"A pointer to a multibyte mask of bits whose settings indicate detailed "
+"processor capabilities.  The contents of the bit mask are hardware dependent "
+"(for example, see the kernel source file I<arch/x86/include/asm/cpufeature."
+"h> for details relating to the Intel x86 architecture).  A human-readable "
+"version of the same information is available via I</proc/cpuinfo>."
 msgstr ""
-"B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char "
-"**>I<valuep>B<);>"
 
-#. type: Plain text
-#: build/C/man3/getsubopt.3:38
-msgid "B<getsubopt>():"
-msgstr "B<getsubopt>():"
+#. type: TP
+#: build/C/man3/getauxval.3:114
+#, no-wrap
+msgid "B<AT_ICACHEBSIZE>"
+msgstr "B<AT_ICACHEBSIZE>"
 
+#.  .TP
+#.  .BR AT_IGNORE
+#.  .TP
+#.  .BR AT_IGNOREPPC
+#.  .TP
+#.  .BR AT_NOTELF
 #. type: Plain text
-#: build/C/man3/getsubopt.3:43
-msgid ""
-"_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
+#: build/C/man3/getauxval.3:123
+msgid "The instruction cache block size."
 msgstr ""
-"_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
 
-#. type: Plain text
-#: build/C/man3/getsubopt.3:45
-msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
-msgstr "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
+#. type: TP
+#: build/C/man3/getauxval.3:123
+#, no-wrap
+msgid "B<AT_PAGESZ>"
+msgstr "B<AT_PAGESZ>"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:62
+#: build/C/man3/getauxval.3:127
 msgid ""
-"B<getsubopt>()  parses the list of comma-separated suboptions provided in "
-"I<optionp>.  (Such a suboption list is typically produced when B<getopt>(3)  "
-"is used to parse a command line; see for example the I<-o> option of B<mount>"
-"(8).)  Each suboption may include an associated value, which is separated "
-"from the suboption name by an equal sign.  The following is an example of "
-"the kind of string that might be passed in I<optionp>:"
+"The system page size (the same value returned by I<sysconf(_SC_PAGESIZE)>)."
 msgstr ""
-"B<getsubopt>()  は、 I<optionp> で与えられたカンマ区切りのサブオプション・リ"
-"ストを解析する。 (このようなサブオプション・リストは B<getopt>(3)  を使ってコ"
-"マンドラインを解釈した場合に現れることが多い。 例えば、 B<mount>(8)  の I<-"
-"o> オプションを見るとよい。)  それぞれのサブオプションには対応する値を指定す"
-"ることができる。 サブオプションの名前と対応する値は等号 (\\(aq=\\(aq) で区切"
-"られる。 例えば、以下のような文字列を I<optionp> に渡すことができる。"
+
+#. type: TP
+#: build/C/man3/getauxval.3:127
+#, no-wrap
+msgid "B<AT_PHDR>"
+msgstr "B<AT_PHDR>"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:65
-msgid "B<ro,name=xyz>"
-msgstr "B<ro,name=xyz>"
+#: build/C/man3/getauxval.3:130
+msgid "The address of the program headers of the executable."
+msgstr ""
+
+#. type: TP
+#: build/C/man3/getauxval.3:130
+#, no-wrap
+msgid "B<AT_PHENT>"
+msgstr "B<AT_PHENT>"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:75
-msgid ""
-"The I<tokens> argument is a pointer to a NULL-terminated array of pointers "
-"to the tokens that B<getsubopt>()  will look for in I<optionp>.  The tokens "
-"should be distinct, null-terminated strings containing at least one "
-"character, with no embedded equal signs or commas."
+#: build/C/man3/getauxval.3:133
+msgid "The size of program header entry."
 msgstr ""
-"I<tokens> 引き数はトークンへのポインタの配列へのポインタで、 配列は NULL で終"
-"端される。 B<getsubopt>()  はこのトークンを I<optionp> 内で探す。 それぞれの"
-"トークンは、NULL 終端された 1文字以上の文字列で、 他のトークンと区別できる必"
-"要がある。 また、等号とカンマを含んではならない。"
+
+#. type: TP
+#: build/C/man3/getauxval.3:133
+#, no-wrap
+msgid "B<AT_PHNUM>"
+msgstr "B<AT_PHNUM>"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:96
-msgid ""
-"Each call to B<getsubopt>()  returns information about the next unprocessed "
-"suboption in I<optionp>.  The first equal sign in a suboption (if any) is "
-"interpreted as a separator between the name and the value of that "
-"suboption.  The value extends to the next comma, or (for the last suboption) "
-"to the end of the string.  If the name of the suboption matches a known name "
-"from I<tokens>, and a value string was found, B<getsubopt>()  sets "
-"I<*valuep> to the address of that string.  The first comma in I<optionp> is "
-"overwritten with a null byte, so I<*valuep> is precisely the \"value string"
-"\" for that suboption."
+#: build/C/man3/getauxval.3:136
+msgid "The number of program headers."
 msgstr ""
-"B<getsubopt>()  は呼び出されるたびに、 I<optionp> 中の次の未処理のサブオプ"
-"ションの情報を返す。 サブオプション内に等号があった場合、最初の等号は そのサ"
-"ブオプションの名前と値の区切りと解釈される。 区切りから次のカンマ (最後のサブ"
-"オプションの場合、文字列の末尾)  までが、サブオプションの値となる。 サブオプ"
-"ションの名前が I<tokens> 内の名前と一致し、値を表す文字列が見つかった場合、 "
-"B<getsubopt>()  は I<*valuep> を値を表す文字列のアドレスに設定する。 "
-"I<optionp> 中の最初のカンマはヌルバイトで上書きされる。そのため、 I<*valuep> "
-"はそのサブオプションの「値の文字列」そのものとなる。"
+
+#. type: TP
+#: build/C/man3/getauxval.3:136
+#, no-wrap
+msgid "B<AT_PLATFORM>"
+msgstr "B<AT_PLATFORM>"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:100
+#: build/C/man3/getauxval.3:143
 msgid ""
-"If the suboption is recognized, but no value string was found, I<*valuep> is "
-"set to NULL."
+"A pointer to a string that identifies the hardware platform that the program "
+"is running on.  The dynamic linker uses this in the interpretation of "
+"I<rpath> values."
 msgstr ""
-"サブオプションが認識されたが、値を表す文字列が見つからなかった場合、 "
-"*I<valuep> は NULL に設定される。"
+
+#. type: TP
+#: build/C/man3/getauxval.3:143
+#, no-wrap
+msgid "B<AT_RANDOM>"
+msgstr "B<AT_RANDOM>"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:108
-msgid ""
-"When B<getsubopt>()  returns, I<optionp> points to the next suboption, or to "
-"the null byte (\\(aq\\e0\\(aq) at the end of the string if the last "
-"suboption was just processed."
+#: build/C/man3/getauxval.3:146
+msgid "The address of sixteen bytes containing a random value."
 msgstr ""
-"B<getsubopt>()  が返る時、 I<optionp> は次のサブオプションを指している。 ちょ"
-"うど最後のサブオプションが処理された場合は、 文字列末尾のヌルバイト (\\(aq"
-"\\e0\\(aq) を指している。"
+
+#. type: TP
+#: build/C/man3/getauxval.3:146
+#, no-wrap
+msgid "B<AT_SECURE>"
+msgstr "B<AT_SECURE>"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:120
+#: build/C/man3/getauxval.3:158
 msgid ""
-"If the first suboption in I<optionp> is recognized, B<getsubopt>()  returns "
-"the index of the matching suboption element in I<tokens>.  Otherwise, -1 is "
-"returned and I<*valuep> is the entire I<name>B<[=>I<value>B<]> string."
+"Has a nonzero value if this executable should be treated securely.  Most "
+"commonly, a nonzero value indicates that the process is executing a set-user-"
+"ID or set-group-ID program; alternatively, a nonzero value may be triggered "
+"by a Linux Security Module.  When this value is nonzero, the dynamic linker "
+"disables the use of certain environment variables (see B<ld-linux.so>(8))  "
+"and glibc changes other aspects of its behavior.  (See also "
+"B<secure_getenv>(3).)"
 msgstr ""
-"I<optionp> 内でサブオプションが見つかった場合、 B<getsubopt>()  は最初のサブ"
-"オプションにマッチする I<tokens> の要素の添字を返す。 見つからなかった場"
-"合、-1 を返す。この場合、 I<*valuep> は I<name>B<[=>I<value>B<]> の文字列全体"
-"となる。"
+
+#. type: TP
+#: build/C/man3/getauxval.3:158
+#, no-wrap
+msgid "B<AT_SYSINFO>"
+msgstr "B<AT_SYSINFO>"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:127
+#: build/C/man3/getauxval.3:162
 msgid ""
-"Since I<*optionp> is changed, the first suboption before the call to "
-"B<getsubopt>()  is not (necessarily) the same as the first suboption after "
-"B<getsubopt>()."
+"The entry point to the system call function in the vDSO.  Not present/needed "
+"on all architectures (e.g., absent on x86-64)."
 msgstr ""
-"I<*optionp> は変更されるので、 B<getsubopt>()  を呼び出す前の最初のサブオプ"
-"ションは B<getsubopt>()  を呼び出し後のサブオプションと必ずしも同じとは限らな"
-"い。"
+
+#. type: TP
+#: build/C/man3/getauxval.3:162
+#, no-wrap
+msgid "B<AT_SYSINFO_EHDR>"
+msgstr "B<AT_SYSINFO_EHDR>"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:136
+#: build/C/man3/getauxval.3:167
 msgid ""
-"Since B<getsubopt>()  overwrites any commas it finds in the string "
-"I<*optionp>, that string must be writable; it cannot be a string constant."
+"The address of a page containing the virtual Dynamic Shared Object (vDSO)  "
+"that the kernel creates in order to provide fast implementations of certain "
+"system calls."
 msgstr ""
-"B<getsubopt>()  は、文字列 *I<optionp> 中に見つけたカンマを上書きするので、文"
-"字列 I<*optionp> は書き込み可能でなければならず、 文字列定数にすることはでき"
-"ない。"
+
+#. type: TP
+#: build/C/man3/getauxval.3:167
+#, no-wrap
+msgid "B<AT_UCACHEBSIZE>"
+msgstr "B<AT_UCACHEBSIZE>"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:138
-msgid "The following program expects suboptions following a \"-o\" option."
+#: build/C/man3/getauxval.3:170
+msgid "The unified cache block size."
 msgstr ""
-"以下のプログラムは \"-o\" オプションに続いてサブオプションがあることを 期待し"
-"ている。"
 
-#. type: Plain text
-#: build/C/man3/getsubopt.3:144
+#. type: TP
+#: build/C/man3/getauxval.3:170
 #, no-wrap
-msgid ""
-"#define _XOPEN_SOURCE 500\n"
-"#include E<lt>stdlib.hE<gt>\n"
-"#include E<lt>assert.hE<gt>\n"
-"#include E<lt>stdio.hE<gt>\n"
-msgstr ""
-"#define _XOPEN_SOURCE 500\n"
-"#include E<lt>stdlib.hE<gt>\n"
-"#include E<lt>assert.hE<gt>\n"
-"#include E<lt>stdio.hE<gt>\n"
+msgid "B<AT_UID>"
+msgstr "B<AT_UID>"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:161
-#, no-wrap
-msgid ""
-"int main(int argc, char **argv)\n"
-"{\n"
-"    enum {\n"
-"        RO_OPT = 0,\n"
-"        RW_OPT,\n"
-"        NAME_OPT\n"
-"    };\n"
-"    char *const token[] = {\n"
-"        [RO_OPT]   = \"ro\",\n"
-"        [RW_OPT]   = \"rw\",\n"
-"        [NAME_OPT] = \"name\",\n"
-"        NULL\n"
-"    };\n"
-"    char *subopts;\n"
-"    char *value;\n"
-"    int opt;\n"
+#: build/C/man3/getauxval.3:173
+msgid "The real user ID of the thread."
 msgstr ""
-"int main(int argc, char **argv)\n"
-"{\n"
-"    enum {\n"
-"        RO_OPT = 0,\n"
-"        RW_OPT,\n"
-"        NAME_OPT\n"
-"    };\n"
-"    char *const token[] = {\n"
-"        [RO_OPT]   = \"ro\",\n"
-"        [RW_OPT]   = \"rw\",\n"
-"        [NAME_OPT] = \"name\",\n"
-"        NULL\n"
-"    };\n"
-"    char *subopts;\n"
-"    char *value;\n"
-"    int opt;\n"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:166
-#, no-wrap
+#: build/C/man3/getauxval.3:181
 msgid ""
-"    int readonly = 0;\n"
-"    int readwrite = 0;\n"
-"    char *name = NULL;\n"
-"    int errfnd = 0;\n"
+"On success, B<getauxval>()  returns the value corresponding to I<type>.  If "
+"I<type> is not found, 0 is returned."
 msgstr ""
-"    int readonly = 0;\n"
-"    int readwrite = 0;\n"
-"    char *name = NULL;\n"
-"    int errfnd = 0;\n"
+"成功すると、 B<getauxval>() は I<type> に対応する値を返す。 I<type> が見つか"
+"らない場合には 0 を返す。"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:172
-#, no-wrap
+#: build/C/man3/getauxval.3:183
+msgid "No errors are diagnosed."
+msgstr "エラーは検出されない。"
+
+#. type: Plain text
+#: build/C/man3/getauxval.3:187
+msgid "The B<getauxval>()  function was added to glibc in version 2.16."
+msgstr "B<getauxval>() 関数は glibc バージョン 2.16 で追加された。"
+
+#. type: Plain text
+#: build/C/man3/getauxval.3:192
+msgid "The B<getauxval>()  function is thread-safe."
+msgstr "関数 B<getauxval>() はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/getauxval.3:194
+msgid "This function is a nonstandard glibc extension."
+msgstr "この関数は非標準で glibc による拡張である。"
+
+#. type: Plain text
+#: build/C/man3/getauxval.3:203
 msgid ""
-"    while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
-"        switch (opt) {\n"
-"        case \\(aqo\\(aq:\n"
-"            subopts = optarg;\n"
-"            while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
+"The primary consumer of the information in the auxiliary vector is the "
+"dynamic linker B<ld-linux.so>(8).  The auxiliary vector is a convenient and "
+"efficient shortcut that allows the kernel to communicate a certain set of "
+"standard information that the dynamic linker usually or always needs.  In "
+"some cases, the same information could be obtained by system calls, but "
+"using the auxiliary vector is cheaper."
 msgstr ""
-"    while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
-"        switch (opt) {\n"
-"        case \\(aqo\\(aq:\n"
-"            subopts = optarg;\n"
-"            while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:177
-#, no-wrap
+#: build/C/man3/getauxval.3:209
 msgid ""
-"            switch (getsubopt(&subopts, token, &value)) {\n"
-"            case RO_OPT:\n"
-"                readonly = 1;\n"
-"                break;\n"
+"The auxiliary vector resides just above the argument list and environment in "
+"the process address space.  The auxiliary vector supplied to a program can "
+"be viewed by setting the B<LD_SHOW_AUXV> environment variable when running a "
+"program:"
 msgstr ""
-"            switch (getsubopt(&subopts, token, &value)) {\n"
-"            case RO_OPT:\n"
-"                readonly = 1;\n"
-"                break;\n"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:181
+#: build/C/man3/getauxval.3:211
 #, no-wrap
+msgid "    $ LD_SHOW_AUXV=1 sleep 1\n"
+msgstr "    $ LD_SHOW_AUXV=1 sleep 1\n"
+
+#. type: Plain text
+#: build/C/man3/getauxval.3:218
 msgid ""
-"            case RW_OPT:\n"
-"                readwrite = 1;\n"
-"                break;\n"
+"The auxiliary vector of any process can (subject to file permissions)  be "
+"obtained via I</proc/PID/auxv>; see B<proc>(5)  for more information."
 msgstr ""
-"            case RW_OPT:\n"
-"                readwrite = 1;\n"
-"                break;\n"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:189
+#: build/C/man3/getauxval.3:222
+msgid "B<secure_getenv>(3), B<vdso>(7), B<ld-linux.so>(8)"
+msgstr "B<secure_getenv>(3), B<vdso>(7), B<ld-linux.so>(8)"
+
+#. type: TH
+#: build/C/man3/getenv.3:33
 #, no-wrap
-msgid ""
-"            case NAME_OPT:\n"
-"                if (value == NULL) {\n"
-"                    fprintf(stderr, \"Missing value for \"\n"
-"                            \"suboption \\(aq%s\\(aq\\en\", token[NAME_OPT]);\n"
-"                    errfnd = 1;\n"
-"                    continue;\n"
-"                }\n"
-msgstr ""
-"            case NAME_OPT:\n"
-"                if (value == NULL) {\n"
-"                    fprintf(stderr, \"Missing value for \"\n"
-"                            \"suboption \\(aq%s\\(aq\\en\", token[NAME_OPT]);\n"
-"                    errfnd = 1;\n"
-"                    continue;\n"
-"                }\n"
+msgid "GETENV"
+msgstr "GETENV"
+
+#. type: TH
+#: build/C/man3/getenv.3:33
+#, no-wrap
+msgid "2012-08-14"
+msgstr "2012-08-14"
+
+#. type: Plain text
+#: build/C/man3/getenv.3:36
+msgid "getenv, secure_getenv - get an environment variable"
+msgstr "getenv, secure_getenv - 環境変数を得る"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:192
+#: build/C/man3/getenv.3:41
 #, no-wrap
-msgid ""
-"                name = value;\n"
-"                break;\n"
-msgstr ""
-"                name = value;\n"
-"                break;\n"
+msgid "B<char *getenv(const char *>I<name>B<);>\n"
+msgstr "B<char *getenv(const char *>I<name>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:206
+#: build/C/man3/getenv.3:43
 #, no-wrap
+msgid "B<char *secure_getenv(const char *>I<name>B<);>\n"
+msgstr "B<char *secure_getenv(const char *>I<name>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/getenv.3:52
+msgid "B<secure_getenv>(): _GNU_SOURCE"
+msgstr "B<secure_getenv>(): _GNU_SOURCE"
+
+#. type: Plain text
+#: build/C/man3/getenv.3:61
 msgid ""
-"            default:\n"
-"                fprintf(stderr, \"No match found \"\n"
-"                        \"for token: /%s/\\en\", value);\n"
-"                errfnd = 1;\n"
-"                break;\n"
-"            }\n"
-"        }\n"
-"        if (readwrite && readonly) {\n"
-"            fprintf(stderr, \"Only one of \\(aq%s\\(aq and \\(aq%s\\(aq can be \"\n"
-"                    \"specified\\en\", token[RO_OPT], token[RW_OPT]);\n"
-"            errfnd = 1;\n"
-"        }\n"
-"        break;\n"
-msgstr ""
-"            default:\n"
-"                fprintf(stderr, \"No match found \"\n"
-"                        \"for token: /%s/\\en\", value);\n"
-"                errfnd = 1;\n"
-"                break;\n"
-"            }\n"
-"        }\n"
-"        if (readwrite && readonly) {\n"
-"            fprintf(stderr, \"Only one of \\(aq%s\\(aq and \\(aq%s\\(aq can be \"\n"
-"                    \"specified\\en\", token[RO_OPT], token[RW_OPT]);\n"
-"            errfnd = 1;\n"
-"        }\n"
-"        break;\n"
-
-#. type: Plain text
-#: build/C/man3/getsubopt.3:211
-#, no-wrap
-msgid ""
-"        default:\n"
-"            errfnd = 1;\n"
-"        }\n"
-"    }\n"
+"The B<getenv>()  function searches the environment list to find the "
+"environment variable I<name>, and returns a pointer to the corresponding "
+"I<value> string."
 msgstr ""
-"        default:\n"
-"            errfnd = 1;\n"
-"        }\n"
-"    }\n"
+"関数 B<getenv>()  は、環境リストから名前が I<name> の環境変数を検索し、対応す"
+"る I<value> 文字列へのポインタを返す。"
 
 #. type: Plain text
-#: build/C/man3/getsubopt.3:218
-#, no-wrap
+#: build/C/man3/getenv.3:69
 msgid ""
-"    if (errfnd || argc == 1) {\n"
-"        fprintf(stderr, \"\\enUsage: %s -o E<lt>suboptstringE<gt>\\en\", argv[0]);\n"
-"        fprintf(stderr, \"suboptions are \\(aqro\\(aq, \\(aqrw\\(aq, \"\n"
-"                \"and \\(aqname=E<lt>valueE<gt>\\(aq\\en\");\n"
-"        exit(EXIT_FAILURE);\n"
-"    }\n"
+"The GNU-specific B<secure_getenv>()  function is just like B<getenv>()  "
+"except that it returns NULL in cases where \"secure execution\" is "
+"required.  Secure execution is required if one of the following conditions "
+"was true when the program run by the calling process was loaded:"
 msgstr ""
-"    if (errfnd || argc == 1) {\n"
-"        fprintf(stderr, \"\\enUsage: %s -o E<lt>suboptstringE<gt>\\en\", argv[0]);\n"
-"        fprintf(stderr, \"suboptions are \\(aqro\\(aq, \\(aqrw\\(aq, \"\n"
-"                \"and \\(aqname=E<lt>valueE<gt>\\(aq\\en\");\n"
-"        exit(EXIT_FAILURE);\n"
-"    }\n"
-
-#. type: Plain text
-#: build/C/man3/getsubopt.3:220
-#, no-wrap
-msgid "    /* Remainder of program... */\n"
-msgstr "    /* Remainder of program... */\n"
-
-#. type: Plain text
-#: build/C/man3/getsubopt.3:225
-msgid "B<getopt>(3)"
-msgstr "B<getopt>(3)"
-
-#. type: TH
-#: build/C/man3/malloc.3:28
-#, no-wrap
-msgid "MALLOC"
-msgstr "MALLOC"
+"GNU 固有の B<secure_getenv>() 関数は B<getenv>() と同様だが、 \"secure "
+"execution\" (「安全な実行」) が必要な場合には NULL を返す点が異なる。 "
+"\"secure execution\" が必要となるのは、 呼び出し元プロセスにより実行されるプ"
+"ログラムがロードされる際に、 以下の条件のいずれか一つが成立する場合である。"
 
-#. type: TH
-#: build/C/man3/malloc.3:28
+#. type: IP
+#: build/C/man3/getenv.3:69 build/C/man3/getenv.3:74 build/C/man3/getenv.3:76
+#: build/C/man3/system.3:77 build/C/man3/system.3:82 build/C/man3/system.3:86
+#: build/C/man3/system.3:91
 #, no-wrap
-msgid "2012-03-20"
-msgstr "2012-03-20"
-
-#. type: Plain text
-#: build/C/man3/malloc.3:31
-msgid "malloc, free, calloc, realloc - Allocate and free dynamic memory"
-msgstr "malloc, free, calloc, realloc - 動的なメモリの割り当てと解放を行う"
+msgid "*"
+msgstr "*"
 
 #. type: Plain text
-#: build/C/man3/malloc.3:39
-#, no-wrap
+#: build/C/man3/getenv.3:74
 msgid ""
-"B<void *malloc(size_t >I<size>B<);>\n"
-"B<void free(void >I<*ptr>B<);>\n"
-"B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
-"B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
+"the process's effective user ID did not match its real user ID or the "
+"process's effective group ID did not match its real group ID (typically this "
+"is the result of executing a set-user-ID or set-group-ID program);"
 msgstr ""
-"B<void *malloc(size_t >I<size>B<);>\n"
-"B<void free(void >I<*ptr>B<);>\n"
-"B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
-"B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
+"プロセスの実効ユーザ ID がプロセスの実ユーザ ID と一致しない場合、またはプロ"
+"セスの実効グループ ID がプロセスの実グループ ID と一致しない場合 (通常、この"
+"状況になるのは、 set-user-ID プログラムか set-group-ID プログラムを実行した場"
+"合である)。"
 
-#.  glibc does this:
 #. type: Plain text
-#: build/C/man3/malloc.3:56
-msgid ""
-"The B<malloc>()  function allocates I<size> bytes and returns a pointer to "
-"the allocated memory.  I<The memory is not initialized>.  If I<size> is 0, "
-"then B<malloc>()  returns either NULL, or a unique pointer value that can "
-"later be successfully passed to B<free>()."
-msgstr ""
-"B<malloc>() 関数は I<size> バイトを割り当て、 割り当てられたメモリに対する\n"
-"ポインタを返す。I<メモリの内容は初期化されない>。 I<size> が 0 の場合、\n"
-"B<malloc>() は NULL または B<free>() に後で渡しても問題の起こらない\n"
-"一意なポインタ値を返す。"
+#: build/C/man3/getenv.3:76
+msgid "the effective capability bit was set on the executable file; or"
+msgstr "実行ファイルで実効ケーパビリティビットがセットされている場合。"
 
 #. type: Plain text
-#: build/C/man3/malloc.3:72
-msgid ""
-"The B<free>()  function frees the memory space pointed to by I<ptr>, which "
-"must have been returned by a previous call to B<malloc>(), B<calloc>()  or "
-"B<realloc>().  Otherwise, or if I<free(ptr)> has already been called before, "
-"undefined behavior occurs.  If I<ptr> is NULL, no operation is performed."
-msgstr ""
-"B<free>() 関数はポインタ I<ptr> が指すメモリ空間を解放する。このポインタは、\n"
-"以前に呼び出された B<malloc>(), B<calloc>(), B<realloc>() のいずれかが返した値で\n"
-"なければならない。これ以外のポインタを指定したり、すでに I<free(ptr)> が実行\n"
-"されていたりした場合の動作は定義されていない。\n"
-"I<ptr> が NULL の場合には、何の動作も行われない。"
+#: build/C/man3/getenv.3:78
+msgid "the process has a nonempty permitted capability set."
+msgstr "プロセスの許可ケーパビリティセットが空でない場合。"
 
-#.  glibc does this:
 #. type: Plain text
-#: build/C/man3/malloc.3:91
+#: build/C/man3/getenv.3:81
 msgid ""
-"The B<calloc>()  function allocates memory for an array of I<nmemb> elements "
-"of I<size> bytes each and returns a pointer to the allocated memory.  The "
-"memory is set to zero.  If I<nmemb> or I<size> is 0, then B<calloc>()  "
-"returns either NULL, or a unique pointer value that can later be "
-"successfully passed to B<free>()."
+"Secure execution may also required if triggered by some Linux security "
+"modules."
 msgstr ""
-"B<calloc>() 関数は I<size> バイトの要素 I<nmemb> 個からなる配列にメモリを\n"
-"割り当て、割り当てられたメモリに対するポインタを返す。 メモリの内容は数値ゼロ\n"
-"(全ビットが 0 のバイト) にセットされる。 I<nmemb> か I<size> が 0 の場合、\n"
-"B<calloc>() は NULL または B<free>() に後で渡しても問題の起こらない一意な\n"
-"ポインタ値を返す。"
-
-#. type: Plain text
-#: build/C/man3/malloc.3:127
-msgid ""
-"The B<realloc>()  function changes the size of the memory block pointed to "
-"by I<ptr> to I<size> bytes.  The contents will be unchanged in the range "
-"from the start of the region up to the minimum of the old and new sizes.  If "
-"the new size is larger than the old size, the added memory will I<not> be "
-"initialized.  If I<ptr> is NULL, then the call is equivalent to I<malloc"
-"(size)>, for all values of I<size>; if I<size> is equal to zero, and I<ptr> "
-"is not NULL, then the call is equivalent to I<free(ptr)>.  Unless I<ptr> is "
-"NULL, it must have been returned by an earlier call to B<malloc>(), B<calloc>"
-"()  or B<realloc>().  If the area pointed to was moved, a I<free(ptr)> is "
-"done."
-msgstr ""
-"B<realloc>() は、ポインタ I<ptr> が示すメモリブロックのサイズを I<size> バイト\n"
-"に変更する。領域の先頭から、新旧のサイズの小さい方の位置までの範囲の内容は\n"
-"変更されない。新しいサイズが前のサイズよりも大きい場合、追加されたメモリは\n"
-"初期化 I<されない>。\n"
-"I<ptr> が NULL の場合には I<malloc(size)> と等価である。\n"
-"I<size> が 0 で I<ptr> が NULL でない場合には、 I<free(ptr)> と等価である。\n"
-"I<ptr> が NULL 以外の場合、 I<ptr> は以前に呼び出された B<malloc>(), B<calloc>(),\n"
-"B<realloc>() のいずれかが返した値でなければならない。\n"
-"I<ptr> が指す領域が移動されていた場合は I<free(ptr)> が実行される。"
+"Linux セキュリティモジュールにより要求された場合にも \"secure execution\" は"
+"必要となる。"
 
 #. type: Plain text
-#: build/C/man3/malloc.3:147
+#: build/C/man3/getenv.3:88
 msgid ""
-"The B<malloc>()  and B<calloc>()  functions return a pointer to the "
-"allocated memory that is suitably aligned for any kind of variable.  On "
-"error, these functions return NULL.  NULL may also be returned by a "
-"successful call to B<malloc>()  with a I<size> of zero, or by a successful "
-"call to B<calloc>()  with I<nmemb> or I<size> equal to zero."
+"The B<secure_getenv>()  function is intended for use in general-purpose "
+"libraries to avoid vulnerabilities that could occur if set-user-ID or set-"
+"group-ID programs accidentally trusted the environment."
 msgstr ""
-"関数 B<calloc>() と B<malloc>() は、割り当てられたメモリへのポインタを返す。\n"
-"割り当てられたメモリは、あらゆる種類の変数に対応できるようにアラインメントされる。\n"
-"エラーの場合、これらの関数は NULL を返す。\n"
-"I<size> が 0 で呼び出した B<malloc>() や、I<nmemb> か I<size> が 0 で呼び出した\n"
-"B<calloc>() が成功した場合にも NULL が返される。"
-
-#. type: Plain text
-#: build/C/man3/malloc.3:151
-msgid "The B<free>()  function returns no value."
-msgstr "B<free>() 関数は値を返さない。"
+"B<secure_getenv>() 関数は、 set-user-ID プログラムや set-group-ID プログラム"
+"が実行環境を偶然信用してしまった場合に起こり得る脆弱性を、 汎用ライブラリで回"
+"避するために使うことを意図して作られた。"
 
 #. type: Plain text
-#: build/C/man3/malloc.3:166
+#: build/C/man3/getenv.3:93
 msgid ""
-"The B<realloc>()  function returns a pointer to the newly allocated memory, "
-"which is suitably aligned for any kind of variable and may be different from "
-"I<ptr>, or NULL if the request fails.  If I<size> was equal to 0, either "
-"NULL or a pointer suitable to be passed to B<free>()  is returned.  If "
-"B<realloc>()  fails the original block is left untouched; it is not freed or "
-"moved."
+"The B<getenv>()  function returns a pointer to the value in the environment, "
+"or NULL if there is no match."
 msgstr ""
-"B<realloc>() 関数は新たに割り当てられたメモリへのポインタを返す。\n"
-"これはあらゆる種類の変数に対応できるようにアラインメントされており、\n"
-"I<ptr> とは異なることもある。割り当て要求に失敗した場合は NULL が返る。\n"
-"I<size> が 0 の場合には、NULL もしくは B<free>() に渡すことができるポインタが返る。\n"
-"B<realloc>() が失敗した場合には、元のブロックは変更されない。\n"
-"つまり、解放されたり移動されたりはしない。"
+"関数 B<getenv>()  は、環境における値 value へのポインタを返す。 I<name> に"
+"マッチする環境変数が存在しないときには NULL を返す。"
 
 #. type: Plain text
-#: build/C/man3/malloc.3:168
-msgid "C89, C99."
-msgstr "C89, C99."
+#: build/C/man3/getenv.3:96
+msgid "B<secure_getenv>()  first appeared in glibc 2.17."
+msgstr "B<secure_getenv>() は glibc 2.17 で初めて登場した。"
 
 #. type: Plain text
-#: build/C/man3/malloc.3:184
-msgid ""
-"By default, Linux follows an optimistic memory allocation strategy.  This "
-"means that when B<malloc>()  returns non-NULL there is no guarantee that the "
-"memory really is available.  In case it turns out that the system is out of "
-"memory, one or more processes will be killed by the OOM killer.  For more "
-"information, see the description of I</proc/sys/vm/overcommit_memory> and I</"
-"proc/sys/vm/oom_adj> in B<proc>(5), and the kernel source file "
-"I<Documentation/vm/overcommit-accounting>."
-msgstr ""
-"デフォルトでは、Linux は楽観的メモリ配置戦略を用いている。つまり、\n"
-"B<malloc>() が NULL でない値を返しても、そのメモリが実際に利用可能であること\n"
-"が保証されない。システムがメモリ不足状態になったとき、メモリ不足解決器 (OOM\n"
-"killer) によって一つまたは複数のプロセスが削除される。\n"
-"詳しい情報は、B<proc>(5) の I</proc/sys/vm/overcommit_memory> と\n"
-"I<proc/sys/vm/oom_adj>、およびカーネルのソースファイルの\n"
-"I<Documentation/vm/overcommit-accounting> を参照のこと。"
+#: build/C/man3/getenv.3:99
+msgid "B<getenv>(): SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
+msgstr "B<getenv>(): SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
 
 #. type: Plain text
-#: build/C/man3/malloc.3:205
-msgid ""
-"Normally, B<malloc>()  allocates memory from the heap, and adjusts the size "
-"of the heap as required, using B<sbrk>(2).  When allocating blocks of memory "
-"larger than B<MMAP_THRESHOLD> bytes, the glibc B<malloc>()  implementation "
-"allocates the memory as a private anonymous mapping using B<mmap>(2).  "
-"B<MMAP_THRESHOLD> is 128 kB by default, but is adjustable using B<mallopt>"
-"(3).  Allocations performed using B<mmap>(2)  are unaffected by the "
-"B<RLIMIT_DATA> resource limit (see B<getrlimit>(2))."
-msgstr ""
-"通常、 B<malloc>()  は、ヒープからメモリを割り当て、必要に応じてヒープのサイ"
-"ズを B<sbrk>(2)  を使って調節する。 B<MMAP_THRESHOLD> バイトよりも大きなメモ"
-"リブロックを割り当てる場合、 glibc の B<malloc>()  実装は B<mmap>(2)  を使っ"
-"てプライベートな無名マッピング (anonymous mapping) として メモリを割り当て"
-"る。 デフォルトでは B<MMAP_THRESHOLD> は 128 kB だが、 B<mallopt>(3)  を使っ"
-"て調整できる。 B<mmap>(2)  を使って行われたメモリ割り当ては B<RLIMIT_DATA> リ"
-"ソース上限の影響を受けない (B<getrlimit>(2)  参照)。"
+#: build/C/man3/getenv.3:102
+msgid "B<secure_getenv>()  is a GNU extension."
+msgstr "B<secure_getenv>() は GNU による拡張である。"
 
 #. type: Plain text
-#: build/C/man3/malloc.3:223
-msgid ""
-"To avoid corruption in multithreaded applications, mutexes are used "
-"internally to protect the memory-management data structures employed by "
-"these functions.  In a multithreaded application in which threads "
-"simultaneously allocate and free memory, there could be contention for these "
-"mutexes.  To scalably handle memory allocation in multithreaded "
-"applications, glibc creates additional I<memory allocation arenas> if mutex "
-"contention is detected.  Each arena is a large region of memory that is "
-"internally allocated by the system (using B<brk>(2)  or B<mmap>(2)), and "
-"managed with its own mutexes."
-msgstr ""
+#: build/C/man3/getenv.3:104
+msgid "The strings in the environment list are of the form I<name=value>."
+msgstr "環境リストの文字列は I<name=value> という形式をしている。"
 
 #. type: Plain text
-#: build/C/man3/malloc.3:241
+#: build/C/man3/getenv.3:110
 msgid ""
-"The UNIX 98 standard requires B<malloc>(), B<calloc>(), and B<realloc>()  to "
-"set I<errno> to B<ENOMEM> upon failure.  Glibc assumes that this is done "
-"(and the glibc versions of these routines do this); if you use a private "
-"malloc implementation that does not set I<errno>, then certain library "
-"routines may fail without having a reason in I<errno>."
+"As typically implemented, B<getenv>()  returns a pointer to a string within "
+"the environment list.  The caller must take care not to modify this string, "
+"since that would change the environment of the process."
 msgstr ""
-"UNIX 98 標準では、 B<malloc>(), B<calloc>(), B<realloc>() は実行に失敗したと"
-"きに I<errno> を B<ENOMEM> に設定することになっている。 Glibc ではこれが守ら"
-"れていることを仮定している (またこれらのルーチンの glibc バージョンはこのこと"
-"を守っている)。 個人的に別の malloc の実装を使っていて、その malloc が"
-"I<errno> を設定しない場合には、失敗した際に I<errno> にエラーの理由を設定しな"
-"いライブラリルーチンがあるかもしれない。"
+"通常の実装では、 B<getenv>()  は環境リスト内の文字列へのポインタを返す。 呼び"
+"出し元はこの文字列を変更しないように注意しなければならない。 この文字列を変更"
+"すると、そのプロセスの環境を変化させることになるからである。"
 
 #. type: Plain text
-#: build/C/man3/malloc.3:250
+#: build/C/man3/getenv.3:123
 msgid ""
-"Crashes in B<malloc>(), B<calloc>(), B<realloc>(), or B<free>()  are almost "
-"always related to heap corruption, such as overflowing an allocated chunk or "
-"freeing the same pointer twice."
+"The implementation of B<getenv>()  is not required to be reentrant.  The "
+"string pointed to by the return value of B<getenv>()  may be statically "
+"allocated, and can be modified by a subsequent call to B<getenv>(), "
+"B<putenv>(3), B<setenv>(3), or B<unsetenv>(3)."
 msgstr ""
-"B<malloc>(), B<calloc>(), B<realloc>(), B<free>()  における事故は、 ほとんど"
-"の場合はヒープの破壊 (corruption) が原因である。 例えば、割り当てられた領域を"
-"オーバーフローする、 同じポインタに二度 free する、などがこれにあたる。"
+"B<getenv>()  の実装はリエントラント (再入可能) であることを要求されていな"
+"い。 B<getenv>()  の返り値により参照される文字列は静的に割り当てられてもよ"
+"く、 文字列の内容は後続の B<getenv>(), B<putenv>(3), B<setenv>(3), "
+"B<unsetenv>(3)  の呼び出しにより変更されることがある。"
 
 #. type: Plain text
-#: build/C/man3/malloc.3:257
+#: build/C/man3/getenv.3:129
 msgid ""
-"Recent versions of Linux libc (later than 5.4.23) and glibc (2.x)  include a "
-"B<malloc>()  implementation which is tunable via environment variables.  For "
-"details, see B<mallopt>(3)."
+"The \"secure execution\" mode of B<secure_getenv>()  is controlled by the "
+"B<AT_SECURE> flag contained in the auxiliary vector passed from the kernel "
+"to user space."
 msgstr ""
-"Linux libc の新しいバージョン (5.4.23 より後) と glibc (2.x) には、\n"
-"環境変数で動作を調整できる B<malloc>() 実装が含まれている。\n"
-"詳細は B<mallopt>(3) を参照のこと。"
+"B<secure_getenv>() の \"secure execution\" モードは、 カーネルからユーザ空間"
+"に渡される補助ベクトル (auxiliary vector) の B<AT_SECURE> フラグにより制御さ"
+"れる。"
 
-#.  http://g.oswego.edu/dl/html/malloc.html
-#.  A Memory Allocator - by Doug Lea
-#.  http://www.bozemanpass.com/info/linux/malloc/Linux_Heap_Contention.html
-#.  Linux Heap, Contention in free() - David Boreham
-#.  http://www.citi.umich.edu/projects/linux-scalability/reports/malloc.html
-#.  malloc() Performance in a Multithreaded Linux Environment -
-#.      Check Lever, David Boreham
 #. type: Plain text
-#: build/C/man3/malloc.3:276
+#: build/C/man3/getenv.3:137
 msgid ""
-"B<brk>(2), B<mmap>(2), B<alloca>(3), B<malloc_get_state>(3), B<malloc_trim>"
-"(3), B<malloc_usable_size>(3), B<mallopt>(3), B<mtrace>(3), B<posix_memalign>"
-"(3)"
+"B<clearenv>(3), B<getauxval>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), "
+"B<capabilities>(7), B<environ>(7)"
 msgstr ""
-"B<brk>(2), B<mmap>(2), B<alloca>(3), B<malloc_get_state>(3),\n"
-"B<malloc_trim>(3), B<malloc_usable_size>(3), B<mallopt>(3), B<mtrace>(3),\n"
-"B<posix_memalign>(3)"
+"B<clearenv>(3), B<getauxval>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), "
+"B<capabilities>(7), B<environ>(7)"
 
 #. type: TH
-#: build/C/man3/mblen.3:14
+#: build/C/man3/getloadavg.3:34
 #, no-wrap
-msgid "MBLEN"
-msgstr "MBLEN"
+msgid "GETLOADAVG"
+msgstr "GETLOADAVG"
 
 #. type: TH
-#: build/C/man3/mblen.3:14 build/C/man3/wctomb.3:14
+#: build/C/man3/getloadavg.3:34
 #, no-wrap
-msgid "1999-07-25"
-msgstr "1999-07-25"
+msgid "2014-04-01"
+msgstr "2014-04-01"
 
 #. type: Plain text
-#: build/C/man3/mblen.3:17
-msgid "mblen - determine number of bytes in next multibyte character"
-msgstr "mblen - 次のマルチバイト文字のバイト数を返す"
+#: build/C/man3/getloadavg.3:37
+msgid "getloadavg - get system load averages"
+msgstr "getloadavg - get system load averages"
 
 #. type: Plain text
-#: build/C/man3/mblen.3:22
+#: build/C/man3/getloadavg.3:41
 #, no-wrap
-msgid "B<int mblen(const char *>I<s>B<, size_t >I<n>B<);>\n"
-msgstr "B<int mblen(const char *>I<s>B<, size_t >I<n>B<);>\n"
-
-#. type: Plain text
-#: build/C/man3/mblen.3:36
 msgid ""
-"If I<s> is not a NULL pointer, the B<mblen>()  function inspects at most "
-"I<n> bytes of the multibyte string starting at I<s> and extracts the next "
-"complete multibyte character.  It uses a static anonymous shift state only "
-"known to the B<mblen>()  function.  If the multibyte character is not the "
-"null wide character, it returns the number of bytes that were consumed from "
-"I<s>.  If the multibyte character is the null wide character, it returns 0."
+"B<#define _BSD_SOURCE>         /* See feature_test_macros(7) */\n"
+"B<#include E<lt>stdlib.hE<gt>>\n"
 msgstr ""
-"I<s> が NULL ポインターでなければ、 B<mblen>()  関数は I<s> から始まる最大 "
-"I<n> バイトのマルチバイト文字列を検査して、 次の完全なマルチバイト文字を取り"
-"出す。これには B<mblen>()  関数のみが使用する静的で名前のないシフト状態が使用"
-"される。 マルチバイト文字がナルワイド文字でなければ I<s> から消費される バイ"
-"ト数を返す。マルチバイト文字がナルワイド文字ならば 0 を返す。"
+"B<#define _BSD_SOURCE>         /* feature_test_macros(7) 参照 */\n"
+"B<#include E<lt>stdlib.hE<gt>>\n"
 
 #. type: Plain text
-#: build/C/man3/mblen.3:44
-msgid ""
-"If the I<n> bytes starting at I<s> do not contain a complete multibyte "
-"character, B<mblen>()  returns -1.  This can happen even if I<n> is greater "
-"than or equal to I<MB_CUR_MAX>, if the multibyte string contains redundant "
-"shift sequences."
-msgstr ""
-"I<s> から始まる I<n> バイトが完全なマルチバイト文字を含んで いなければ、 "
-"B<mblen>()  は -1 を返す。マルチバイト文字列 に冗長なシフトシーケンスが含まれ"
-"ていると、 I<n> が I<MB_CUR_MAX> 以上の場合にも このようなことが起こりえる。"
+#: build/C/man3/getloadavg.3:43
+#, no-wrap
+msgid "B<int getloadavg(double >I<loadavg[]>B<, int >I<nelem>B<);>\n"
+msgstr "B<int getloadavg(double >I<loadavg[]>B<, int >I<nelem>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/mblen.3:49
+#: build/C/man3/getloadavg.3:55
 msgid ""
-"If the multibyte string starting at I<s> contains an invalid multibyte "
-"sequence before the next complete character, B<mblen>()  also returns -1."
+"The B<getloadavg>()  function returns the number of processes in the system "
+"run queue averaged over various periods of time.  Up to I<nelem> samples are "
+"retrieved and assigned to successive elements of I<loadavg>[].  The system "
+"imposes a maximum of 3 samples, representing averages over the last 1, 5, "
+"and 15 minutes, respectively."
 msgstr ""
-"I<s> から始まるマルチバイト文字列が次の完全な文字の前に 不正なマルチバイト列"
-"を含んでいる場合にも、 B<mblen>()  は -1 を返す。"
-
-#.  The Dinkumware doc and the Single UNIX specification say this, but
-#.  glibc doesn't implement this.
-#. type: Plain text
-#: build/C/man3/mblen.3:58
-msgid ""
-"If I<s> is a NULL pointer, the B<mblen>()  function resets the shift state, "
-"only known to this function, to the initial state, and returns nonzero if "
-"the encoding has nontrivial shift state, or zero if the encoding is "
-"stateless."
-msgstr ""
-"I<s> が NULL ポインターならば、 B<mblen>()  関数はこの関数のみが 使用するシフ"
-"ト状態を初期化状態に戻し、シフト状態を使用した文字符号の場合に はゼロ以外を、"
-"文字符号がシフト状態を持たない場合にはゼロを返す。"
+"B<getloadavg>()  関数はシステムの実行キューに入っているプロセスの数を、 様々"
+"な期間について平均した値を返す。 I<nelem> 個までのサンプル値を取得し、 "
+"I<loadavg>[] の連続する要素に代入する。 システムが提供するサンプル数は 3 個ま"
+"でで、 それぞれ最近 1, 5, 15 分の平均を表している。"
 
+#.  .SH HISTORY
+#.  The
+#.  BR getloadavg ()
+#.  function appeared in
+#.  4.3BSD Reno .
 #. type: Plain text
-#: build/C/man3/mblen.3:68
+#: build/C/man3/getloadavg.3:63
 msgid ""
-"The B<mblen>()  function returns the number of bytes parsed from the "
-"multibyte sequence starting at I<s>, if a non-null wide character was "
-"recognized.  It returns 0, if a null wide character was recognized.  It "
-"returns -1, if an invalid multibyte sequence was encountered or if it "
-"couldn't parse a complete multibyte character."
+"If the load average was unobtainable, -1 is returned; otherwise, the number "
+"of samples actually retrieved is returned."
 msgstr ""
-"B<mblen>()  関数は I<s> から始まるマルチバイト列を検査して ナルワイド文字以外"
-"を確認した場合にはそのバイト数を返す。 ナルワイド文字を確認した場合にはゼロを"
-"返す。不正なマルチバイト列に 遭遇した場合や完全なマルチバイト文字を解析できな"
-"かった場合には -1 を返す。"
+"負荷平均が取得できないと -1 を返す。 取得できた場合は、実際に取得したサンプル"
+"値の数を返す。"
 
 #. type: Plain text
-#: build/C/man3/mblen.3:70 build/C/man3/mbstowcs.3:70 build/C/man3/mbtowc.3:78
-#: build/C/man3/wcstombs.3:70 build/C/man3/wctomb.3:66
-msgid "C99."
-msgstr "C99."
+#: build/C/man3/getloadavg.3:65
+msgid "This function is available in glibc since version 2.2."
+msgstr "この関数は glibc のバージョン 2.2 以降で利用可能である。"
 
 #. type: Plain text
-#: build/C/man3/mblen.3:77
-msgid ""
-"The behavior of B<mblen>()  depends on the B<LC_CTYPE> category of the "
-"current locale."
-msgstr ""
-"B<mblen>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
+#: build/C/man3/getloadavg.3:70
+msgid "The B<getloadavg>()  function is thread-safe."
+msgstr "関数 B<getloadavg>() はスレッドセーフである。"
 
+#.  mdoc seems to have a bug - there must be no newline here
 #. type: Plain text
-#: build/C/man3/mblen.3:82
-msgid ""
-"The function B<mbrlen>(3)  provides a better interface to the same "
-"functionality."
-msgstr "B<mbrlen>(3)  関数は同じ機能のより良いインタフェースを提供する。"
+#: build/C/man3/getloadavg.3:74
+msgid "Not in POSIX.1-2001.  Present on the BSDs and Solaris."
+msgstr "POSIX.1-2001 にはない。 BSD 系と Solaris に存在する。"
 
 #. type: Plain text
-#: build/C/man3/mblen.3:83
-msgid "B<mbrlen>(3)"
-msgstr "B<mbrlen>(3)"
+#: build/C/man3/getloadavg.3:77
+msgid "B<uptime>(1), B<proc>(5)"
+msgstr "B<uptime>(1), B<proc>(5)"
 
 #. type: TH
-#: build/C/man3/mbstowcs.3:14
+#: build/C/man3/getsubopt.3:25
 #, no-wrap
-msgid "MBSTOWCS"
-msgstr "MBSTOWCS"
+msgid "GETSUBOPT"
+msgstr "GETSUBOPT"
 
 #. type: TH
-#: build/C/man3/mbstowcs.3:14 build/C/man3/mbtowc.3:14
+#: build/C/man3/getsubopt.3:25
 #, no-wrap
-msgid "2011-09-28"
-msgstr "2011-09-28"
+msgid "2014-04-08"
+msgstr "2014-04-08"
 
 #. type: Plain text
-#: build/C/man3/mbstowcs.3:17
-msgid "mbstowcs - convert a multibyte string to a wide-character string"
-msgstr "mbstowcs - マルチバイト文字列をワイド文字列に変換する"
-
-#. type: Plain text
-#: build/C/man3/mbstowcs.3:22
-#, no-wrap
-msgid "B<size_t mbstowcs(wchar_t *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
-msgstr "B<size_t mbstowcs(wchar_t *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
+#: build/C/man3/getsubopt.3:28
+msgid "getsubopt - parse suboption arguments from a string"
+msgstr "getsubopt - 文字列中のサブオプション引き数の解釈を行う"
 
 #. type: Plain text
-#: build/C/man3/mbstowcs.3:33
+#: build/C/man3/getsubopt.3:33
 msgid ""
-"If I<dest> is not a NULL pointer, the B<mbstowcs>()  function converts the "
-"multibyte string I<src> to a wide-character string starting at I<dest>.  At "
-"most I<n> wide characters are written to I<dest>.  The conversion starts in "
-"the initial state.  The conversion can stop for three reasons:"
+"B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char "
+"**>I<valuep>B<);>"
 msgstr ""
-"I<dest> が NULL ポインターでなければ B<mbstowcs>()  関数は マルチバイト文字"
-"列 I<*src> を I<dest> から始まるワイド文字列に 変換する。I<dest> には最大で "
-"I<n> 文字のワイド文字が 書き込まれる。変換は初期状態で開始され、 以下の三つの"
-"いずれかの条件で停止する:"
-
-#. type: IP
-#: build/C/man3/mbstowcs.3:33
-#, no-wrap
-msgid "1."
-msgstr "1."
+"B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char "
+"**>I<valuep>B<);>"
 
 #. type: Plain text
-#: build/C/man3/mbstowcs.3:38
-msgid ""
-"An invalid multibyte sequence has been encountered.  In this case I<"
-"(size_t)\\ -1> is returned."
-msgstr "不正なマルチバイト列に遭遇した。この場合には I<(size_t)\\ -1> を返す。"
-
-#. type: IP
-#: build/C/man3/mbstowcs.3:38
-#, no-wrap
-msgid "2."
-msgstr "2."
+#: build/C/man3/getsubopt.3:40
+msgid "B<getsubopt>():"
+msgstr "B<getsubopt>():"
 
 #. type: Plain text
-#: build/C/man3/mbstowcs.3:43
+#: build/C/man3/getsubopt.3:45
 msgid ""
-"I<n> non-L\\(aq\\e0\\(aq wide characters have been stored at I<dest>.  In "
-"this case the number of wide characters written to I<dest> is returned, but "
-"the shift state at this point is lost."
+"_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
 msgstr ""
-"I<n> 文字の L\\(aq\\e0\\(aq 以外のワイド文字を I<dest> に格納した場合。 この"
-"場合は I<*src> が次に変換されるマルチバイト列を指すようにして、 I<dest> に書"
-"き込まれたワイド文字の数を返す。しかしこの指している 場所のシフト状態は失われ"
-"る。"
+"_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
 
-#. type: IP
-#: build/C/man3/mbstowcs.3:43
-#, no-wrap
-msgid "3."
-msgstr "3."
+#. type: Plain text
+#: build/C/man3/getsubopt.3:47
+msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
+msgstr "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
 
 #. type: Plain text
-#: build/C/man3/mbstowcs.3:48
+#: build/C/man3/getsubopt.3:64
 msgid ""
-"The multibyte string has been completely converted, including the "
-"terminating null wide character (\\(aq\\e0\\(aq).  In this case the number "
-"of wide characters written to I<dest>, excluding the terminating null wide "
-"character, is returned."
+"B<getsubopt>()  parses the list of comma-separated suboptions provided in "
+"I<optionp>.  (Such a suboption list is typically produced when B<getopt>(3)  "
+"is used to parse a command line; see for example the I<-o> option of "
+"B<mount>(8).)  Each suboption may include an associated value, which is "
+"separated from the suboption name by an equal sign.  The following is an "
+"example of the kind of string that might be passed in I<optionp>:"
 msgstr ""
-"マルチバイト文字列が終端の NULL ワイド文字 (\\(aq\\e0\\(aq) まで含めて完全に "
-"変換された場合。この場合は終端の NULL ワイド文字を除いて I<dest> に書き込まれ"
-"た文字数を返す。"
+"B<getsubopt>()  は、 I<optionp> で与えられたカンマ区切りのサブオプション・リ"
+"ストを解析する。 (このようなサブオプション・リストは B<getopt>(3)  を使ってコ"
+"マンドラインを解釈した場合に現れることが多い。 例えば、 B<mount>(8)  の I<-"
+"o> オプションを見るとよい。)  それぞれのサブオプションには対応する値を指定す"
+"ることができる。 サブオプションの名前と対応する値は等号 (\\(aq=\\(aq) で区切"
+"られる。 例えば、以下のような文字列を I<optionp> に渡すことができる。"
 
 #. type: Plain text
-#: build/C/man3/mbstowcs.3:51
-msgid ""
-"The programmer must ensure that there is room for at least I<n> wide "
-"characters at I<dest>."
-msgstr ""
-"プログラマーは I<dest> に最低でも I<n> ワイド文字を書き込むこ とができる空間"
-"があることを保証しなければならない。"
+#: build/C/man3/getsubopt.3:67
+msgid "B<ro,name=xyz>"
+msgstr "B<ro,name=xyz>"
 
 #. type: Plain text
-#: build/C/man3/mbstowcs.3:55
+#: build/C/man3/getsubopt.3:77
 msgid ""
-"If I<dest> is NULL, I<n> is ignored, and the conversion proceeds as above, "
-"except that the converted wide characters are not written out to memory, and "
-"that no length limit exists."
+"The I<tokens> argument is a pointer to a NULL-terminated array of pointers "
+"to the tokens that B<getsubopt>()  will look for in I<optionp>.  The tokens "
+"should be distinct, null-terminated strings containing at least one "
+"character, with no embedded equal signs or commas."
 msgstr ""
-"I<dest> が NULL の場合、I<n> は無視され、上記と同様の変換が 行われるが、変換"
-"されたワイド文字はメモリに書き込まれず、変換先の上限 が存在しない。"
+"I<tokens> 引き数はトークンへのポインタの配列へのポインタで、 配列は NULL で終"
+"端される。 B<getsubopt>()  はこのトークンを I<optionp> 内で探す。 それぞれの"
+"トークンは、NULL 終端された 1文字以上の文字列で、 他のトークンと区別できる必"
+"要がある。 また、等号とカンマを含んではならない。"
 
 #. type: Plain text
-#: build/C/man3/mbstowcs.3:58
+#: build/C/man3/getsubopt.3:98
 msgid ""
-"In order to avoid the case 2 above, the programmer should make sure I<n> is "
-"greater or equal to I<mbstowcs(NULL,src,0)+1>."
+"Each call to B<getsubopt>()  returns information about the next unprocessed "
+"suboption in I<optionp>.  The first equal sign in a suboption (if any) is "
+"interpreted as a separator between the name and the value of that "
+"suboption.  The value extends to the next comma, or (for the last suboption) "
+"to the end of the string.  If the name of the suboption matches a known name "
+"from I<tokens>, and a value string was found, B<getsubopt>()  sets "
+"I<*valuep> to the address of that string.  The first comma in I<optionp> is "
+"overwritten with a null byte, so I<*valuep> is precisely the \"value string"
+"\" for that suboption."
 msgstr ""
-"上記の 2. の場合を避けるためにプログラマーは I<n> が I<mbstowcs(NULL,"
-"src,0)+1> 以上であることを保証すべきである。"
+"B<getsubopt>()  は呼び出されるたびに、 I<optionp> 中の次の未処理のサブオプ"
+"ションの情報を返す。 サブオプション内に等号があった場合、最初の等号は そのサ"
+"ブオプションの名前と値の区切りと解釈される。 区切りから次のカンマ (最後のサブ"
+"オプションの場合、文字列の末尾)  までが、サブオプションの値となる。 サブオプ"
+"ションの名前が I<tokens> 内の名前と一致し、値を表す文字列が見つかった場合、 "
+"B<getsubopt>()  は I<*valuep> を値を表す文字列のアドレスに設定する。 "
+"I<optionp> 中の最初のカンマはヌルバイトで上書きされる。そのため、 I<*valuep> "
+"はそのサブオプションの「値の文字列」そのものとなる。"
 
 #. type: Plain text
-#: build/C/man3/mbstowcs.3:68
+#: build/C/man3/getsubopt.3:102
 msgid ""
-"The B<mbstowcs>()  function returns the number of wide characters that make "
-"up the converted part of the wide-character string, not including the "
-"terminating null wide character.  If an invalid multibyte sequence was "
-"encountered, I<(size_t)\\ -1> is returned."
+"If the suboption is recognized, but no value string was found, I<*valuep> is "
+"set to NULL."
 msgstr ""
-"B<mbstowcs>()  関数はワイド文字列に変換完了したワイド文字の数を返す。 終端の"
-"ナルワイド文字は含まない。不正なマルチバイト列に遭遇した場合には I<"
-"(size_t)\\ -1> を返す。"
+"サブオプションが認識されたが、値を表す文字列が見つからなかった場合、 "
+"*I<valuep> は NULL に設定される。"
 
 #. type: Plain text
-#: build/C/man3/mbstowcs.3:77
+#: build/C/man3/getsubopt.3:110
 msgid ""
-"The behavior of B<mbstowcs>()  depends on the B<LC_CTYPE> category of the "
-"current locale."
+"When B<getsubopt>()  returns, I<optionp> points to the next suboption, or to "
+"the null byte (\\(aq\\e0\\(aq) at the end of the string if the last "
+"suboption was just processed."
 msgstr ""
-"B<mbstowcs>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
+"B<getsubopt>()  が返る時、 I<optionp> は次のサブオプションを指している。 ちょ"
+"うど最後のサブオプションが処理された場合は、 文字列末尾のヌルバイト (\\(aq"
+"\\e0\\(aq) を指している。"
 
 #. type: Plain text
-#: build/C/man3/mbstowcs.3:82
+#: build/C/man3/getsubopt.3:122
 msgid ""
-"The function B<mbsrtowcs>(3)  provides a better interface to the same "
-"functionality."
-msgstr "B<mbsrtowcs>(3)  関数は同じ機能のより良いインターフェースを提供する。"
-
-#. type: Plain text
-#: build/C/man3/mbstowcs.3:84
-msgid "B<mbsrtowcs>(3), B<wcstombs(3)>"
-msgstr "B<mbsrtowcs>(3), B<wcstombs(3)>"
-
-#. type: TH
-#: build/C/man3/mbtowc.3:14
-#, no-wrap
-msgid "MBTOWC"
-msgstr "MBTOWC"
-
-#. type: Plain text
-#: build/C/man3/mbtowc.3:17
-msgid "mbtowc - convert a multibyte sequence to a wide character"
-msgstr "mbtowc - マルチバイト列をワイド文字に変換する"
-
-#. type: Plain text
-#: build/C/man3/mbtowc.3:22
-#, no-wrap
-msgid "B<int mbtowc(wchar_t *>I<pwc>B<, const char *>I<s>B<, size_t >I<n>B<);>\n"
-msgstr "B<int mbtowc(wchar_t *>I<pwc>B<, const char *>I<s>B<, size_t >I<n>B<);>\n"
+"If the first suboption in I<optionp> is recognized, B<getsubopt>()  returns "
+"the index of the matching suboption element in I<tokens>.  Otherwise, -1 is "
+"returned and I<*valuep> is the entire I<name>B<[=>I<value>B<]> string."
+msgstr ""
+"I<optionp> 内でサブオプションが見つかった場合、 B<getsubopt>()  は最初のサブ"
+"オプションにマッチする I<tokens> の要素の添字を返す。 見つからなかった場"
+"合、-1 を返す。この場合、 I<*valuep> は I<name>B<[=>I<value>B<]> の文字列全体"
+"となる。"
 
 #. type: Plain text
-#: build/C/man3/mbtowc.3:37
+#: build/C/man3/getsubopt.3:129
 msgid ""
-"The main case for this function is when I<s> is not NULL and I<pwc> is not "
-"NULL.  In this case, the B<mbtowc>()  function inspects at most I<n> bytes "
-"of the multibyte string starting at I<s>, extracts the next complete "
-"multibyte character, converts it to a wide character and stores it at "
-"I<*pwc>.  It updates an internal shift state only known to the mbtowc "
-"function.  If I<s> does not point to a null byte (\\(aq\\e0\\(aq), it "
-"returns the number of bytes that were consumed from I<s>, otherwise it "
-"returns 0."
+"Since I<*optionp> is changed, the first suboption before the call to "
+"B<getsubopt>()  is not (necessarily) the same as the first suboption after "
+"B<getsubopt>()."
 msgstr ""
-"この関数が用いられる場合、通常 I<s> が NULL でなく I<pwc> も NULL でない。こ"
-"の場合は B<mbtowc>()  関数は I<s> から始まる 最大 I<n> バイトのマルチバイト文"
-"字列を検査して、次の完全なマルチバイト 文字を取り出し、それをワイド文字に変換"
-"して I<*pwc> に格納する。 同時に mbtowc 関数のみが使用する内部状態を更新す"
-"る。I<s> が NULL バイト (\\(aq\\e0\\(aq) 以外を指している場合は、I<s> から消"
-"費するバイト数を返す。 I<s> が NULL バイトを指している場合には 0 を返す。"
+"I<*optionp> は変更されるので、 B<getsubopt>()  を呼び出す前の最初のサブオプ"
+"ションは B<getsubopt>()  を呼び出し後のサブオプションと必ずしも同じとは限らな"
+"い。"
 
 #. type: Plain text
-#: build/C/man3/mbtowc.3:44
-msgid ""
-"If the I<n> bytes starting at I<s> do not contain a complete multibyte "
-"character, or if they contain an invalid multibyte sequence, B<mbtowc>()  "
-"returns -1.  This can happen even if I<n> E<gt>= I<MB_CUR_MAX>, if the "
-"multibyte string contains redundant shift sequences."
-msgstr ""
-"I<s> から始まる I<n> バイトが完全なマルチバイト文字を含んで いない場合や不正"
-"なマルチバイト列を含んでいる場合には B<mbtowc>()  は -1 を返す。マルチバイト"
-"文字列に冗長なシフトシーケンスが 含まれていると I<n> E<gt>= I<MB_CUR_MAX> の"
-"場合もこのようなことが 起こりえる。"
+#: build/C/man3/getsubopt.3:134
+msgid "The B<getsubopt>()  function is thread-safe."
+msgstr "関数 B<getsubopt>() はスレッドセーフである。"
 
 #. type: Plain text
-#: build/C/man3/mbtowc.3:51
+#: build/C/man3/getsubopt.3:143
 msgid ""
-"A different case is when I<s> is not NULL but I<pwc> is NULL.  In this case "
-"the B<mbtowc>()  function behaves as above, except that it does not store "
-"the converted wide character in memory."
+"Since B<getsubopt>()  overwrites any commas it finds in the string "
+"I<*optionp>, that string must be writable; it cannot be a string constant."
 msgstr ""
-"I<s> が NULL でなく I<pwc> が NULL の場合は B<mbtowc>()  関数は 上記と同様に"
-"動作するが、変換したワイド文字はメモリには書き込まれない。"
+"B<getsubopt>()  は、文字列 *I<optionp> 中に見つけたカンマを上書きするので、文"
+"字列 I<*optionp> は書き込み可能でなければならず、 文字列定数にすることはでき"
+"ない。"
 
-#.  The Dinkumware doc and the Single UNIX specification say this, but
-#.  glibc doesn't implement this.
 #. type: Plain text
-#: build/C/man3/mbtowc.3:64
-msgid ""
-"A third case is when I<s> is NULL.  In this case, I<pwc> and I<n> are "
-"ignored.  The B<mbtowc>()  function resets the shift state, only known to "
-"this function, to the initial state, and returns nonzero if the encoding has "
-"nontrivial shift state, or zero if the encoding is stateless."
+#: build/C/man3/getsubopt.3:145
+msgid "The following program expects suboptions following a \"-o\" option."
 msgstr ""
-"三番目の場合として I<s> が NULL の場合は I<pwc> と I<n> は 無視される。 "
-"B<mbtowc>()  関数のみが使用するシフト状態は初期状態に 戻される。そして文字符"
-"号がシフト状態に依存するならばゼロ以外を、文字符号が 状態によらないならばゼロ"
-"を返す。"
+"以下のプログラムは \"-o\" オプションに続いてサブオプションがあることを 期待し"
+"ている。"
 
 #. type: Plain text
-#: build/C/man3/mbtowc.3:70
+#: build/C/man3/getsubopt.3:151
+#, no-wrap
 msgid ""
-"If I<s> is not NULL, the B<mbtowc>()  function returns the number of "
-"consumed bytes starting at I<s>, or 0 if I<s> points to a null byte, or -1 "
-"upon failure."
+"#define _XOPEN_SOURCE 500\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>assert.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
 msgstr ""
-"I<s> が NULL でなければ B<mbtowc>()  関数は I<s> から消費した バイト数を、"
-"I<s> がナル文字を指している場合はゼロを、 変換に失敗した場合は -1 を返す。"
+"#define _XOPEN_SOURCE 500\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>assert.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
 
 #. type: Plain text
-#: build/C/man3/mbtowc.3:76
+#: build/C/man3/getsubopt.3:169
+#, no-wrap
 msgid ""
-"If I<s> is NULL, the B<mbtowc>()  function returns nonzero if the encoding "
+"int\n"
+"main(int argc, char **argv)\n"
+"{\n"
+"    enum {\n"
+"        RO_OPT = 0,\n"
+"        RW_OPT,\n"
+"        NAME_OPT\n"
+"    };\n"
+"    char *const token[] = {\n"
+"        [RO_OPT]   = \"ro\",\n"
+"        [RW_OPT]   = \"rw\",\n"
+"        [NAME_OPT] = \"name\",\n"
+"        NULL\n"
+"    };\n"
+"    char *subopts;\n"
+"    char *value;\n"
+"    int opt;\n"
+msgstr ""
+"int\n"
+"main(int argc, char **argv)\n"
+"{\n"
+"    enum {\n"
+"        RO_OPT = 0,\n"
+"        RW_OPT,\n"
+"        NAME_OPT\n"
+"    };\n"
+"    char *const token[] = {\n"
+"        [RO_OPT]   = \"ro\",\n"
+"        [RW_OPT]   = \"rw\",\n"
+"        [NAME_OPT] = \"name\",\n"
+"        NULL\n"
+"    };\n"
+"    char *subopts;\n"
+"    char *value;\n"
+"    int opt;\n"
+
+#. type: Plain text
+#: build/C/man3/getsubopt.3:174
+#, no-wrap
+msgid ""
+"    int readonly = 0;\n"
+"    int readwrite = 0;\n"
+"    char *name = NULL;\n"
+"    int errfnd = 0;\n"
+msgstr ""
+"    int readonly = 0;\n"
+"    int readwrite = 0;\n"
+"    char *name = NULL;\n"
+"    int errfnd = 0;\n"
+
+#. type: Plain text
+#: build/C/man3/getsubopt.3:180
+#, no-wrap
+msgid ""
+"    while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
+"        switch (opt) {\n"
+"        case \\(aqo\\(aq:\n"
+"            subopts = optarg;\n"
+"            while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
+msgstr ""
+"    while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
+"        switch (opt) {\n"
+"        case \\(aqo\\(aq:\n"
+"            subopts = optarg;\n"
+"            while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
+
+#. type: Plain text
+#: build/C/man3/getsubopt.3:185
+#, no-wrap
+msgid ""
+"            switch (getsubopt(&subopts, token, &value)) {\n"
+"            case RO_OPT:\n"
+"                readonly = 1;\n"
+"                break;\n"
+msgstr ""
+"            switch (getsubopt(&subopts, token, &value)) {\n"
+"            case RO_OPT:\n"
+"                readonly = 1;\n"
+"                break;\n"
+
+#. type: Plain text
+#: build/C/man3/getsubopt.3:189
+#, no-wrap
+msgid ""
+"            case RW_OPT:\n"
+"                readwrite = 1;\n"
+"                break;\n"
+msgstr ""
+"            case RW_OPT:\n"
+"                readwrite = 1;\n"
+"                break;\n"
+
+#. type: Plain text
+#: build/C/man3/getsubopt.3:197
+#, no-wrap
+msgid ""
+"            case NAME_OPT:\n"
+"                if (value == NULL) {\n"
+"                    fprintf(stderr, \"Missing value for \"\n"
+"                            \"suboption \\(aq%s\\(aq\\en\", token[NAME_OPT]);\n"
+"                    errfnd = 1;\n"
+"                    continue;\n"
+"                }\n"
+msgstr ""
+"            case NAME_OPT:\n"
+"                if (value == NULL) {\n"
+"                    fprintf(stderr, \"Missing value for \"\n"
+"                            \"suboption \\(aq%s\\(aq\\en\", token[NAME_OPT]);\n"
+"                    errfnd = 1;\n"
+"                    continue;\n"
+"                }\n"
+
+#. type: Plain text
+#: build/C/man3/getsubopt.3:200
+#, no-wrap
+msgid ""
+"                name = value;\n"
+"                break;\n"
+msgstr ""
+"                name = value;\n"
+"                break;\n"
+
+#. type: Plain text
+#: build/C/man3/getsubopt.3:214
+#, no-wrap
+msgid ""
+"            default:\n"
+"                fprintf(stderr, \"No match found \"\n"
+"                        \"for token: /%s/\\en\", value);\n"
+"                errfnd = 1;\n"
+"                break;\n"
+"            }\n"
+"        }\n"
+"        if (readwrite && readonly) {\n"
+"            fprintf(stderr, \"Only one of \\(aq%s\\(aq and \\(aq%s\\(aq can be \"\n"
+"                    \"specified\\en\", token[RO_OPT], token[RW_OPT]);\n"
+"            errfnd = 1;\n"
+"        }\n"
+"        break;\n"
+msgstr ""
+"            default:\n"
+"                fprintf(stderr, \"No match found \"\n"
+"                        \"for token: /%s/\\en\", value);\n"
+"                errfnd = 1;\n"
+"                break;\n"
+"            }\n"
+"        }\n"
+"        if (readwrite && readonly) {\n"
+"            fprintf(stderr, \"Only one of \\(aq%s\\(aq and \\(aq%s\\(aq can be \"\n"
+"                    \"specified\\en\", token[RO_OPT], token[RW_OPT]);\n"
+"            errfnd = 1;\n"
+"        }\n"
+"        break;\n"
+
+#. type: Plain text
+#: build/C/man3/getsubopt.3:219
+#, no-wrap
+msgid ""
+"        default:\n"
+"            errfnd = 1;\n"
+"        }\n"
+"    }\n"
+msgstr ""
+"        default:\n"
+"            errfnd = 1;\n"
+"        }\n"
+"    }\n"
+
+#. type: Plain text
+#: build/C/man3/getsubopt.3:226
+#, no-wrap
+msgid ""
+"    if (errfnd || argc == 1) {\n"
+"        fprintf(stderr, \"\\enUsage: %s -o E<lt>suboptstringE<gt>\\en\", argv[0]);\n"
+"        fprintf(stderr, \"suboptions are \\(aqro\\(aq, \\(aqrw\\(aq, \"\n"
+"                \"and \\(aqname=E<lt>valueE<gt>\\(aq\\en\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+msgstr ""
+"    if (errfnd || argc == 1) {\n"
+"        fprintf(stderr, \"\\enUsage: %s -o E<lt>suboptstringE<gt>\\en\", argv[0]);\n"
+"        fprintf(stderr, \"suboptions are \\(aqro\\(aq, \\(aqrw\\(aq, \"\n"
+"                \"and \\(aqname=E<lt>valueE<gt>\\(aq\\en\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+
+#. type: Plain text
+#: build/C/man3/getsubopt.3:228
+#, no-wrap
+msgid "    /* Remainder of program... */\n"
+msgstr "    /* Remainder of program... */\n"
+
+#. type: Plain text
+#: build/C/man3/getsubopt.3:234
+msgid "B<getopt>(3)"
+msgstr "B<getopt>(3)"
+
+#. type: TH
+#: build/C/man3/malloc.3:33
+#, no-wrap
+msgid "MALLOC"
+msgstr "MALLOC"
+
+#. type: TH
+#: build/C/man3/malloc.3:33
+#, no-wrap
+msgid "2014-05-21"
+msgstr "2014-05-21"
+
+#. type: Plain text
+#: build/C/man3/malloc.3:36
+msgid "malloc, free, calloc, realloc - allocate and free dynamic memory"
+msgstr "malloc, free, calloc, realloc - 動的なメモリの割り当てと解放を行う"
+
+#. type: Plain text
+#: build/C/man3/malloc.3:44
+#, no-wrap
+msgid ""
+"B<void *malloc(size_t >I<size>B<);>\n"
+"B<void free(void >I<*ptr>B<);>\n"
+"B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
+"B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
+msgstr ""
+"B<void *malloc(size_t >I<size>B<);>\n"
+"B<void free(void >I<*ptr>B<);>\n"
+"B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
+"B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
+
+#.  glibc does this:
+#. type: Plain text
+#: build/C/man3/malloc.3:61
+msgid ""
+"The B<malloc>()  function allocates I<size> bytes and returns a pointer to "
+"the allocated memory.  I<The memory is not initialized>.  If I<size> is 0, "
+"then B<malloc>()  returns either NULL, or a unique pointer value that can "
+"later be successfully passed to B<free>()."
+msgstr ""
+"B<malloc>() 関数は I<size> バイトを割り当て、 割り当てられたメモリに対する\n"
+"ポインタを返す。I<メモリの内容は初期化されない>。 I<size> が 0 の場合、\n"
+"B<malloc>() は NULL または B<free>() に後で渡しても問題の起こらない\n"
+"一意なポインタ値を返す。"
+
+#. type: Plain text
+#: build/C/man3/malloc.3:77
+msgid ""
+"The B<free>()  function frees the memory space pointed to by I<ptr>, which "
+"must have been returned by a previous call to B<malloc>(), B<calloc>()  or "
+"B<realloc>().  Otherwise, or if I<free(ptr)> has already been called before, "
+"undefined behavior occurs.  If I<ptr> is NULL, no operation is performed."
+msgstr ""
+"B<free>() 関数はポインタ I<ptr> が指すメモリ空間を解放する。このポインタ"
+"は、\n"
+"以前に呼び出された B<malloc>(), B<calloc>(), B<realloc>() のいずれかが返した"
+"値で\n"
+"なければならない。これ以外のポインタを指定したり、すでに I<free(ptr)> が実"
+"行\n"
+"されていたりした場合の動作は定義されていない。\n"
+"I<ptr> が NULL の場合には、何の動作も行われない。"
+
+#.  glibc does this:
+#. type: Plain text
+#: build/C/man3/malloc.3:96
+msgid ""
+"The B<calloc>()  function allocates memory for an array of I<nmemb> elements "
+"of I<size> bytes each and returns a pointer to the allocated memory.  The "
+"memory is set to zero.  If I<nmemb> or I<size> is 0, then B<calloc>()  "
+"returns either NULL, or a unique pointer value that can later be "
+"successfully passed to B<free>()."
+msgstr ""
+"B<calloc>() 関数は I<size> バイトの要素 I<nmemb> 個からなる配列にメモリを\n"
+"割り当て、割り当てられたメモリに対するポインタを返す。 メモリの内容は数値ゼ"
+"ロ\n"
+"(全ビットが 0 のバイト) にセットされる。 I<nmemb> か I<size> が 0 の場合、\n"
+"B<calloc>() は NULL または B<free>() に後で渡しても問題の起こらない一意な\n"
+"ポインタ値を返す。"
+
+#. type: Plain text
+#: build/C/man3/malloc.3:132
+msgid ""
+"The B<realloc>()  function changes the size of the memory block pointed to "
+"by I<ptr> to I<size> bytes.  The contents will be unchanged in the range "
+"from the start of the region up to the minimum of the old and new sizes.  If "
+"the new size is larger than the old size, the added memory will I<not> be "
+"initialized.  If I<ptr> is NULL, then the call is equivalent to "
+"I<malloc(size)>, for all values of I<size>; if I<size> is equal to zero, and "
+"I<ptr> is not NULL, then the call is equivalent to I<free(ptr)>.  Unless "
+"I<ptr> is NULL, it must have been returned by an earlier call to "
+"B<malloc>(), B<calloc>()  or B<realloc>().  If the area pointed to was "
+"moved, a I<free(ptr)> is done."
+msgstr ""
+"B<realloc>() は、ポインタ I<ptr> が示すメモリブロックのサイズを I<size> バイ"
+"ト\n"
+"に変更する。領域の先頭から、新旧のサイズの小さい方の位置までの範囲の内容は\n"
+"変更されない。新しいサイズが前のサイズよりも大きい場合、追加されたメモリは\n"
+"初期化 I<されない>。\n"
+"I<ptr> が NULL の場合には I<malloc(size)> と等価である。\n"
+"I<size> が 0 で I<ptr> が NULL でない場合には、 I<free(ptr)> と等価である。\n"
+"I<ptr> が NULL 以外の場合、 I<ptr> は以前に呼び出された B<malloc>(), "
+"B<calloc>(),\n"
+"B<realloc>() のいずれかが返した値でなければならない。\n"
+"I<ptr> が指す領域が移動されていた場合は I<free(ptr)> が実行される。"
+
+#. type: Plain text
+#: build/C/man3/malloc.3:152
+msgid ""
+"The B<malloc>()  and B<calloc>()  functions return a pointer to the "
+"allocated memory, which is suitably aligned for any built-in type.  On "
+"error, these functions return NULL.  NULL may also be returned by a "
+"successful call to B<malloc>()  with a I<size> of zero, or by a successful "
+"call to B<calloc>()  with I<nmemb> or I<size> equal to zero."
+msgstr ""
+"関数 B<calloc>() と B<malloc>() は、割り当てられたメモリへのポインタを返す。 "
+"割り当てられたメモリは、あらゆる組み込み型に対応できるようにアラインメントさ"
+"れる。 エラーの場合、これらの関数は NULL を返す。 I<size> が 0 で呼び出した "
+"B<malloc>() や、I<nmemb> か I<size> が 0 で呼び出した B<calloc>() が成功した"
+"場合にも NULL が返される。"
+
+#. type: Plain text
+#: build/C/man3/malloc.3:156
+msgid "The B<free>()  function returns no value."
+msgstr "B<free>() 関数は値を返さない。"
+
+#. type: Plain text
+#: build/C/man3/malloc.3:171
+msgid ""
+"The B<realloc>()  function returns a pointer to the newly allocated memory, "
+"which is suitably aligned for any built-in type and may be different from "
+"I<ptr>, or NULL if the request fails.  If I<size> was equal to 0, either "
+"NULL or a pointer suitable to be passed to B<free>()  is returned.  If "
+"B<realloc>()  fails, the original block is left untouched; it is not freed "
+"or moved."
+msgstr ""
+"B<realloc>() 関数は新たに割り当てられたメモリへのポインタを返す。 これはあら"
+"ゆる組み込み型に対応できるようにアラインメントされており、 I<ptr> とは異なる"
+"こともある。割り当て要求に失敗した場合は NULL が返る。 I<size> が 0 の場合に"
+"は、NULL もしくは B<free>() に渡すことができるポインタが返る。 B<realloc>() "
+"が失敗した場合には、元のブロックは変更されない。 つまり、解放されたり移動され"
+"たりはしない。"
+
+#. type: Plain text
+#: build/C/man3/malloc.3:173
+msgid "C89, C99."
+msgstr "C89, C99."
+
+#. type: Plain text
+#: build/C/man3/malloc.3:189
+msgid ""
+"By default, Linux follows an optimistic memory allocation strategy.  This "
+"means that when B<malloc>()  returns non-NULL there is no guarantee that the "
+"memory really is available.  In case it turns out that the system is out of "
+"memory, one or more processes will be killed by the OOM killer.  For more "
+"information, see the description of I</proc/sys/vm/overcommit_memory> and I</"
+"proc/sys/vm/oom_adj> in B<proc>(5), and the Linux kernel source file "
+"I<Documentation/vm/overcommit-accounting>."
+msgstr ""
+"デフォルトでは、Linux は楽観的メモリ配置戦略を用いている。つまり、\n"
+"B<malloc>() が NULL でない値を返しても、そのメモリが実際に利用可能であるこ"
+"と\n"
+"が保証されない。システムがメモリ不足状態になったとき、メモリ不足解決器 (OOM\n"
+"killer) によって一つまたは複数のプロセスが削除される。\n"
+"詳しい情報は、B<proc>(5) の I</proc/sys/vm/overcommit_memory> と\n"
+"I<proc/sys/vm/oom_adj>、および Linux カーネルのソースファイルの\n"
+"I<Documentation/vm/overcommit-accounting> を参照のこと。"
+
+#. type: Plain text
+#: build/C/man3/malloc.3:210
+msgid ""
+"Normally, B<malloc>()  allocates memory from the heap, and adjusts the size "
+"of the heap as required, using B<sbrk>(2).  When allocating blocks of memory "
+"larger than B<MMAP_THRESHOLD> bytes, the glibc B<malloc>()  implementation "
+"allocates the memory as a private anonymous mapping using B<mmap>(2).  "
+"B<MMAP_THRESHOLD> is 128 kB by default, but is adjustable using "
+"B<mallopt>(3).  Allocations performed using B<mmap>(2)  are unaffected by "
+"the B<RLIMIT_DATA> resource limit (see B<getrlimit>(2))."
+msgstr ""
+"通常、 B<malloc>()  は、ヒープからメモリを割り当て、必要に応じてヒープのサイ"
+"ズを B<sbrk>(2)  を使って調節する。 B<MMAP_THRESHOLD> バイトよりも大きなメモ"
+"リブロックを割り当てる場合、 glibc の B<malloc>()  実装は B<mmap>(2)  を使っ"
+"てプライベートな無名マッピング (anonymous mapping) として メモリを割り当て"
+"る。 デフォルトでは B<MMAP_THRESHOLD> は 128 kB だが、 B<mallopt>(3)  を使っ"
+"て調整できる。 B<mmap>(2)  を使って行われたメモリ割り当ては B<RLIMIT_DATA> リ"
+"ソース上限の影響を受けない (B<getrlimit>(2)  参照)。"
+
+#. type: Plain text
+#: build/C/man3/malloc.3:228
+msgid ""
+"To avoid corruption in multithreaded applications, mutexes are used "
+"internally to protect the memory-management data structures employed by "
+"these functions.  In a multithreaded application in which threads "
+"simultaneously allocate and free memory, there could be contention for these "
+"mutexes.  To scalably handle memory allocation in multithreaded "
+"applications, glibc creates additional I<memory allocation arenas> if mutex "
+"contention is detected.  Each arena is a large region of memory that is "
+"internally allocated by the system (using B<brk>(2)  or B<mmap>(2)), and "
+"managed with its own mutexes."
+msgstr ""
+"マルチスレッドアプリケーションでのデータ破損を回避するため、内部では mutex"
+"を\n"
+"使用して、これらの関数で利用されるメモリ管理用のデータ構造を保護している。\n"
+"複数のスレッドが同時にメモリの確保や解放を行うようなマルチスレッドアプリ"
+"ケー\n"
+"ションでは、これらの mutex の衝突が起こり得る。マルチスレッドアプリケーショ"
+"ン\n"
+"でのメモリ割り当て処理にスケーラビリティを持たせるために、glibc では mutex "
+"の\n"
+"衝突が検出された際には追加の I<メモリ割り当て領域> を作成する。\n"
+"追加領域の各々は、(B<brk>(2) や B<mmap>(2) を使って) システムにより内部的に\n"
+"割り当てられた大きな領域で、それぞれ独自の mutex により管理されている。"
+
+#. type: Plain text
+#: build/C/man3/malloc.3:246
+msgid ""
+"The UNIX 98 standard requires B<malloc>(), B<calloc>(), and B<realloc>()  to "
+"set I<errno> to B<ENOMEM> upon failure.  Glibc assumes that this is done "
+"(and the glibc versions of these routines do this); if you use a private "
+"malloc implementation that does not set I<errno>, then certain library "
+"routines may fail without having a reason in I<errno>."
+msgstr ""
+"UNIX 98 標準では、 B<malloc>(), B<calloc>(), B<realloc>() は実行に失敗したと"
+"きに I<errno> を B<ENOMEM> に設定することになっている。 Glibc ではこれが守ら"
+"れていることを仮定している (またこれらのルーチンの glibc バージョンはこのこと"
+"を守っている)。 個人的に別の malloc の実装を使っていて、その malloc が"
+"I<errno> を設定しない場合には、失敗した際に I<errno> にエラーの理由を設定しな"
+"いライブラリルーチンがあるかもしれない。"
+
+#. type: Plain text
+#: build/C/man3/malloc.3:255
+msgid ""
+"Crashes in B<malloc>(), B<calloc>(), B<realloc>(), or B<free>()  are almost "
+"always related to heap corruption, such as overflowing an allocated chunk or "
+"freeing the same pointer twice."
+msgstr ""
+"B<malloc>(), B<calloc>(), B<realloc>(), B<free>()  における事故は、 ほとんど"
+"の場合はヒープの破壊 (corruption) が原因である。 例えば、割り当てられた領域を"
+"オーバーフローする、 同じポインタに二度 free する、などがこれにあたる。"
+
+#. type: Plain text
+#: build/C/man3/malloc.3:261
+msgid ""
+"The B<malloc>()  implementation is tunable via environment variables; see "
+"B<mallopt>(3)  for details."
+msgstr ""
+"B<malloc> 実装は、環境変数で動作を調整できる。 詳細は B<mallopt>(3) を参照の"
+"こと。"
+
+#. type: Plain text
+#: build/C/man3/malloc.3:285
+msgid ""
+"B<brk>(2), B<mmap>(2), B<alloca>(3), B<malloc_get_state>(3), "
+"B<malloc_info>(3), B<malloc_trim>(3), B<malloc_usable_size>(3), "
+"B<mallopt>(3), B<mcheck>(3), B<mtrace>(3), B<posix_memalign>(3)"
+msgstr ""
+"B<brk>(2), B<mmap>(2), B<alloca>(3), B<malloc_get_state>(3), "
+"B<malloc_info>(3), B<malloc_trim>(3), B<malloc_usable_size>(3), "
+"B<mallopt>(3), B<mcheck>(3), B<mtrace>(3), B<posix_memalign>(3)"
+
+#. type: TH
+#: build/C/man3/mblen.3:16
+#, no-wrap
+msgid "MBLEN"
+msgstr "MBLEN"
+
+#. type: Plain text
+#: build/C/man3/mblen.3:19
+msgid "mblen - determine number of bytes in next multibyte character"
+msgstr "mblen - 次のマルチバイト文字のバイト数を返す"
+
+#. type: Plain text
+#: build/C/man3/mblen.3:24
+#, no-wrap
+msgid "B<int mblen(const char *>I<s>B<, size_t >I<n>B<);>\n"
+msgstr "B<int mblen(const char *>I<s>B<, size_t >I<n>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/mblen.3:43
+msgid ""
+"If I<s> is not NULL, the B<mblen>()  function inspects at most I<n> bytes of "
+"the multibyte string starting at I<s> and extracts the next complete "
+"multibyte character.  It uses a static anonymous shift state known only to "
+"the B<mblen>()  function.  If the multibyte character is not the null wide "
+"character, it returns the number of bytes that were consumed from I<s>.  If "
+"the multibyte character is the null wide character, it returns 0."
+msgstr ""
+"I<s> が NULL でなければ、 B<mblen>()  関数は I<s> から始まる最大 I<n> バイト"
+"のマルチバイト文字列を検査して、 次の完全なマルチバイト文字を取り出す。これに"
+"は B<mblen>()  関数のみが使用する静的で名前のないシフト状態が使用される。 マ"
+"ルチバイト文字がヌルワイド文字でなければ I<s> から消費される バイト数を返す。"
+"マルチバイト文字がヌルワイド文字ならば 0 を返す。"
+
+#. type: Plain text
+#: build/C/man3/mblen.3:57
+msgid ""
+"If the I<n> bytes starting at I<s> do not contain a complete multibyte "
+"character, B<mblen>()  returns -1.  This can happen even if I<n> is greater "
+"than or equal to I<MB_CUR_MAX>, if the multibyte string contains redundant "
+"shift sequences."
+msgstr ""
+"I<s> から始まる I<n> バイトが完全なマルチバイト文字を含んで いなければ、 "
+"B<mblen>()  は -1 を返す。マルチバイト文字列 に冗長なシフトシーケンスが含まれ"
+"ていると、 I<n> が I<MB_CUR_MAX> 以上の場合にも このようなことが起こりえる。"
+
+#. type: Plain text
+#: build/C/man3/mblen.3:64
+msgid ""
+"If the multibyte string starting at I<s> contains an invalid multibyte "
+"sequence before the next complete character, B<mblen>()  also returns -1."
+msgstr ""
+"I<s> から始まるマルチバイト文字列が次の完全な文字の前に 不正なマルチバイト列"
+"を含んでいる場合にも、 B<mblen>()  は -1 を返す。"
+
+#.  The Dinkumware doc and the Single UNIX specification say this, but
+#.  glibc doesn't implement this.
+#. type: Plain text
+#: build/C/man3/mblen.3:75
+msgid ""
+"If I<s> is NULL, the B<mblen>()  function resets the shift state, known to "
+"only this function, to the initial state, and returns nonzero if the "
+"encoding has nontrivial shift state, or zero if the encoding is stateless."
+msgstr ""
+"I<s> が NULL ならば、 B<mblen>()  関数はこの関数のみが 使用するシフト状態を初"
+"期化状態に戻し、シフト状態を使用した文字符号の場合に はゼロ以外を、文字符号が"
+"シフト状態を持たない場合にはゼロを返す。"
+
+#. type: Plain text
+#: build/C/man3/mblen.3:87
+msgid ""
+"The B<mblen>()  function returns the number of bytes parsed from the "
+"multibyte sequence starting at I<s>, if a non-null wide character was "
+"recognized.  It returns 0, if a null wide character was recognized.  It "
+"returns -1, if an invalid multibyte sequence was encountered or if it "
+"couldn't parse a complete multibyte character."
+msgstr ""
+"B<mblen>()  関数は I<s> から始まるマルチバイト列を検査して ヌルワイド文字以外"
+"を確認した場合にはそのバイト数を返す。 ヌルワイド文字を確認した場合にはゼロを"
+"返す。不正なマルチバイト列に 遭遇した場合や完全なマルチバイト文字を解析できな"
+"かった場合には -1 を返す。"
+
+#. type: Plain text
+#: build/C/man3/mblen.3:92
+msgid "The B<mblen>()  function is not thread-safe."
+msgstr "B<mblen>() 関数はスレッドセーフではない。"
+
+#. type: Plain text
+#: build/C/man3/mblen.3:94 build/C/man3/mbstowcs.3:96
+#: build/C/man3/mbtowc.3:115 build/C/man3/wcstombs.3:91
+#: build/C/man3/wctomb.3:91
+msgid "C99."
+msgstr "C99."
+
+#. type: Plain text
+#: build/C/man3/mblen.3:101
+msgid ""
+"The behavior of B<mblen>()  depends on the B<LC_CTYPE> category of the "
+"current locale."
+msgstr ""
+"B<mblen>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
+
+#. type: Plain text
+#: build/C/man3/mblen.3:106
+msgid ""
+"The function B<mbrlen>(3)  provides a better interface to the same "
+"functionality."
+msgstr "B<mbrlen>(3)  関数は同じ機能のより良いインタフェースを提供する。"
+
+#. type: Plain text
+#: build/C/man3/mblen.3:108
+msgid "B<mbrlen>(3)"
+msgstr "B<mbrlen>(3)"
+
+#. type: TH
+#: build/C/man3/mbstowcs.3:18
+#, no-wrap
+msgid "MBSTOWCS"
+msgstr "MBSTOWCS"
+
+#. type: TH
+#: build/C/man3/mbstowcs.3:18 build/C/man3/mbtowc.3:16
+#: build/C/man3/strtol.3:31 build/C/man3/strtoul.3:33
+#: build/C/man3/wcstombs.3:16 build/C/man3/wctomb.3:16
+#, no-wrap
+msgid "2014-03-18"
+msgstr "2014-03-18"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:21
+msgid "mbstowcs - convert a multibyte string to a wide-character string"
+msgstr "mbstowcs - マルチバイト文字列をワイド文字列に変換する"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:26
+#, no-wrap
+msgid "B<size_t mbstowcs(wchar_t *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
+msgstr "B<size_t mbstowcs(wchar_t *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:45
+msgid ""
+"If I<dest> is not NULL, the B<mbstowcs>()  function converts the multibyte "
+"string I<src> to a wide-character string starting at I<dest>.  At most I<n> "
+"wide characters are written to I<dest>.  The conversion starts in the "
+"initial state.  The conversion can stop for three reasons:"
+msgstr ""
+"I<dest> が NULL でなければ B<mbstowcs>()  関数は マルチバイト文字列 I<*src> "
+"を I<dest> から始まるワイド文字列に 変換する。I<dest> には最大で I<n> 文字の"
+"ワイド文字が 書き込まれる。変換は初期状態で開始され、 以下の三つのいずれかの"
+"条件で停止する:"
+
+#. type: IP
+#: build/C/man3/mbstowcs.3:45
+#, no-wrap
+msgid "1."
+msgstr "1."
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:50
+msgid ""
+"An invalid multibyte sequence has been encountered.  In this case, "
+"I<(size_t)\\ -1> is returned."
+msgstr "不正なマルチバイト列に遭遇した。この場合には I<(size_t)\\ -1> を返す。"
+
+#. type: IP
+#: build/C/man3/mbstowcs.3:50
+#, no-wrap
+msgid "2."
+msgstr "2."
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:58
+msgid ""
+"I<n> non-L\\(aq\\e0\\(aq wide characters have been stored at I<dest>.  In "
+"this case, the number of wide characters written to I<dest> is returned, but "
+"the shift state at this point is lost."
+msgstr ""
+"I<n> 文字の L\\(aq\\e0\\(aq 以外のワイド文字を I<dest> に格納した場合。 この"
+"場合は I<*src> が次に変換されるマルチバイト列を指すようにして、 I<dest> に書"
+"き込まれたワイド文字の数を返す。しかしこの指している 場所のシフト状態は失われ"
+"る。"
+
+#. type: IP
+#: build/C/man3/mbstowcs.3:58
+#, no-wrap
+msgid "3."
+msgstr "3."
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:64
+msgid ""
+"The multibyte string has been completely converted, including the "
+"terminating null wide character (\\(aq\\e0\\(aq).  In this case, the number "
+"of wide characters written to I<dest>, excluding the terminating null wide "
+"character, is returned."
+msgstr ""
+"マルチバイト文字列が終端のヌルワイド文字 (\\(aq\\e0\\(aq) まで含めて完全に 変"
+"換された場合。この場合は終端のヌルワイド文字を除いて I<dest> に書き込まれた文"
+"字数を返す。"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:70
+msgid ""
+"The programmer must ensure that there is room for at least I<n> wide "
+"characters at I<dest>."
+msgstr ""
+"プログラマーは I<dest> に最低でも I<n> ワイド文字を書き込むこ とができる空間"
+"があることを保証しなければならない。"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:78
+msgid ""
+"If I<dest> is NULL, I<n> is ignored, and the conversion proceeds as above, "
+"except that the converted wide characters are not written out to memory, and "
+"that no length limit exists."
+msgstr ""
+"I<dest> が NULL の場合、I<n> は無視され、上記と同様の変換が 行われるが、変換"
+"されたワイド文字はメモリに書き込まれず、変換先の上限 が存在しない。"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:84
+msgid ""
+"In order to avoid the case 2 above, the programmer should make sure I<n> is "
+"greater than or equal to I<mbstowcs(NULL,src,0)+1>."
+msgstr ""
+"上記の 2. の場合を避けるためにプログラマーは I<n> が I<mbstowcs(NULL,"
+"src,0)+1> 以上であることを保証すべきである。"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:94
+msgid ""
+"The B<mbstowcs>()  function returns the number of wide characters that make "
+"up the converted part of the wide-character string, not including the "
+"terminating null wide character.  If an invalid multibyte sequence was "
+"encountered, I<(size_t)\\ -1> is returned."
+msgstr ""
+"B<mbstowcs>()  関数はワイド文字列に変換完了したワイド文字の数を返す。 終端の"
+"ヌルワイド文字は含まない。不正なマルチバイト列に遭遇した場合には "
+"I<(size_t)\\ -1> を返す。"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:103
+msgid ""
+"The behavior of B<mbstowcs>()  depends on the B<LC_CTYPE> category of the "
+"current locale."
+msgstr ""
+"B<mbstowcs>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:108
+msgid ""
+"The function B<mbsrtowcs>(3)  provides a better interface to the same "
+"functionality."
+msgstr "B<mbsrtowcs>(3)  関数は同じ機能のより良いインターフェースを提供する。"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:113
+msgid ""
+"The program below illustrates the use of B<mbstowcs>(), as well as some of "
+"the wide character classification functions.  An example run is the "
+"following:"
+msgstr ""
+"下記のプログラムは B<mbstowcs>() といくつかのワイド文字分類関数の使用方法を示"
+"したものである。実行例は以下のようになる。"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:120
+#, no-wrap
+msgid ""
+"$ ./t_mbstowcs de_DE.UTF-8 Grüße!\n"
+"Length of source string (excluding terminator):\n"
+"    8 bytes\n"
+"    6 multibyte characters\n"
+msgstr ""
+"$ ./t_mbstowcs de_DE.UTF-8 Grüße!\n"
+"Length of source string (excluding terminator):\n"
+"    8 bytes\n"
+"    6 multibyte characters\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:128
+#, no-wrap
+msgid ""
+"Wide character string is: Grüße! (6 characters)\n"
+"    G alpha upper\n"
+"    r alpha lower\n"
+"    ü alpha lower\n"
+"    ß alpha lower\n"
+"    e alpha lower\n"
+"    ! !alpha\n"
+msgstr ""
+"Wide character string is: Grüße! (6 characters)\n"
+"    G alpha upper\n"
+"    r alpha lower\n"
+"    ü alpha lower\n"
+"    ß alpha lower\n"
+"    e alpha lower\n"
+"    ! !alpha\n"
+
+#. type: SS
+#: build/C/man3/mbstowcs.3:130 build/C/man3/strtol.3:248
+#, no-wrap
+msgid "Program source"
+msgstr "プログラムのソース"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:137
+#, no-wrap
+msgid ""
+"#include E<lt>locale.hE<gt>\n"
+"#include E<lt>wchar.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+msgstr ""
+"#include E<lt>locale.hE<gt>\n"
+"#include E<lt>wchar.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:144
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    size_t mbslen;      /* Number of multibyte characters in source */\n"
+"    wchar_t *wcs;       /* Pointer to converted wide character string */\n"
+"    wchar_t *wp;\n"
+msgstr ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    size_t mbslen;      /* Number of multibyte characters in source */\n"
+"    wchar_t *wcs;       /* Pointer to converted wide character string */\n"
+"    wchar_t *wp;\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:149
+#, no-wrap
+msgid ""
+"    if (argc E<lt> 3) {\n"
+"        fprintf(stderr, \"Usage: %s E<lt>localeE<gt> E<lt>stringE<gt>\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+msgstr ""
+"    if (argc E<lt> 3) {\n"
+"        fprintf(stderr, \"Usage: %s E<lt>localeE<gt> E<lt>stringE<gt>\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:151
+#, no-wrap
+msgid "    /* Apply the specified locale */\n"
+msgstr "    /* Apply the specified locale */\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:156
+#, no-wrap
+msgid ""
+"    if (setlocale(LC_ALL, argv[1]) == NULL) {\n"
+"        perror(\"setlocale\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+msgstr ""
+"    if (setlocale(LC_ALL, argv[1]) == NULL) {\n"
+"        perror(\"setlocale\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:159
+#, no-wrap
+msgid ""
+"    /* Calculate the length required to hold argv[2] converted to\n"
+"       a wide character string */\n"
+msgstr ""
+"    /* Calculate the length required to hold argv[2] converted to\n"
+"       a wide character string */\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:165
+#, no-wrap
+msgid ""
+"    mbslen = mbstowcs(NULL, argv[2], 0);\n"
+"    if (mbslen == (size_t) -1) {\n"
+"        perror(\"mbstowcs\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+msgstr ""
+"    mbslen = mbstowcs(NULL, argv[2], 0);\n"
+"    if (mbslen == (size_t) -1) {\n"
+"        perror(\"mbstowcs\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:167
+#, no-wrap
+msgid "    /* Describe the source string to the user */\n"
+msgstr "    /* Describe the source string to the user */\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:171
+#, no-wrap
+msgid ""
+"    printf(\"Length of source string (excluding terminator):\\en\");\n"
+"    printf(\"    %zu bytes\\en\", strlen(argv[2]));\n"
+"    printf(\"    %zu multibyte characters\\en\\en\", mbslen);\n"
+msgstr ""
+"    printf(\"Length of source string (excluding terminator):\\en\");\n"
+"    printf(\"    %zu bytes\\en\", strlen(argv[2]));\n"
+"    printf(\"    %zu multibyte characters\\en\\en\", mbslen);\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:174
+#, no-wrap
+msgid ""
+"    /* Allocate wide character string of the desired size.  Add 1\n"
+"       to allow for terminating null wide character (L\\(aq\\e0\\(aq). */\n"
+msgstr ""
+"    /* Allocate wide character string of the desired size.  Add 1\n"
+"       to allow for terminating null wide character (L\\(aq\\e0\\(aq). */\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:180
+#, no-wrap
+msgid ""
+"    wcs = calloc(mbslen + 1, sizeof(wchar_t));\n"
+"    if (wcs == NULL) {\n"
+"        perror(\"calloc\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+msgstr ""
+"    wcs = calloc(mbslen + 1, sizeof(wchar_t));\n"
+"    if (wcs == NULL) {\n"
+"        perror(\"calloc\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:183
+#, no-wrap
+msgid ""
+"    /* Convert the multibyte character string in argv[2] to a\n"
+"       wide character string */\n"
+msgstr ""
+"    /* Convert the multibyte character string in argv[2] to a\n"
+"       wide character string */\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:188
+#, no-wrap
+msgid ""
+"    if (mbstowcs(wcs, argv[2], mbslen + 1) == (size_t) -1) {\n"
+"        perror(\"mbstowcs\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+msgstr ""
+"    if (mbstowcs(wcs, argv[2], mbslen + 1) == (size_t) -1) {\n"
+"        perror(\"mbstowcs\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:191
+#, no-wrap
+msgid ""
+"    printf(\"Wide character string is: %ls (%zu characters)\\en\",\n"
+"            wcs, mbslen);\n"
+msgstr ""
+"    printf(\"Wide character string is: %ls (%zu characters)\\en\",\n"
+"            wcs, mbslen);\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:194
+#, no-wrap
+msgid ""
+"    /* Now do some inspection of the classes of the characters in\n"
+"       the wide character string */\n"
+msgstr ""
+"    /* Now do some inspection of the classes of the characters in\n"
+"       the wide character string */\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:197
+#, no-wrap
+msgid ""
+"    for (wp = wcs; *wp != 0; wp++) {\n"
+"        printf(\"    %lc \", (wint_t) *wp);\n"
+msgstr ""
+"    for (wp = wcs; *wp != 0; wp++) {\n"
+"        printf(\"    %lc \", (wint_t) *wp);\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:201
+#, no-wrap
+msgid ""
+"        if (!iswalpha(*wp))\n"
+"            printf(\"!\");\n"
+"        printf(\"alpha \");\n"
+msgstr ""
+"        if (!iswalpha(*wp))\n"
+"            printf(\"!\");\n"
+"        printf(\"alpha \");\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:205
+#, no-wrap
+msgid ""
+"        if (iswalpha(*wp)) {\n"
+"            if (iswupper(*wp))\n"
+"                printf(\"upper \");\n"
+msgstr ""
+"        if (iswalpha(*wp)) {\n"
+"            if (iswupper(*wp))\n"
+"                printf(\"upper \");\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:209
+#, no-wrap
+msgid ""
+"            if (iswlower(*wp))\n"
+"                printf(\"lower \");\n"
+"        }\n"
+msgstr ""
+"            if (iswlower(*wp))\n"
+"                printf(\"lower \");\n"
+"        }\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:212
+#, no-wrap
+msgid ""
+"        putchar(\\(aq\\en\\(aq);\n"
+"    }\n"
+msgstr ""
+"        putchar(\\(aq\\en\\(aq);\n"
+"    }\n"
+
+#. type: Plain text
+#: build/C/man3/mbstowcs.3:222
+msgid ""
+"B<mblen>(3), B<mbsrtowcs>(3), B<mbtowc>(3), B<wctomb>(3), B<wcstombs>(3)"
+msgstr ""
+"B<mblen>(3), B<mbsrtowcs>(3), B<mbtowc>(3), B<wctomb>(3), B<wcstombs>(3)"
+
+#. type: TH
+#: build/C/man3/mbtowc.3:16
+#, no-wrap
+msgid "MBTOWC"
+msgstr "MBTOWC"
+
+#. type: Plain text
+#: build/C/man3/mbtowc.3:19
+msgid "mbtowc - convert a multibyte sequence to a wide character"
+msgstr "mbtowc - マルチバイト列をワイド文字に変換する"
+
+#. type: Plain text
+#: build/C/man3/mbtowc.3:24
+#, no-wrap
+msgid "B<int mbtowc(wchar_t *>I<pwc>B<, const char *>I<s>B<, size_t >I<n>B<);>\n"
+msgstr "B<int mbtowc(wchar_t *>I<pwc>B<, const char *>I<s>B<, size_t >I<n>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/mbtowc.3:50
+msgid ""
+"The main case for this function is when I<s> is not NULL and I<pwc> is not "
+"NULL.  In this case, the B<mbtowc>()  function inspects at most I<n> bytes "
+"of the multibyte string starting at I<s>, extracts the next complete "
+"multibyte character, converts it to a wide character and stores it at "
+"I<*pwc>.  It updates an internal shift state known only to the B<mbtowc>()  "
+"function.  If I<s> does not point to a null byte (\\(aq\\e0\\(aq), it "
+"returns the number of bytes that were consumed from I<s>, otherwise it "
+"returns 0."
+msgstr ""
+"この関数が用いられる場合、通常 I<s> が NULL でなく I<pwc> も NULL でない。こ"
+"の場合は B<mbtowc>()  関数は I<s> から始まる 最大 I<n> バイトのマルチバイト文"
+"字列を検査して、次の完全なマルチバイト 文字を取り出し、それをワイド文字に変換"
+"して I<*pwc> に格納する。 同時に mbtowc 関数のみが使用する内部状態を更新す"
+"る。I<s> がヌルバイト (\\(aq\\e0\\(aq) 以外を指している場合は、I<s> から消費"
+"するバイト数を返す。 I<s> がヌルバイトを指している場合には 0 を返す。"
+
+#. type: Plain text
+#: build/C/man3/mbtowc.3:64
+msgid ""
+"If the I<n> bytes starting at I<s> do not contain a complete multibyte "
+"character, or if they contain an invalid multibyte sequence, B<mbtowc>()  "
+"returns -1.  This can happen even if I<n> E<gt>= I<MB_CUR_MAX>, if the "
+"multibyte string contains redundant shift sequences."
+msgstr ""
+"I<s> から始まる I<n> バイトが完全なマルチバイト文字を含んで いない場合や不正"
+"なマルチバイト列を含んでいる場合には B<mbtowc>()  は -1 を返す。マルチバイト"
+"文字列に冗長なシフトシーケンスが 含まれていると I<n> E<gt>= I<MB_CUR_MAX> の"
+"場合もこのようなことが 起こりえる。"
+
+#. type: Plain text
+#: build/C/man3/mbtowc.3:74
+msgid ""
+"A different case is when I<s> is not NULL but I<pwc> is NULL.  In this case, "
+"the B<mbtowc>()  function behaves as above, except that it does not store "
+"the converted wide character in memory."
+msgstr ""
+"I<s> が NULL でなく I<pwc> が NULL の場合は B<mbtowc>()  関数は 上記と同様に"
+"動作するが、変換したワイド文字はメモリには書き込まれない。"
+
+#.  The Dinkumware doc and the Single UNIX specification say this, but
+#.  glibc doesn't implement this.
+#. type: Plain text
+#: build/C/man3/mbtowc.3:93
+msgid ""
+"A third case is when I<s> is NULL.  In this case, I<pwc> and I<n> are "
+"ignored.  The B<mbtowc>()  function resets the shift state, only known to "
+"this function, to the initial state, and returns nonzero if the encoding has "
+"nontrivial shift state, or zero if the encoding is stateless."
+msgstr ""
+"三番目の場合として I<s> が NULL の場合は I<pwc> と I<n> は 無視される。 "
+"B<mbtowc>()  関数のみが使用するシフト状態は初期状態に 戻される。そして文字符"
+"号がシフト状態に依存するならばゼロ以外を、文字符号が 状態によらないならばゼロ"
+"を返す。"
+
+#. type: Plain text
+#: build/C/man3/mbtowc.3:105
+msgid ""
+"If I<s> is not NULL, the B<mbtowc>()  function returns the number of "
+"consumed bytes starting at I<s>, or 0 if I<s> points to a null byte, or -1 "
+"upon failure."
+msgstr ""
+"I<s> が NULL でなければ B<mbtowc>()  関数は I<s> から消費した バイト数を、"
+"I<s> がヌル文字を指している場合はゼロを、 変換に失敗した場合は -1 を返す。"
+
+#. type: Plain text
+#: build/C/man3/mbtowc.3:113
+msgid ""
+"If I<s> is NULL, the B<mbtowc>()  function returns nonzero if the encoding "
 "has nontrivial shift state, or zero if the encoding is stateless."
 msgstr ""
-"I<s> が NULL ならば B<mbtowc>()  関数は文字符号がシフト状態に依存 していれば"
-"ゼロ以外を、状態によらなければゼロを返す。"
+"I<s> が NULL ならば B<mbtowc>()  関数は文字符号がシフト状態に依存 していれば"
+"ゼロ以外を、状態によらなければゼロを返す。"
+
+#. type: Plain text
+#: build/C/man3/mbtowc.3:122
+msgid ""
+"The behavior of B<mbtowc>()  depends on the B<LC_CTYPE> category of the "
+"current locale."
+msgstr ""
+"B<mbtowc>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
+
+#. type: Plain text
+#: build/C/man3/mbtowc.3:128
+msgid ""
+"This function is not multithread safe.  The function B<mbrtowc>(3)  provides "
+"a better interface to the same functionality."
+msgstr ""
+"この関数はマルチスレッドでは安全ではない。 B<mbrtowc>(3)  関数は 同じ機能のよ"
+"り良いインターフェースを提供する。"
+
+#. type: Plain text
+#: build/C/man3/mbtowc.3:135
+msgid ""
+"B<MB_CUR_MAX>(3), B<mblen>(3), B<mbrtowc>(3), B<mbstowcs>(3), B<wctomb>(3), "
+"B<wcstombs>(3)"
+msgstr ""
+"B<MB_CUR_MAX>(3), B<mblen>(3), B<mbrtowc>(3), B<mbstowcs>(3), B<wctomb>(3), "
+"B<wcstombs>(3)"
+
+#. type: TH
+#: build/C/man3/mkdtemp.3:26
+#, no-wrap
+msgid "MKDTEMP"
+msgstr "MKDTEMP"
+
+#. type: TH
+#: build/C/man3/mkdtemp.3:26
+#, no-wrap
+msgid "2010-09-26"
+msgstr "2010-09-26"
+
+#. type: Plain text
+#: build/C/man3/mkdtemp.3:29
+msgid "mkdtemp - create a unique temporary directory"
+msgstr "mkdtemp - 他と重ならない一時的なディレクトリを作成する"
+
+#. type: Plain text
+#: build/C/man3/mkdtemp.3:34
+#, no-wrap
+msgid "B<char *mkdtemp(char *>I<template>B<);>\n"
+msgstr "B<char *mkdtemp(char *>I<template>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/mkdtemp.3:42
+msgid "B<mkdtemp>():"
+msgstr "B<mkdtemp>():"
+
+#. type: Plain text
+#: build/C/man3/mkdtemp.3:47
+msgid "_BSD_SOURCE"
+msgstr "_BSD_SOURCE"
+
+#. type: Plain text
+#: build/C/man3/mkdtemp.3:49
+msgid "|| /* Since glibc 2.10: */"
+msgstr "|| /* Since glibc 2.10: */"
+
+#. type: Plain text
+#: build/C/man3/mkdtemp.3:51
+msgid "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
+msgstr "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
+
+#. type: Plain text
+#: build/C/man3/mkdtemp.3:68
+msgid ""
+"The B<mkdtemp>()  function generates a uniquely named temporary directory "
+"from I<template>.  The last six characters of I<template> must be XXXXXX and "
+"these are replaced with a string that makes the directory name unique.  The "
+"directory is then created with permissions 0700.  Since it will be modified, "
+"I<template> must not be a string constant, but should be declared as a "
+"character array."
+msgstr ""
+"B<mkdtemp>()  関数は、他と重ならない名前の一時的なディレクトリを I<template> "
+"から作成する。 I<template> の後から 6 文字は XXXXXX でなければならない。 この"
+"部分はディレクトリ名を他と重ならなくするための 文字列で置き換えられる。 ディ"
+"レクトリは許可属性を 0700 として作成される。 I<template> は変更されるので、文"
+"字列定数にしてはならず、文字配列にすべきである。"
+
+#. type: Plain text
+#: build/C/man3/mkdtemp.3:75
+msgid ""
+"The B<mkdtemp>()  function returns a pointer to the modified template string "
+"on success, and NULL on failure, in which case I<errno> is set appropriately."
+msgstr ""
+"成功した場合、 B<mkdtemp>()  関数は 変更された template 文字列へのポインタを"
+"返す。 失敗した場合は、NULL を返して、 I<errno> を適切に設定する。"
+
+#. type: TP
+#: build/C/man3/mkdtemp.3:76 build/C/man3/mkstemp.3:166
+#: build/C/man3/mktemp.3:92 build/C/man3/random.3:141
+#: build/C/man3/random.3:148 build/C/man3/random_r.3:106
+#: build/C/man3/random_r.3:110 build/C/man3/random_r.3:119
+#: build/C/man3/setenv.3:120 build/C/man3/strtol.3:145
+#: build/C/man3/strtoul.3:149
+#, no-wrap
+msgid "B<EINVAL>"
+msgstr "B<EINVAL>"
+
+#. type: Plain text
+#: build/C/man3/mkdtemp.3:80
+msgid ""
+"The last six characters of I<template> were not XXXXXX.  Now I<template> is "
+"unchanged."
+msgstr ""
+"I<template> の最後の 6 文字が XXXXXX でない。この場合、I<template> は変更され"
+"ない。"
+
+#. type: Plain text
+#: build/C/man3/mkdtemp.3:84
+msgid "Also see B<mkdir>(2)  for other possible values for I<errno>."
+msgstr "I<errno> に設定される他の値については、 B<mkdir>(2)  を参照すること。"
+
+#. type: Plain text
+#: build/C/man3/mkdtemp.3:86
+msgid "Available since glibc 2.1.91."
+msgstr "OpenBSD 2.2 で導入された。"
+
+#.  As at 2006, this function is being considered for a revision of POSIX.1
+#.  Also in NetBSD 1.4.
+#. type: Plain text
+#: build/C/man3/mkdtemp.3:91
+msgid "POSIX.1-2008.  This function is present on the BSDs."
+msgstr "POSIX.1-2008.  この関数は BSD に存在する。"
+
+#. type: Plain text
+#: build/C/man3/mkdtemp.3:98
+msgid ""
+"B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), "
+"B<tmpnam>(3)"
+msgstr ""
+"B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), "
+"B<tmpnam>(3)"
+
+#. type: TH
+#: build/C/man3/mkstemp.3:35
+#, no-wrap
+msgid "MKSTEMP"
+msgstr "MKSTEMP"
+
+#. type: TH
+#: build/C/man3/mkstemp.3:35
+#, no-wrap
+msgid "2013-12-28"
+msgstr "2013-12-28"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:38
+msgid "mkstemp, mkostemp, mkstemps, mkostemps - create a unique temporary file"
+msgstr ""
+"mkstemp, mkostemp, mkstemps, mkostemps - 他と重ならない名前を持つ一時ファイル"
+"を作成する"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:43
+#, no-wrap
+msgid "B<int mkstemp(char *>I<template>B<);>\n"
+msgstr "B<int mkstemp(char *>I<template>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:45
+#, no-wrap
+msgid "B<int mkostemp(char *>I<template>B<, int >I<flags>B<);>\n"
+msgstr "B<int mkostemp(char *>I<template>B<, int >I<flags>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:47
+#, no-wrap
+msgid "B<int mkstemps(char *>I<template>B<, int >I<suffixlen>B<);>\n"
+msgstr "B<int mkstemps(char *>I<template>B<, int >I<suffixlen>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:49
+#, no-wrap
+msgid "B<int mkostemps(char *>I<template>B<, int >I<suffixlen>B<, int >I<flags>B<);>\n"
+msgstr "B<int mkostemps(char *>I<template>B<, int >I<suffixlen>B<, int >I<flags>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:57
+msgid "B<mkstemp>():"
+msgstr "B<mkstemp>():"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:62 build/C/man3/mktemp.3:63
+msgid ""
+"_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
+"\\ &&\\ _XOPEN_SOURCE_EXTENDED"
+msgstr ""
+"_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
+"\\ &&\\ _XOPEN_SOURCE_EXTENDED"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:64
+msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
+msgstr "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:70
+msgid "B<mkostemp>(): _GNU_SOURCE"
+msgstr "B<mkostemp>(): _GNU_SOURCE"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:73
+msgid "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
+msgstr "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:76
+msgid "B<mkostemps>(): _GNU_SOURCE"
+msgstr "B<mkostemps>(): _GNU_SOURCE"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:83
+msgid ""
+"The B<mkstemp>()  function generates a unique temporary filename from "
+"I<template>, creates and opens the file, and returns an open file descriptor "
+"for the file."
+msgstr ""
+"関数 B<mkstemp>()  は引数 I<template> から他と重ならない一時ファイル名を生成"
+"し、 そのファイルの作成とオープンを行い、 そのファイルに対するオープン済みの"
+"ファイルディスクリプタを返す。"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:91
+msgid ""
+"The last six characters of I<template> must be \"XXXXXX\" and these are "
+"replaced with a string that makes the filename unique.  Since it will be "
+"modified, I<template> must not be a string constant, but should be declared "
+"as a character array."
+msgstr ""
+"引数 I<template> で指示する文字列の後ろの 6 文字は XXXXXX である必要がある。 "
+"この部分がファイル名を他と重ならないようにする文字で置き換えられる。 "
+"I<template> は書き換えられるため、文字列定数ではなく文字配列として 宣言するよ"
+"うにしなければならない。"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:99
+msgid ""
+"The file is created with permissions 0600, that is, read plus write for "
+"owner only.  The returned file descriptor provides both read and write "
+"access to the file.  The file is opened with the B<open>(2)  B<O_EXCL> flag, "
+"guaranteeing that the caller is the process that creates the file."
+msgstr ""
+"ファイルは許可モード 0600 で作成され、所有者のみが読み書き可能である。返され"
+"るファイルディスクリプタで、このファイルへの読み書き両方のアクセスが 可能であ"
+"る。 呼び出し者がそのファイルを作成するプロセスであることを保証するために、 "
+"ファイルは B<open>(2)  の B<O_EXCL> フラグ付きでオープンされる。"
+
+#.  Reportedly, FreeBSD
+#. type: Plain text
+#: build/C/man3/mkstemp.3:130
+msgid ""
+"The B<mkostemp>()  function is like B<mkstemp>(), with the difference that "
+"the following bits\\(emwith the same meaning as for B<open>(2)\\(emmay be "
+"specified in I<flags>: B<O_APPEND>, B<O_CLOEXEC>, and B<O_SYNC>.  Note that "
+"when creating the file, B<mkostemp>()  includes the values B<O_RDWR>, "
+"B<O_CREAT>, and B<O_EXCL> in the I<flags> argument given to B<open>(2); "
+"including these values in the I<flags> argument given to B<mkostemp>()  is "
+"unnecessary, and produces errors on some systems."
+msgstr ""
+"B<mkostemp>() 関数は B<mkstemp>() と同様だが、 I<flags> に B<O_APPEND>, "
+"B<O_CLOEXEC>, B<O_SYNC> のビットを指定できる点が異なる (意味は B<open>(2) と"
+"同じである)。ファイルを作成する際、 B<mkostemp>() は B<open>(2) に渡す "
+"I<flags> 引き数に B<O_RDWR>, B<O_CREAT>, B<O_EXCL> を含める。そのため、 "
+"B<mkostemp>() に渡す I<flags> 引き数にこれらの値を含める必要はなく、システム"
+"によってはエラーが発生する点に注意すること。"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:146
+msgid ""
+"The B<mkstemps>()  function is like B<mkstemp>(), except that the string in "
+"I<template> contains a suffix of I<suffixlen> characters.  Thus, I<template> "
+"is of the form I<prefixXXXXXXsuffix>, and the string XXXXXX is modified as "
+"for B<mkstemp>()."
+msgstr ""
+"B<mkstemps>() 関数は B<mkstemp>() と同様だが、 I<template> 内の文字列に長さ\n"
+"が I<suffixlen> 文字の接尾辞 (suffix) が含まれる点が異なる。\n"
+"したがって、 I<template> は I<prefixXXXXXXsuffix> の形式となる。\n"
+"文字列 XXXXXX の部分は B<mkstemp>() により更新される。"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:155
+msgid ""
+"The B<mkostemps>()  function is to B<mkstemps>()  as B<mkostemp>()  is to "
+"B<mkstemp>()."
+msgstr ""
+"B<mkostemps>() と B<mkstemps>() の関係は、\n"
+"B<mkostemp>() と B<mkstemp>() の関係と同じである。"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:161
+msgid ""
+"On success, these functions return the file descriptor of the temporary "
+"file.  On error, -1 is returned, and I<errno> is set appropriately."
+msgstr ""
+"成功すると、これらの関数は一時ファイルのファイルディスクリプタを返す。 エラー"
+"の場合は、-1 を返し、 I<errno> を適切に設定する。"
+
+#. type: TP
+#: build/C/man3/mkstemp.3:162
+#, no-wrap
+msgid "B<EEXIST>"
+msgstr "B<EEXIST>"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:166
+msgid ""
+"Could not create a unique temporary filename.  Now the contents of "
+"I<template> are undefined."
+msgstr ""
+"すでに同じ名前を持つファイルが存在した。 I<template> の内容は不定である。"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:174
+msgid ""
+"For B<mkstemp>()  and B<mkostemp>(): The last six characters of I<template> "
+"were not XXXXXX; now I<template> is unchanged."
+msgstr ""
+"B<mkstemp>() と B<mkostemp>() の場合:\n"
+"I<template> の最後の 6 文字が XXXXXX でなかった。\n"
+"この場合、I<template> は変更されない。"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:185
+msgid ""
+"For B<mkstemps>()  and B<mkostemps>(): I<template> is less than I<(6 + "
+"suffixlen)> characters long, or the last 6 characters before the suffix in "
+"I<template> were not XXXXXX."
+msgstr ""
+"B<mkstemps>() と B<mkostemps>() の場合:\n"
+"I<template> の長さが I<(6 + suffixlen)> 文字より短い、または\n"
+"I<template> の接尾辞の直前の 6 文字が XXXXXX ではなかった。"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:188
+msgid ""
+"These functions may also fail with any of the errors described for "
+"B<open>(2)."
+msgstr ""
+"これらの関数は B<open>(2) に書かれているエラーのいずれかで失敗することもあ"
+"る。"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:195
+msgid ""
+"B<mkostemp>()  is available since glibc 2.7.  B<mkstemps>()  and "
+"B<mkostemps>()  are available since glibc 2.11."
+msgstr ""
+"B<mkostemp>() は glibc 2.7 以降で利用できる。\n"
+"B<mkstemps>() と B<mkostemps>() は glibc 2.11 以降で利用できる。"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:198
+msgid "B<mkstemp>(): 4.3BSD, POSIX.1-2001."
+msgstr "B<mkstemp>(): 4.3BSD, POSIX.1-2001."
+
+#.  mkstemps() appears to be at least on the BSDs, Mac OS X, Solaris,
+#.  and Tru64.
+#. type: Plain text
+#: build/C/man3/mkstemp.3:203
+msgid "B<mkstemps>(): unstandardized, but appears on several other systems."
+msgstr ""
+"B<mkstemps>(): 標準化されていないが、他のいくつかのシステムにも存在する。"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:208
+msgid "B<mkostemp>()  and B<mkostemps>(): are glibc extensions."
+msgstr "B<mkostemp>() と B<mkostemps>(): glibc による拡張。"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:215
+msgid ""
+"In glibc versions 2.06 and earlier, the file is created with permissions "
+"0666, that is, read and write for all users.  This old behavior may be a "
+"security risk, especially since other UNIX flavors use 0600, and somebody "
+"might overlook this detail when porting programs.  POSIX.1-2008 adds a "
+"requirement that the file be created with mode 0600."
+msgstr ""
+"glibc バージョン 2.06 以前では、ファイルは許可モード 0666 で作成され、全ての"
+"ユーザが読み書き可能であった。この古い動作は、 セキュリティ上のリスクになり得"
+"る。特に、他の UNIX では許可モードとして 0600 を使うため、プログラムを移植す"
+"る際、この細かな違いを見落とす可能性があるからだ。 POSIX.1-2008 では、ファイ"
+"ルを許可モード 0600 で作成することが必須要件として追加された。"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:226
+msgid ""
+"More generally, the POSIX specification of B<mkstemp>()  does not say "
+"anything about file modes, so the application should make sure its file mode "
+"creation mask (see B<umask>(2))  is set appropriately before calling "
+"B<mkstemp>()  (and B<mkostemp>())."
+msgstr ""
+"より一般的には、 B<mkstemp>()  の POSIX 規定ではファイルモードについて何も述"
+"べていない。 従って、アプリケーションは B<mkstemp>()  (や B<mkostemp>())  を"
+"呼び出す前にファイルモード生成マスク (B<umask>(2)  参照) が適切に設定されてい"
+"るか確認するべきである。"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:233
+msgid ""
+"The prototype for B<mktemp>()  is in I<E<lt>unistd.hE<gt>> for libc4, libc5, "
+"glibc1; glibc2 follows POSIX.1 and has the prototype in I<E<lt>stdlib."
+"hE<gt>>."
+msgstr ""
+"B<mktemp>()  のプロトタイプ宣言は、libc4, libc5, glibc1 では I<E<lt>unistd."
+"hE<gt>> に含まれる; glibc2 では POSIX.1 に準拠し I<E<lt>stdlib.hE<gt>> に含ま"
+"れている。"
+
+#. type: Plain text
+#: build/C/man3/mkstemp.3:239
+msgid "B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
+msgstr ""
+"B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
+
+#. type: TH
+#: build/C/man3/mktemp.3:34
+#, no-wrap
+msgid "MKTEMP"
+msgstr "MKTEMP"
+
+#. type: TH
+#: build/C/man3/mktemp.3:34
+#, no-wrap
+msgid "2014-02-27"
+msgstr "2014-02-27"
+
+#. type: Plain text
+#: build/C/man3/mktemp.3:37
+msgid "mktemp - make a unique temporary filename"
+msgstr "mktemp - 他と重ならないテンポラリファイル名を作成する"
+
+#. type: Plain text
+#: build/C/man3/mktemp.3:42
+#, no-wrap
+msgid "B<char *mktemp(char *>I<template>B<);>\n"
+msgstr "B<char *mktemp(char *>I<template>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/mktemp.3:50
+msgid "B<mktemp>():"
+msgstr "B<mktemp>():"
+
+#. type: Plain text
+#: build/C/man3/mktemp.3:59
+#, no-wrap
+msgid ""
+"_BSD_SOURCE || _SVID_SOURCE ||\n"
+"    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
+"         _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
+"    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
+msgstr ""
+"_BSD_SOURCE || _SVID_SOURCE ||\n"
+"    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
+"         _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
+"    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
+
+#. type: Plain text
+#: build/C/man3/mktemp.3:69
+msgid "I<Never use this function>; see NOTES."
+msgstr "I<決してこの関数は使用しないこと>。「注意」を参照。"
+
+#. type: Plain text
+#: build/C/man3/mktemp.3:80
+msgid ""
+"The B<mktemp>()  function generates a unique temporary filename from "
+"I<template>.  The last six characters of I<template> must be XXXXXX and "
+"these are replaced with a string that makes the filename unique.  Since it "
+"will be modified, I<template> must not be a string constant, but should be "
+"declared as a character array."
+msgstr ""
+"関数 B<mktemp>()  は引数 I<template> から他と重ならない テンポラリファイル名"
+"を作成する。引数 I<template> で指示する文字配列 の後6文字は XXXXXX である必要"
+"がある。この部分がファイル名を他と 重ならないにするような文字で置き換えられ"
+"る。 I<template> は書き換えられるため、文字列定数ではなく文字配列として宣言す"
+"るように しなければならない。"
+
+#. type: Plain text
+#: build/C/man3/mktemp.3:91
+msgid ""
+"The B<mktemp>()  function always returns I<template>.  If a unique name was "
+"created, the last six bytes of I<template> will have been modified in such a "
+"way that the resulting name is unique (i.e., does not exist already)  If a "
+"unique name could not be created, I<template> is made an empty string, and "
+"I<errno> is set to indicate the error."
+msgstr ""
+"関数 B<mktemp>()  は常に I<template> を戻す。 一意な名前が作成された場合、 "
+"I<template> の最後の 6 バイトに 他と重ならない名前 (それまでに出ていない名"
+"前) になるような値が格納される。 一意な名前が作成できなかった場合には、 "
+"I<template> には空文字列がセットされ、 I<errno> にエラーを示す値がセットされ"
+"る。"
+
+#. type: Plain text
+#: build/C/man3/mktemp.3:95
+msgid "The last six characters of I<template> were not XXXXXX."
+msgstr "引数 I<template> で指示された文字列の後6文字が XXXXXX でない。"
+
+#. type: Plain text
+#: build/C/man3/mktemp.3:99
+msgid ""
+"4.3BSD, POSIX.1-2001.  POSIX.1-2008 removes the specification of B<mktemp>()."
+msgstr ""
+"4.3BSD, POSIX.1-2001.  POSIX.1-2008 では B<mktemp>()  の仕様が削除されてい"
+"る。"
+
+#. type: Plain text
+#: build/C/man3/mktemp.3:105
+msgid ""
+"The prototype is in I<E<lt>unistd.hE<gt>> for libc4, libc5, glibc1; glibc2 "
+"follows the Single UNIX Specification and has the prototype in I<E<lt>stdlib."
+"hE<gt>>."
+msgstr ""
+"libc4, libc5, glibc1 でのプロトタイプ宣言は I<E<lt>unistd.hE<gt>> に含まれ"
+"る; glibc2 では Single UNIX Specification に従って I<E<lt>stdlib.hE<gt>> に含"
+"まれている。"
+
+#. type: SH
+#: build/C/man3/mktemp.3:105 build/C/man3/random.3:189
+#: build/C/man3/rpmatch.3:104 build/C/man3/setenv.3:144
+#, no-wrap
+msgid "BUGS"
+msgstr "バグ"
+
+#. type: Plain text
+#: build/C/man3/mktemp.3:118
+msgid ""
+"Never use B<mktemp>().  Some implementations follow 4.3BSD and replace "
+"XXXXXX by the current process ID and a single letter, so that at most 26 "
+"different names can be returned.  Since on the one hand the names are easy "
+"to guess, and on the other hand there is a race between testing whether the "
+"name exists and opening the file, every use of B<mktemp>()  is a security "
+"risk.  The race is avoided by B<mkstemp>(3)."
+msgstr ""
+"B<mktemp>()  を決して使わないこと。4.3BSD 系の実装や XXXXXX を プロセス ID と"
+"1文字により置き換える方式ではせいぜい26の名前を返す ことができるにすぎない。 "
+"この名前は簡単に推測できることや、その名前がすでに存在しているかどうか テスト"
+"して、そのファイルをオープンする間に競合がある事から、 B<mktemp>()  を使うの"
+"は毎回セキュリティリスクをおかすことになる。 この競合は B<mkstemp>(3)  を使う"
+"ことで避けられる。"
+
+#. type: Plain text
+#: build/C/man3/mktemp.3:123
+msgid "B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
+msgstr "B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
+
+#. type: TH
+#: build/C/man3/on_exit.3:31
+#, no-wrap
+msgid "ON_EXIT"
+msgstr "ON_EXIT"
+
+#. type: Plain text
+#: build/C/man3/on_exit.3:34
+msgid ""
+"on_exit - register a function to be called at normal process termination"
+msgstr "on_exit - プロセスが正常に終了した際に呼ばれる関数を登録する"
+
+#. type: Plain text
+#: build/C/man3/on_exit.3:39
+#, no-wrap
+msgid "B<int on_exit(void (*>I<function>B<)(int , void *), void *>I<arg>B<);>\n"
+msgstr "B<int on_exit(void (*>I<function>B<)(int , void *), void *>I<arg>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/on_exit.3:48
+msgid "B<on_exit>(): _BSD_SOURCE || _SVID_SOURCE"
+msgstr "B<on_exit>(): _BSD_SOURCE || _SVID_SOURCE"
+
+#. type: Plain text
+#: build/C/man3/on_exit.3:66
+msgid ""
+"The B<on_exit>()  function registers the given I<function> to be called at "
+"normal process termination, whether via B<exit>(3)  or via return from the "
+"program's I<main>().  The I<function> is passed the status argument given to "
+"the last call to B<exit>(3)  and the I<arg> argument from B<on_exit>()."
+msgstr ""
+"B<on_exit>()  関数は、指定された関数 I<function> を、プロセスが 正常に終了し"
+"た際に呼ばれる関数として登録する。正常な終了とは、 B<exit>(3)  またはプログラ"
+"ムの I<main>()  関数の中の return 命令による終了である。 関数 I<function> に"
+"は、直近の B<exit>(3)  の呼び出しで渡された status 引数と B<on_exit>()  の "
+"I<arg> 引数が渡される。"
+
+#. type: Plain text
+#: build/C/man3/on_exit.3:81
+msgid ""
+"The B<on_exit>()  function returns the value 0 if successful; otherwise it "
+"returns a nonzero value."
+msgstr "B<on_exit>()  関数は、成功したら 0 を、そうでなければ 0 以外を返す。"
+
+#. type: Plain text
+#: build/C/man3/on_exit.3:88
+msgid ""
+"This function comes from SunOS 4, but is also present in libc4, libc5 and "
+"glibc.  It no longer occurs in Solaris (SunOS 5).  Avoid this function, and "
+"use the standard B<atexit>(3)  instead."
+msgstr ""
+"この関数は SunOS 4 由来であるが、libc4, libc5, glibc にも存在する。 Solaris "
+"(SunOS 5) にはもはや存在しない。 この関数の使用は避け、代わりに標準の "
+"B<atexit>(3)  を使うこと。"
+
+#. type: Plain text
+#: build/C/man3/on_exit.3:92
+msgid "B<_exit>(2), B<atexit>(3), B<exit>(3)"
+msgstr "B<_exit>(2), B<atexit>(3), B<exit>(3)"
+
+#. type: TH
+#: build/C/man3/putenv.3:36
+#, no-wrap
+msgid "PUTENV"
+msgstr "PUTENV"
+
+#. type: TH
+#: build/C/man3/putenv.3:36
+#, no-wrap
+msgid "2013-04-19"
+msgstr "2013-04-19"
+
+#. type: Plain text
+#: build/C/man3/putenv.3:39
+msgid "putenv - change or add an environment variable"
+msgstr "putenv - 環境変数の変更または追加"
+
+#.  Not: const char *
+#. type: Plain text
+#: build/C/man3/putenv.3:45
+#, no-wrap
+msgid "B<int putenv(char *>I<string>B<);>\n"
+msgstr "B<int putenv(char *>I<string>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/putenv.3:54
+msgid "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
+msgstr "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
+
+#. type: Plain text
+#: build/C/man3/putenv.3:67
+msgid ""
+"The B<putenv>()  function adds or changes the value of environment "
+"variables.  The argument I<string> is of the form I<name>=I<value>.  If "
+"I<name> does not already exist in the environment, then I<string> is added "
+"to the environment.  If I<name> does exist, then the value of I<name> in the "
+"environment is changed to I<value>.  The string pointed to by I<string> "
+"becomes part of the environment, so altering the string changes the "
+"environment."
+msgstr ""
+"B<putenv>()  関数は、環境変数の追加または値の変更を行う。 引数 I<string> は "
+"I<name>=I<value> という形式を取る。 I<name> が環境に存在しない場合は "
+"I<string> が環境に追加される。 I<name> が環境に存在する場合は I<name> の値は "
+"I<value> に変更される。 I<string> が指している文字列は環境の一部となるので、 "
+"文字列を変更すると環境も変更される。"
+
+#. type: Plain text
+#: build/C/man3/putenv.3:75
+msgid ""
+"The B<putenv>()  function returns zero on success, or nonzero if an error "
+"occurs.  In the event of an error, I<errno> is set to indicate the cause."
+msgstr ""
+"B<putenv>() 関数は、成功すると 0 を返し、エラーの場合は 0 以外の値を返す。エ"
+"ラーが発生した場合、 I<errno> に原因を示す値が設定される。"
+
+#. type: TP
+#: build/C/man3/putenv.3:76 build/C/man3/setenv.3:125
+#, no-wrap
+msgid "B<ENOMEM>"
+msgstr "B<ENOMEM>"
+
+#. type: Plain text
+#: build/C/man3/putenv.3:79
+msgid "Insufficient space to allocate new environment."
+msgstr "新しい環境を割り当てるのに十分な空きがない。"
+
+#. type: Plain text
+#: build/C/man3/putenv.3:81
+msgid "SVr4, POSIX.1-2001, 4.3BSD."
+msgstr "SVr4, POSIX.1-2001, 4.3BSD."
+
+#. type: Plain text
+#: build/C/man3/putenv.3:86
+msgid ""
+"The B<putenv>()  function is not required to be reentrant, and the one in "
+"libc4, libc5 and glibc 2.0 is not, but the glibc 2.1 version is."
+msgstr ""
+"B<putenv>()  はリエントラントであることを求められていない。 libc4, libc5, "
+"glibc 2.0 ではリエントラントではない。 glibc 2.1 ではリエントラントである。"
+
+#. type: Plain text
+#: build/C/man3/putenv.3:99
+msgid ""
+"Description for libc4, libc5, glibc: If the argument I<string> is of the "
+"form I<name>, and does not contain an \\(aq=\\(aq character, then the "
+"variable I<name> is removed from the environment.  If B<putenv>()  has to "
+"allocate a new array I<environ>, and the previous array was also allocated "
+"by B<putenv>(), then it will be freed.  In no case will the old storage "
+"associated to the environment variable itself be freed."
+msgstr ""
+"libc4, libc5, glibc に関する説明: もし引数 I<string> が I<name> 単独で、 "
+"\\(aq=\\(aq 文字を含んでいない場合、環境変数 I<name> は環境から除去される。 "
+"もし B<putenv>()  が新しい I<environ> 配列を確保しなければならない時、 以前"
+"の I<environ> 配列も B<putenv>()  によって確保されたものならば、 それは解放さ"
+"れる。 環境変数そのものに割り当てられた古い記憶領域が解放されることはない。"
+
+#. type: Plain text
+#: build/C/man3/putenv.3:115
+msgid ""
+"The libc4 and libc5 and glibc 2.1.2 versions conform to SUSv2: the pointer "
+"I<string> given to B<putenv>()  is used.  In particular, this string becomes "
+"part of the environment; changing it later will change the environment.  "
+"(Thus, it is an error is to call B<putenv>()  with an automatic variable as "
+"the argument, then return from the calling function while I<string> is still "
+"part of the environment.)  However, glibc 2.0-2.1.1 differs: a copy of the "
+"string is used.  On the one hand this causes a memory leak, and on the other "
+"hand it violates SUSv2.  This has been fixed in glibc 2.1.2."
+msgstr ""
+"libc4 と libc5 と glibc 2.1.2 では SUSv2 に準拠している。 B<putenv>()  で与え"
+"られたポインタ I<string> が使われる。 この文字列は環境の一部となり、後で変更"
+"すると環境も変わる。 (従って、 B<putenv>()  を自動変数を引数として呼び出し、 "
+"I<string>が環境の一部のままで呼び出した関数から return するとエラーになる)  "
+"しかし、glibc 2.0-2.1.1 では異なり、文字列のコピーが使われる。 これはメモリ"
+"リークを引き起こすだけでなく、 SUSv2 に違反している。 これは glibc2.1.2 で修"
+"正された。"
+
+#. type: Plain text
+#: build/C/man3/putenv.3:117
+msgid "The 4.4BSD version, like glibc 2.0, uses a copy."
+msgstr "4.4BSD バージョンでは、glibc 2.0 と同様にコピーを使う。"
+
+#. type: Plain text
+#: build/C/man3/putenv.3:119
+msgid "SUSv2 removes the I<const> from the prototype, and so does glibc 2.1.3."
+msgstr ""
+"SUSv2 ではプロトタイプから I<const> が取り除かれており、 glibc 2.1.3 もそのよ"
+"うになっている。"
+
+#. type: Plain text
+#: build/C/man3/putenv.3:125
+msgid ""
+"B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
+msgstr ""
+"B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
+
+#. type: TH
+#: build/C/man3/qecvt.3:28
+#, no-wrap
+msgid "QECVT"
+msgstr "QECVT"
+
+#. type: TH
+#: build/C/man3/qecvt.3:28
+#, no-wrap
+msgid "2014-03-11"
+msgstr "2014-03-11"
+
+#. type: Plain text
+#: build/C/man3/qecvt.3:31
+msgid "qecvt, qfcvt, qgcvt - convert a floating-point number to a string"
+msgstr "qecvt, qfcvt, qgcvt - 浮動小数点数の文字列への変換"
+
+#. type: Plain text
+#: build/C/man3/qecvt.3:36
+msgid ""
+"B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
+"> B<int *>I<sign>B<);>"
+msgstr ""
+"B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
+"> B<int *>I<sign>B<);>"
+
+#. type: Plain text
+#: build/C/man3/qecvt.3:39
+msgid ""
+"B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
+"> B<int *>I<sign>B<);>"
+msgstr ""
+"B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
+"> B<int *>I<sign>B<);>"
+
+#. type: Plain text
+#: build/C/man3/qecvt.3:41
+msgid ""
+"B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
+msgstr ""
+"B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
+
+#. type: Plain text
+#: build/C/man3/qecvt.3:52
+msgid "B<qecvt>(), B<qfcvt>(), B<qgcvt>(): _SVID_SOURCE"
+msgstr "B<qecvt>(), B<qfcvt>(), B<qgcvt>(): _SVID_SOURCE"
+
+#. type: Plain text
+#: build/C/man3/qecvt.3:85
+msgid ""
+"The functions B<qecvt>(), B<qfcvt>()  and B<qgcvt>()  are identical to "
+"B<ecvt>(3), B<fcvt>(3)  and B<gcvt>(3)  respectively, except that they use a "
+"I<long double> argument I<number>.  See B<ecvt>(3)  and B<gcvt>(3)."
+msgstr ""
+"関数 B<qecvt>(), B<qfcvt>(), B<qgcvt>()  は、それぞれ B<ecvt>(3), "
+"B<fcvt>(3), B<gcvt>(3)  と同じである。 引き数 I<number> が I<long double> 型"
+"である点だけが異なる。"
+
+#. type: Plain text
+#: build/C/man3/qecvt.3:92
+msgid "The B<qecvt>()  and B<qfcvt>()  functions are not thread-safe."
+msgstr "関数 B<qecvt>() と B<qfcvt>() はスレッドセーフではない。"
+
+#. type: Plain text
+#: build/C/man3/qecvt.3:96
+msgid "The B<qgcvt>()  function is thread-safe."
+msgstr "関数 B<qgcvt>() はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/qecvt.3:102
+msgid ""
+"SVr4.  Not seen in most common UNIX implementations, but occurs in SunOS.  "
+"Not supported by libc4 and libc5.  Supported by glibc."
+msgstr ""
+"SVr4.  多くの一般的な UNIX には実装されていないが、SunOS には実装されてい"
+"る。 libc4 と libc5 ではサポートされていないが、 glibc ではサポートされてい"
+"る。"
+
+#. type: Plain text
+#: build/C/man3/qecvt.3:107
+msgid "These functions are obsolete.  Instead, B<snprintf>(3)  is recommended."
+msgstr "これらの関数は廃止された。代わりに B<snprintf>(3) の使用を推奨する。"
+
+#. type: Plain text
+#: build/C/man3/qecvt.3:112
+msgid "B<ecvt>(3), B<ecvt_r>(3), B<gcvt>(3), B<sprintf>(3)"
+msgstr "B<ecvt>(3), B<ecvt_r>(3), B<gcvt>(3), B<sprintf>(3)"
+
+#. type: TH
+#: build/C/man3/rand.3:41
+#, no-wrap
+msgid "RAND"
+msgstr "RAND"
+
+#. type: TH
+#: build/C/man3/rand.3:41
+#, no-wrap
+msgid "2014-01-18"
+msgstr "2014-01-18"
+
+#. type: Plain text
+#: build/C/man3/rand.3:44
+msgid "rand, rand_r, srand - pseudo-random number generator"
+msgstr "rand, srand - 乱数を生成する関数"
+
+#. type: Plain text
+#: build/C/man3/rand.3:49
+#, no-wrap
+msgid "B<int rand(void);>\n"
+msgstr "B<int rand(void);>\n"
+
+#. type: Plain text
+#: build/C/man3/rand.3:51
+#, no-wrap
+msgid "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
+msgstr "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/rand.3:53
+#, no-wrap
+msgid "B<void srand(unsigned int >I<seed>B<);>\n"
+msgstr "B<void srand(unsigned int >I<seed>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/rand.3:62
+msgid ""
+"B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
+msgstr ""
+"B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
+
+#. type: Plain text
+#: build/C/man3/rand.3:68
+msgid ""
+"The B<rand>()  function returns a pseudo-random integer in the range 0 to "
+"B<RAND_MAX> inclusive (i.e., the mathematical range [0,\\ B<RAND_MAX>])."
+msgstr ""
+"B<rand>() 関数は 0 以上 B<RAND_MAX> 以下\n"
+"(数学的に書くと [0,\\ B<RAND_MAX>]) の範囲の疑似乱数整数を返す。"
+
+#. type: Plain text
+#: build/C/man3/rand.3:77
+msgid ""
+"The B<srand>()  function sets its argument as the seed for a new sequence of "
+"pseudo-random integers to be returned by B<rand>().  These sequences are "
+"repeatable by calling B<srand>()  with the same seed value."
+msgstr ""
+"B<srand>()  関数は、 B<rand>()  関数で作られる疑似乱数整数系列の新しい種とし"
+"て、 その引き数の値を使用する。 これらの関数を使用して作られた疑似乱数系列"
+"は、 同じ値を引き数として B<srand>()  を呼ぶことで、 再現することが可能であ"
+"る。"
+
+#. type: Plain text
+#: build/C/man3/rand.3:81
+msgid ""
+"If no seed value is provided, the B<rand>()  function is automatically "
+"seeded with a value of 1."
+msgstr ""
+"種の値が与えられない場合には、 B<rand>()  関数は 自動的に 1 を種とする。"
+
+#. type: Plain text
+#: build/C/man3/rand.3:92
+msgid ""
+"The function B<rand>()  is not reentrant or thread-safe, since it uses "
+"hidden state that is modified on each call.  This might just be the seed "
+"value to be used by the next call, or it might be something more elaborate.  "
+"In order to get reproducible behavior in a threaded application, this state "
+"must be made explicit; this can be done using the reentrant function "
+"B<rand_r>()."
+msgstr ""
+"B<rand>() 関数は再入可能 (reentrant) ではない、つまりスレッド・セーフではな"
+"い。\n"
+"この関数には隠し状態があり、呼び出される度にこの隠し状態が変更されるからであ"
+"る。\n"
+"ちょうどこの隠し状態が次の呼び出し時の乱数の種として使われるようなものであ"
+"る。\n"
+"実際にはもう少し複雑かもしれないが。\n"
+"スレッドを使用するアプリケーションで再現可能な動作をさせたい場合には、\n"
+"この状態を明示的に指定できなければならない。これを行うには、\n"
+"再入可能な B<rand_r>() 関数を使用する。"
+
+#. type: Plain text
+#: build/C/man3/rand.3:108
+msgid ""
+"Like B<rand>(), B<rand_r>()  returns a pseudo-random integer in the range [0,"
+"\\ B<RAND_MAX>].  The I<seedp> argument is a pointer to an I<unsigned int> "
+"that is used to store state between calls.  If B<rand_r>()  is called with "
+"the same initial value for the integer pointed to by I<seedp>, and that "
+"value is not modified between calls, then the same pseudo-random sequence "
+"will result."
+msgstr ""
+"B<rand>() と同様、 B<rand_r>() は [0,\\ B<RAND_MAX>] の範囲の疑似乱数整数を返"
+"す。\n"
+"I<seedp> 引き数は、B<rand_r>() の呼び出し間で状態を保持するために使用される\n"
+"I<unsigned int> へのポインタである。\n"
+"I<seedp> が指す整数に同じ初期値を B<rand_r>() を呼び出し、\n"
+"呼び出し間でその値が変更されなければ、同じ疑似乱数系列が得られる。"
+
+#. type: Plain text
+#: build/C/man3/rand.3:118
+msgid ""
+"The value pointed to by the I<seedp> argument of B<rand_r>()  provides only "
+"a very small amount of state, so this function will be a weak pseudo-random "
+"generator.  Try B<drand48_r>(3)  instead."
+msgstr ""
+"B<rand_r>() の I<seedp> 引き数が指す値により提供される状態は非常に小さな空"
+"間\n"
+"なので、この関数は弱い疑似乱数生成器になってしまう。\n"
+"代わりに B<drand48_r>(3) を使ってみるとよい。"
+
+#. type: Plain text
+#: build/C/man3/rand.3:129
+msgid ""
+"The B<rand>()  and B<rand_r>()  functions return a value between 0 and "
+"B<RAND_MAX> (inclusive).  The B<srand>()  function returns no value."
+msgstr ""
+"関数 B<rand>() と B<rand_r>() は 0 以上 B<RAND_MAX> 以下の数を返す。\n"
+"関数 B<srand>() は値を返さない。"
+
+#. type: Plain text
+#: build/C/man3/rand.3:141
+msgid ""
+"The functions B<rand>()  and B<srand>()  conform to SVr4, 4.3BSD, C89, C99, "
+"POSIX.1-2001.  The function B<rand_r>()  is from POSIX.1-2001.  POSIX.1-2008 "
+"marks B<rand_r>()  as obsolete."
+msgstr ""
+"関数 B<rand>()  と B<srand>()  は SVr4, 4.3BSD, C89, C99, POSIX.1-2001 に準拠"
+"している。 関数 B<rand_r>()  は POSIX.1-2001 に由来する。 POSIX.1-2008 は、 "
+"B<rand_r>()  を廃止予定としている。"
+
+#. type: Plain text
+#: build/C/man3/rand.3:160
+msgid ""
+"The versions of B<rand>()  and B<srand>()  in the Linux C Library use the "
+"same random number generator as B<random>(3)  and B<srandom>(3), so the "
+"lower-order bits should be as random as the higher-order bits.  However, on "
+"older B<rand>()  implementations, and on current implementations on "
+"different systems, the lower-order bits are much less random than the higher-"
+"order bits.  Do not use this function in applications intended to be "
+"portable when good randomness is needed.  (Use B<random>(3)  instead.)"
+msgstr ""
+"B<rand>()  と B<srand>()  の Linux C Library 版は、 B<random>(3)  と "
+"B<srandom>(3)  の両関数と同じ乱数生成 アルゴリズムを使用している。そのため、"
+"下位のビットは上位のビットと 同じくらいにランダムである。 しかし、旧版の "
+"B<rand>()  の実装や、他のシステムの現在の実装では、下位のビットが上位のビット"
+"ほど ランダムになっていない。移植性を高める場合でも、精度の高い乱数が必要な "
+"アプリケーションではこの関数は使用してはいけない (代わりに B<random>(3)  を使"
+"うこと)。"
+
+#. type: Plain text
+#: build/C/man3/rand.3:166
+msgid ""
+"POSIX.1-2001 gives the following example of an implementation of B<rand>()  "
+"and B<srand>(), possibly useful when one needs the same sequence on two "
+"different machines."
+msgstr ""
+"POSIX 1003.1-2003 では、 B<rand>()  と B<srand>()  の実装例として以下を挙げて"
+"いる。これは、異なる2つのマシンで同じ乱数系列が 必要な場合には便利であろう。"
+
+#. type: Plain text
+#: build/C/man3/rand.3:170
+#, no-wrap
+msgid "static unsigned long next = 1;\n"
+msgstr "static unsigned long next = 1;\n"
+
+#. type: Plain text
+#: build/C/man3/rand.3:176
+#, no-wrap
+msgid ""
+"/* RAND_MAX assumed to be 32767 */\n"
+"int myrand(void) {\n"
+"    next = next * 1103515245 + 12345;\n"
+"    return((unsigned)(next/65536) % 32768);\n"
+"}\n"
+msgstr ""
+"/* RAND_MAX を 32767 と仮定 */\n"
+"int myrand(void) {\n"
+"    next = next * 1103515245 + 12345;\n"
+"    return((unsigned)(next/65536) % 32768);\n"
+"}\n"
+
+#. type: Plain text
+#: build/C/man3/rand.3:180
+#, no-wrap
+msgid ""
+"void mysrand(unsigned int seed) {\n"
+"    next = seed;\n"
+"}\n"
+msgstr ""
+"void mysrand(unsigned int seed) {\n"
+"    next = seed;\n"
+"}\n"
+
+#. type: Plain text
+#: build/C/man3/rand.3:187
+msgid ""
+"The following program can be used to display the pseudo-random sequence "
+"produced by B<rand>()  when given a particular seed."
+msgstr ""
+"以下のプログラムを使うと、特定の乱数の種が与えられた場合に\n"
+"B<rand>() が生成する疑似乱数系列を表示することができる。"
+
+#. type: Plain text
+#: build/C/man3/rand.3:192
+#, no-wrap
+msgid ""
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+msgstr ""
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+
+#. type: Plain text
+#: build/C/man3/rand.3:198
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    int j, r, nloops;\n"
+"    unsigned int seed;\n"
+msgstr ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    int j, r, nloops;\n"
+"    unsigned int seed;\n"
+
+#. type: Plain text
+#: build/C/man3/rand.3:203
+#, no-wrap
+msgid ""
+"    if (argc != 3) {\n"
+"        fprintf(stderr, \"Usage: %s E<lt>seedE<gt> E<lt>nloopsE<gt>\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+msgstr ""
+"    if (argc != 3) {\n"
+"        fprintf(stderr, \"Usage: %s E<lt>seedE<gt> E<lt>nloopsE<gt>\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+
+#. type: Plain text
+#: build/C/man3/rand.3:206
+#, no-wrap
+msgid ""
+"    seed = atoi(argv[1]);\n"
+"    nloops = atoi(argv[2]);\n"
+msgstr ""
+"    seed = atoi(argv[1]);\n"
+"    nloops = atoi(argv[2]);\n"
+
+#. type: Plain text
+#: build/C/man3/rand.3:212
+#, no-wrap
+msgid ""
+"    srand(seed);\n"
+"    for (j = 0; j E<lt> nloops; j++) {\n"
+"        r =  rand();\n"
+"        printf(\"%d\\en\", r);\n"
+"    }\n"
+msgstr ""
+"    srand(seed);\n"
+"    for (j = 0; j E<lt> nloops; j++) {\n"
+"        r =  rand();\n"
+"        printf(\"%d\\en\", r);\n"
+"    }\n"
+
+#. type: Plain text
+#: build/C/man3/rand.3:220
+msgid "B<drand48>(3), B<random>(3)"
+msgstr "B<drand48>(3), B<random>(3)"
+
+#. type: TH
+#: build/C/man3/random.3:33
+#, no-wrap
+msgid "RANDOM"
+msgstr "RANDOM"
+
+#. type: Plain text
+#: build/C/man3/random.3:36
+msgid "random, srandom, initstate, setstate - random number generator"
+msgstr "random, srandom, initstate, setstate - 乱数を生成する関数"
+
+#. type: Plain text
+#: build/C/man3/random.3:41
+#, no-wrap
+msgid "B<long int random(void);>\n"
+msgstr "B<long int random(void);>\n"
+
+#. type: Plain text
+#: build/C/man3/random.3:43
+#, no-wrap
+msgid "B<void srandom(unsigned int >I<seed>B<);>\n"
+msgstr "B<void srandom(unsigned int >I<seed>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/random.3:45
+#, no-wrap
+msgid "B<char *initstate(unsigned int >I<seed>B<, char *>I<state>B<, size_t >I<n>B<);>\n"
+msgstr "B<char *initstate(unsigned int >I<seed>B<, char *>I<state>B<, size_t >I<n>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/random.3:47
+#, no-wrap
+msgid "B<char *setstate(char *>I<state>B<);>\n"
+msgstr "B<char *setstate(char *>I<state>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/random.3:59
+msgid "B<random>(), B<srandom>(), B<initstate>(), B<setstate>():"
+msgstr "B<random>(), B<srandom>(), B<initstate>(), B<setstate>():"
+
+#. type: Plain text
+#: build/C/man3/random.3:62
+msgid ""
+"_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
+"\\ &&\\ _XOPEN_SOURCE_EXTENDED"
+msgstr ""
+"_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
+"\\ &&\\ _XOPEN_SOURCE_EXTENDED"
+
+#. type: Plain text
+#: build/C/man3/random.3:73
+msgid ""
+"The B<random>()  function uses a nonlinear additive feedback random number "
+"generator employing a default table of size 31 long integers to return "
+"successive pseudo-random numbers in the range from 0 to B<RAND_MAX>.  The "
+"period of this random number generator is very large, approximately I<16\\ *"
+"\\ ((2^31)\\ -\\ 1)>."
+msgstr ""
+"B<random>()  関数は、非線形加法フィードバックを用いた乱数生成関数である。 こ"
+"の関数は、0 から B<RAND_MAX> までの疑似乱数を返す。 そのために 31 個のロング"
+"整数からなるデフォルトの表を使用する。 この乱数を生成する関数の周期はとても長"
+"く、およそ I<16\\ *\\ ((2^31)\\ -\\ 1)> である。"
 
 #. type: Plain text
-#: build/C/man3/mbtowc.3:85
+#: build/C/man3/random.3:87
 msgid ""
-"The behavior of B<mbtowc>()  depends on the B<LC_CTYPE> category of the "
-"current locale."
+"The B<srandom>()  function sets its argument as the seed for a new sequence "
+"of pseudo-random integers to be returned by B<random>().  These sequences "
+"are repeatable by calling B<srandom>()  with the same seed value.  If no "
+"seed value is provided, the B<random>()  function is automatically seeded "
+"with a value of 1."
 msgstr ""
-"B<mbtowc>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
+"B<srandom>()  関数は、 B<random>()  で返される疑似乱数整数系列の種を設定す"
+"る。 そのためには新しい種を引数にして B<srandom>()  を呼べばよい。 "
+"B<random>()  で生成される系列は、 引数に同じ種の値を用いて B<srandom>()  を呼"
+"ぶことで再現可能である。 種の値が与えられない場合には B<random>()  関数は、自"
+"動的に 1 を種に設定する。"
 
 #. type: Plain text
-#: build/C/man3/mbtowc.3:91
+#: build/C/man3/random.3:102
 msgid ""
-"This function is not multithread safe.  The function B<mbrtowc>(3)  provides "
-"a better interface to the same functionality."
+"The B<initstate>()  function allows a state array I<state> to be initialized "
+"for use by B<random>().  The size of the state array I<n> is used by "
+"B<initstate>()  to decide how sophisticated a random number generator it "
+"should use\\(emthe larger the state array, the better the random numbers "
+"will be.  I<seed> is the seed for the initialization, which specifies a "
+"starting point for the random number sequence, and provides for restarting "
+"at the same point."
 msgstr ""
-"この関数はマルチスレッドでは安全ではない。 B<mbrtowc>(3)  関数は 同じ機能のよ"
-"り良いインターフェースを提供する。"
+"B<initstate>()  関数は、 B<random>()  で使用される状態配列 I<state> を初期化"
+"する。 B<initstate>()  では、状態配列の大きさ I<n> は 使用する関数の乱数生成"
+"の性能の程度を決定するために使用される \\(em 状態配列が大きい程、乱数の性能は"
+"よくなる。 I<seed> は初期化のための種である。 これは乱数系列の開始位置を決定"
+"するものであり、 この値を指定することで同一の開始位置から乱数の生成を 再開す"
+"ることができる。"
 
 #. type: Plain text
-#: build/C/man3/mbtowc.3:94
-msgid "B<MB_CUR_MAX>(3), B<mbrtowc>(3), B<mbstowcs>(3)"
-msgstr "B<MB_CUR_MAX>(3), B<mbrtowc>(3), B<mbstowcs>(3)"
+#: build/C/man3/random.3:118
+msgid ""
+"The B<setstate>()  function changes the state array used by the B<random>()  "
+"function.  The state array I<state> is used for random number generation "
+"until the next call to B<initstate>()  or B<setstate>().  I<state> must "
+"first have been initialized using B<initstate>()  or be the result of a "
+"previous call of B<setstate>()."
+msgstr ""
+"B<setstate>()  関数は、 B<random>()  で使用される状態配列を変更する。 状態配"
+"列 I<state> は、 B<initstate>()  または B<setstate>()  が 次に呼び出されるま"
+"で、乱数の生成に使用される。 I<state> は B<initstate>()  を用いて最初に初期化"
+"されているか、 以前に呼び出した B<setstate>()  の結果でなければならない。"
 
-#. type: TH
-#: build/C/man3/mkdtemp.3:24
-#, no-wrap
-msgid "MKDTEMP"
-msgstr "MKDTEMP"
+#. type: Plain text
+#: build/C/man3/random.3:126
+msgid ""
+"The B<random>()  function returns a value between 0 and B<RAND_MAX>.  The "
+"B<srandom>()  function returns no value."
+msgstr ""
+"関数 B<random>() と B<rand_r>() は 0 以上 B<RAND_MAX> 以下の数を返す。\n"
+"関数 B<srandom>() は値を返さない。"
 
 #. type: Plain text
-#: build/C/man3/mkdtemp.3:27
-msgid "mkdtemp - create a unique temporary directory"
-msgstr "mkdtemp - 他と重ならない一時的なディレクトリを作成する"
+#: build/C/man3/random.3:133
+msgid ""
+"The B<initstate>()  function returns a pointer to the previous state array.  "
+"On error, I<errno> is set to indicate the cause."
+msgstr ""
+"関数 B<initstate>() は、変更前の状態配列へのポインタを返す。エラーの場合、 "
+"I<errno> に原因を示す値が設定される。"
 
 #. type: Plain text
-#: build/C/man3/mkdtemp.3:32
-#, no-wrap
-msgid "B<char *mkdtemp(char *>I<template>B<);>\n"
-msgstr "B<char *mkdtemp(char *>I<template>B<);>\n"
+#: build/C/man3/random.3:140
+msgid ""
+"On success, B<setstate>()  returns a pointer to the previous state array.  "
+"On error, it returns NULL, with I<errno> set to indicate the cause of the "
+"error."
+msgstr ""
+"関数 B<setstate>() は、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
+"I<errno> にエラーの原因を示す値が設定される。"
 
 #. type: Plain text
-#: build/C/man3/mkdtemp.3:40
-msgid "B<mkdtemp>():"
-msgstr "B<mkdtemp>():"
+#: build/C/man3/random.3:148
+msgid "The I<state> argument given to B<setstate>()  was NULL."
+msgstr "B<setstate>() の引き数 I<state> が NULL であった。"
 
 #. type: Plain text
-#: build/C/man3/mkdtemp.3:45
-msgid "_BSD_SOURCE"
-msgstr "_BSD_SOURCE"
+#: build/C/man3/random.3:152
+msgid "A state array of less than 8 bytes was specified to B<initstate>()."
+msgstr "B<initstate>()  で8バイトよりも小さい状態配列を指定した。"
 
 #. type: Plain text
-#: build/C/man3/mkdtemp.3:47
-msgid "|| /* Since glibc 2.10: */"
-msgstr "|| /* Since glibc 2.10: */"
+#: build/C/man3/random.3:161
+msgid ""
+"The B<random>(), B<srandom>(), B<initstate>(), and B<setstate>()  functions "
+"are thread-safe."
+msgstr ""
+"関数 B<random>(), B<srandom>(), B<initstate>(), B<setstate>() はスレッドセー"
+"フである。"
 
 #. type: Plain text
-#: build/C/man3/mkdtemp.3:49
-msgid "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
-msgstr "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
+#: build/C/man3/random.3:163 build/C/man3/setenv.3:130
+msgid "4.3BSD, POSIX.1-2001."
+msgstr "4.3BSD, POSIX.1-2001."
 
 #. type: Plain text
-#: build/C/man3/mkdtemp.3:66
+#: build/C/man3/random.3:169
 msgid ""
-"The B<mkdtemp>()  function generates a uniquely named temporary directory "
-"from I<template>.  The last six characters of I<template> must be XXXXXX and "
-"these are replaced with a string that makes the directory name unique.  The "
-"directory is then created with permissions 0700.  Since it will be modified, "
-"I<template> must not be a string constant, but should be declared as a "
-"character array."
+"Current \"optimal\" values for the size of the state array I<n> are 8, 32, "
+"64, 128, and 256 bytes; other amounts will be rounded down to the nearest "
+"known amount.  Using less than 8 bytes will cause an error."
 msgstr ""
-"B<mkdtemp>()  関数は、他と重ならない名前の一時的なディレクトリを I<template> "
-"から作成する。 I<template> の後から 6 文字は XXXXXX でなければならない。 この"
-"部分はディレクトリ名を他と重ならなくするための 文字列で置き換えられる。 ディ"
-"レクトリは許可属性を 0700 として作成される。 I<template> は変更されるので、文"
-"字列定数にしてはならず、文字配列にすべきである。"
+"状態配列 I<n> の大きさの現在の「最適」値は 8、32、64、128、256 バイトであ"
+"る。 その他の量を指定した場合には、指定した量を越えない上述の値に 最も近い値"
+"になる。 8 バイト未満の量を指定した場合にはエラーの原因となる。"
 
 #. type: Plain text
-#: build/C/man3/mkdtemp.3:73
+#: build/C/man3/random.3:176
 msgid ""
-"The B<mkdtemp>()  function returns a pointer to the modified template string "
-"on success, and NULL on failure, in which case I<errno> is set appropriately."
+"This function should not be used in cases where multiple threads use "
+"B<random>()  and the behavior should be reproducible.  Use B<random_r>(3)  "
+"for that purpose."
 msgstr ""
-"成功した場合、 B<mkdtemp>()  関数は 変更された template 文字列へのポインタを"
-"返す。 失敗した場合は、NULL を返して、 I<errno> を適切に設定する。"
-
-#. type: SH
-#: build/C/man3/mkdtemp.3:73 build/C/man3/mkstemp.3:142
-#: build/C/man3/mktemp.3:84 build/C/man3/putenv.3:70 build/C/man3/random.3:130
-#: build/C/man3/random_r.3:100 build/C/man3/rpmatch.3:71
-#: build/C/man3/setenv.3:98 build/C/man3/strtod.3:154
-#: build/C/man3/strtol.3:124 build/C/man3/strtoul.3:127
-#, no-wrap
-msgid "ERRORS"
-msgstr "エラー"
-
-#. type: TP
-#: build/C/man3/mkdtemp.3:74 build/C/man3/mkstemp.3:147
-#: build/C/man3/mktemp.3:85 build/C/man3/random.3:131
-#: build/C/man3/random_r.3:101 build/C/man3/random_r.3:105
-#: build/C/man3/random_r.3:114 build/C/man3/setenv.3:99
-#: build/C/man3/strtol.3:125 build/C/man3/strtoul.3:128
-#, no-wrap
-msgid "B<EINVAL>"
-msgstr "B<EINVAL>"
+"複数のスレッドが B<random>()  を使うような状況では、この関数を使用すべきでは"
+"ない。 その場合には B<random_r>(3)  を使うこと。"
 
 #. type: Plain text
-#: build/C/man3/mkdtemp.3:78
+#: build/C/man3/random.3:183
 msgid ""
-"The last six characters of I<template> were not XXXXXX.  Now I<template> is "
-"unchanged."
+"Random-number generation is a complex topic.  I<Numerical Recipes in C: The "
+"Art of Scientific Computing> (William H. Press, Brian P. Flannery, Saul A. "
+"Teukolsky, William T. Vetterling; New York: Cambridge University Press, "
+"2007, 3rd ed.)  provides an excellent discussion of practical random-number "
+"generation issues in Chapter 7 (Random Numbers)."
 msgstr ""
-"I<template> の最後の 6 文字が XXXXXX でない。この場合、I<template> は変更され"
-"ない。"
+"乱数の生成は複雑な話題である。 I<Numerical Recipes in C: The Art of "
+"Scientific Computing> (William H. Press, Brian P. Flannery, Saul A. "
+"Teukolsky, William T. Vetterling; New York: Cambridge University Press, "
+"2007, 3rd ed.)  では実用的な乱数生成を論点とした優れた議論が第 7 章 (乱数) で"
+"展開されている。"
 
 #. type: Plain text
-#: build/C/man3/mkdtemp.3:82
-msgid "Also see B<mkdir>(2)  for other possible values for I<errno>."
-msgstr "I<errno> に設定される他の値については、 B<mkdir>(2)  を参照すること。"
+#: build/C/man3/random.3:189
+msgid ""
+"For a more theoretical discussion which also covers many practical issues in "
+"depth, see Chapter 3 (Random Numbers) in Donald E. Knuth's I<The Art of "
+"Computer Programming>, volume 2 (Seminumerical Algorithms), 2nd ed.; "
+"Reading, Massachusetts: Addison-Wesley Publishing Company, 1981."
+msgstr ""
+"より理論的な議論については Donald E. Knuth の I<The Art of Computer "
+"Programming>, volume 2 (Seminumerical Algorithms), 2nd ed.; Reading, "
+"Massachusetts: Addison-Wesley Publishing Company, 1981 の第 3 章 (乱数) を見"
+"よ。ここでは、 たくさんの実用的な話題についても深く網羅されている。"
 
+#.  http://sourceware.org/bugzilla/show_bug.cgi?id=15380
 #. type: Plain text
-#: build/C/man3/mkdtemp.3:84
-msgid "Available since glibc 2.1.91."
-msgstr "OpenBSD 2.2 で導入された。"
+#: build/C/man3/random.3:197
+msgid ""
+"According to POSIX, B<initstate>()  should return NULL on error.  In the "
+"glibc implementation, I<errno> is (as specified) set on error, but the "
+"function does not return NULL."
+msgstr ""
+"POSIX では、エラー時に B<initstate>() は NULL を返すべきとされている。 glibc "
+"の実装では、エラー時に I<errno> は仕様通りに設定されるが、関数の返り値は "
+"NULL ではない。"
 
-#.  As at 2006, this function is being considered for a revision of POSIX.1
-#.  Also in NetBSD 1.4.
 #. type: Plain text
-#: build/C/man3/mkdtemp.3:89
-msgid "POSIX.1-2008.  This function is present on the BSDs."
-msgstr "POSIX.1-2008.  この関数は BSD に存在する。"
+#: build/C/man3/random.3:202
+msgid "B<drand48>(3), B<rand>(3), B<random_r>(3), B<srand>(3)"
+msgstr "B<drand48>(3), B<rand>(3), B<random_r>(3), B<srand>(3)"
+
+#. type: TH
+#: build/C/man3/random_r.3:26
+#, no-wrap
+msgid "RANDOM_R"
+msgstr "RANDOM_R"
 
 #. type: Plain text
-#: build/C/man3/mkdtemp.3:95
+#: build/C/man3/random_r.3:30
 msgid ""
-"B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), "
-"B<tmpnam>(3)"
+"random_r, srandom_r, initstate_r, setstate_r - reentrant random number "
+"generator"
 msgstr ""
-"B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), "
-"B<tmpnam>(3)"
+"random_r, srandom_r, initstate_r, setstate_r - リエントラントな 乱数生成器"
 
-#. type: TH
-#: build/C/man3/mkstemp.3:33
+#. type: Plain text
+#: build/C/man3/random_r.3:35
 #, no-wrap
-msgid "MKSTEMP"
-msgstr "MKSTEMP"
+msgid "B<int random_r(struct random_data *>I<buf>B<, int32_t *>I<result>B<);>\n"
+msgstr "B<int random_r(struct random_data *>I<buf>B<, int32_t *>I<result>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:36
-msgid "mkstemp, mkostemp - create a unique temporary file"
-msgstr "mkstemp, mkostemp - 他と重ならない名前を持つ一時ファイルを作成する"
+#: build/C/man3/random_r.3:37
+#, no-wrap
+msgid "B<int srandom_r(unsigned int >I<seed>B<, struct random_data *>I<buf>B<);>\n"
+msgstr "B<int srandom_r(unsigned int >I<seed>B<, struct random_data *>I<buf>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:41
+#: build/C/man3/random_r.3:40
 #, no-wrap
-msgid "B<int mkstemp(char *>I<template>B<);>\n"
-msgstr "B<int mkstemp(char *>I<template>B<);>\n"
+msgid ""
+"B<int initstate_r(unsigned int >I<seed>B<, char *>I<statebuf>B<,>\n"
+"B<                size_t >I<statelen>B<, struct random_data *>I<buf>B<);>\n"
+msgstr ""
+"B<int initstate_r(unsigned int >I<seed>B<, char *>I<statebuf>B<,>\n"
+"B<                size_t >I<statelen>B<, struct random_data *>I<buf>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:43
+#: build/C/man3/random_r.3:42
 #, no-wrap
-msgid "B<int mkostemp(char *>I<template>B<, int >I<flags>B<);>\n"
-msgstr "B<int mkostemp(char *>I<template>B<, int >I<flags>B<);>\n"
+msgid "B<int setstate_r(char *>I<statebuf>B<, struct random_data *>I<buf>B<);>\n"
+msgstr "B<int setstate_r(char *>I<statebuf>B<, struct random_data *>I<buf>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:45
-#, no-wrap
-msgid "B<int mkstemps(char *>I<template>B<, int >I<suffixlen>B<);>\n"
-msgstr "B<int mkstemps(char *>I<template>B<, int >I<suffixlen>B<);>\n"
+#: build/C/man3/random_r.3:54
+msgid "B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>():"
+msgstr "B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>():"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:47
-#, no-wrap
-msgid "B<int mkostemps(char *>I<template>B<, int >I<suffixlen>B<, int >I<flags>B<);>\n"
-msgstr "B<int mkostemps(char *>I<template>B<, int >I<suffixlen>B<, int >I<flags>B<);>\n"
+#: build/C/man3/random_r.3:56
+msgid "_SVID_SOURCE || _BSD_SOURCE"
+msgstr "_SVID_SOURCE || _BSD_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:55
-msgid "B<mkstemp>():"
-msgstr "B<mkstemp>():"
+#: build/C/man3/random_r.3:64
+msgid ""
+"These functions are the reentrant equivalents of the functions described in "
+"B<random>(3).  They are suitable for use in multithreaded programs where "
+"each thread needs to obtain an independent, reproducible sequence of random "
+"numbers."
+msgstr ""
+"これらの関数は、 B<random>(3)  で説明されている関数のリエントラント版で、等価"
+"な機能を持つ。 これらは、独立した再現可能な乱数列を各スレッドが得る必要がある"
+"ような マルチスレッド・プログラムでの使用に適している。"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:60 build/C/man3/mktemp.3:61
+#: build/C/man3/random_r.3:75
 msgid ""
-"_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
-"\\ &&\\ _XOPEN_SOURCE_EXTENDED"
+"The B<random_r>()  function is like B<random>(3), except that instead of "
+"using state information maintained in a global variable, it uses the state "
+"information in the argument pointed to by I<buf>.  The generated random "
+"number is returned in the argument I<result>."
 msgstr ""
-"_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
-"\\ &&\\ _XOPEN_SOURCE_EXTENDED"
+"B<random_r>()  関数は B<random>(3)  と同様だが、 大域変数 (global variable) "
+"で管理される状態情報を使うのではなく、 I<buf> が指す引き数に格納された状態情"
+"報を使う。 生成された乱数は引き数 I<result> に格納されて返される。"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:62
-msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
-msgstr "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
+#: build/C/man3/random_r.3:84
+msgid ""
+"The B<srandom_r>()  function is like B<srandom>(3), except that it "
+"initializes the seed for the random number generator whose state is "
+"maintained in the object pointed to by I<buf>, instead of the seed "
+"associated with the global state variable."
+msgstr ""
+"B<srandom_r>()  関数は B<srandom>(3)  と同様だが、 大域変数で管理される状態に"
+"対応する乱数生成器の種ではなく、 I<buf> が指すオブジェクトで管理される状態に"
+"対応する乱数生成器の種を 初期化する。"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:68
-msgid "B<mkostemp>(): _GNU_SOURCE"
-msgstr "B<mkostemp>(): _GNU_SOURCE"
+#: build/C/man3/random_r.3:92
+msgid ""
+"The B<initstate_r>()  function is like B<initstate>(3)  except that it "
+"initializes the state in the object pointed to by I<buf>, rather than "
+"initializing the global state variable."
+msgstr ""
+"B<initstate_r>()  関数は B<initstate>(3)  と同様だが、大域変数で管理される状"
+"態を初期化するのではなく、 I<buf> が指すオブジェクト内の状態を初期化する。"
+
+#. type: Plain text
+#: build/C/man3/random_r.3:100
+msgid ""
+"The B<setstate_r>()  function is like B<setstate>(3)  except that it "
+"modifies the state in the object pointer to by I<buf>, rather than modifying "
+"the global state variable."
+msgstr ""
+"B<setstate_r>()  関数は B<setstate>(3)  と同様だが、大域変数で管理される状態"
+"を変更するのではなく、 I<buf> が指すオブジェクト内の状態を変更する。"
+
+#. type: Plain text
+#: build/C/man3/random_r.3:105
+msgid ""
+"All of these functions return 0 on success.  On error, -1 is returned, with "
+"I<errno> set to indicate the cause of the error."
+msgstr ""
+"これらの関数はすべて、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
+"I<errno> にエラーの原因を示す値がセットされる。"
+
+#. type: Plain text
+#: build/C/man3/random_r.3:110
+msgid "A state array of less than 8 bytes was specified to B<initstate_r>()."
+msgstr "8 バイトより小さい状態配列が B<initstate_r>()  に指定された。"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:71
-msgid "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
-msgstr "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
+#: build/C/man3/random_r.3:119
+msgid "The I<statebuf> or I<buf> argument to B<setstate_r>()  was NULL."
+msgstr "B<setstate_r>()  の引き数 I<statebuf> か I<buf> が NULL であった。"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:74
-msgid "B<mkostemps>(): _GNU_SOURCE"
-msgstr "B<mkostemps>(): _GNU_SOURCE"
+#: build/C/man3/random_r.3:128
+msgid "The I<buf> or I<result> argument to B<random_r>()  was NULL."
+msgstr "B<random_r>()  の引き数 I<buf> か I<result> が NULL であった。"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:81
+#: build/C/man3/random_r.3:137
 msgid ""
-"The B<mkstemp>()  function generates a unique temporary filename from "
-"I<template>, creates and opens the file, and returns an open file descriptor "
-"for the file."
+"The B<random_r>(), B<srandom_r>(), B<initstate_r>(), and B<setstate_r>()  "
+"functions are thread-safe."
 msgstr ""
-"関数 B<mkstemp>()  は引数 I<template> から他と重ならない一時ファイル名を生成"
-"し、 そのファイルの作成とオープンを行い、 そのファイルに対するオープン済みの"
-"ファイルディスクリプタを返す。"
+"関数 B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>() はス"
+"レッドセーフである。"
 
+#.  These functions appear to be on Tru64, but don't seem to be on
+#.  Solaris, HP-UX, or FreeBSD.
 #. type: Plain text
-#: build/C/man3/mkstemp.3:89
-msgid ""
-"The last six characters of I<template> must be \"XXXXXX\" and these are "
-"replaced with a string that makes the filename unique.  Since it will be "
-"modified, I<template> must not be a string constant, but should be declared "
-"as a character array."
-msgstr ""
-"引数 I<template> で指示する文字列の後ろの 6 文字は XXXXXX である必要がある。 "
-"この部分がファイル名を他と重ならないようにする文字で置き換えられる。 "
-"I<template> は書き換えられるため、文字列定数ではなく文字配列として 宣言するよ"
-"うにしなければならない。"
+#: build/C/man3/random_r.3:141
+msgid "These functions are nonstandard glibc extensions."
+msgstr "これらの関数は非標準で glibc による拡張である。"
+
+#. type: TH
+#: build/C/man3/rpmatch.3:29
+#, no-wrap
+msgid "RPMATCH"
+msgstr "RPMATCH"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:99
+#: build/C/man3/rpmatch.3:32
 msgid ""
-"The file is created with permissions 0600, that is, read plus write for "
-"owner only.  (In glibc versions 2.06 and earlier, the file is created with "
-"permissions 0666, that is, read and write for all users.)  The returned file "
-"descriptor provides both read and write access to the file.  The file is "
-"opened with the B<open>(2)  B<O_EXCL> flag, guaranteeing that the caller is "
-"the process that creates the file."
-msgstr ""
-"ファイルは許可モード 0600 で作成され、所有者のみが読み書き可能である (glibc "
-"バージョン 2.06 以前では、ファイルは許可モード 0666 で作成され、 全てのユーザ"
-"が読み書き可能であった)。 返されるファイルディスクリプタで、このファイルへの"
-"読み書き両方のアクセスが 可能である。 呼び出し者がそのファイルを作成するプロ"
-"セスであることを保証するために、 ファイルは B<open>(2)  の B<O_EXCL> フラグ付"
-"きでオープンされる。"
+"rpmatch - determine if the answer to a question is affirmative or negative"
+msgstr "rpmatch - 質問への応答が肯定か否定かを判定する"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:111
-msgid ""
-"The B<mkostemp>()  function is like B<mkstemp>(), with the difference that "
-"flags as for B<open>(2)  may be specified in I<flags> (e.g., B<O_APPEND>, "
-"B<O_SYNC>)."
-msgstr ""
-"B<mkostemp>() 関数は B<mkstemp>() と同様だが、B<open>(2) に渡される\n"
-"フラグ O_APPENDB<,> B<O_SYNC> など) を I<flags> で指定できる点が異なる"
+#: build/C/man3/rpmatch.3:37
+#, no-wrap
+msgid "B<int rpmatch(const char *>I<response>B<);>\n"
+msgstr "B<int rpmatch(const char *>I<response>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:127
-msgid ""
-"The B<mkstemps>()  function is like B<mkstemp>(), except that the string in "
-"I<template> contains a suffix of I<suffixlen> characters.  Thus, I<template> "
-"is of the form I<prefixXXXXXXsuffix>, and the string XXXXXX is modified as "
-"for B<mkstemp>()."
-msgstr ""
+#: build/C/man3/rpmatch.3:46
+msgid "B<rpmatch>(): _SVID_SOURCE"
+msgstr "B<rpmatch>(): _SVID_SOURCE"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:136
+#: build/C/man3/rpmatch.3:50
 msgid ""
-"The B<mkostemps>()  function is to B<mkstemps>()  as B<mkostemp>()  is to "
-"B<mkstemp>()."
+"B<rpmatch>()  handles a user response to yes or no questions, with support "
+"for internationalization."
 msgstr ""
+"B<rpmatch>()  は yes/no の質問に対するユーザからの応答を処理する。 国際化 "
+"(I18N) に対応している。"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:142
+#: build/C/man3/rpmatch.3:57
 msgid ""
-"On success, these functions return the file descriptor of the temporary "
-"file.  On error, -1 is returned, and I<errno> is set appropriately."
+"I<response> should be a null-terminated string containing a user-supplied "
+"response, perhaps obtained with B<fgets>(3)  or B<getline>(3)."
 msgstr ""
-"成功すると、これらの関数は一時ファイルのファイルディスクリプタを返す。 エラー"
-"の場合は、-1 を返し、 I<errno> を適切に設定する。"
-
-#. type: TP
-#: build/C/man3/mkstemp.3:143
-#, no-wrap
-msgid "B<EEXIST>"
-msgstr "B<EEXIST>"
+"I<response> にはユーザからの応答を格納したヌル終端文字列が入っている必要があ"
+"る。 たいていは、 B<fgets>(3)  や B<getline>(3)  で取り込んだものであろう。"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:147
+#: build/C/man3/rpmatch.3:67
 msgid ""
-"Could not create a unique temporary filename.  Now the contents of "
-"I<template> are undefined."
+"The user's language preference is taken into account per the environment "
+"variables B<LANG>, B<LC_MESSAGES>, and B<LC_ALL>, if the program has called "
+"B<setlocale>(3)  to effect their changes."
 msgstr ""
-"すでに同じ名前を持つファイルが存在した。 I<template> の内容は不定である。"
+"プログラムが B<setlocale>(3)  を呼び出して環境変数の変更を有効にした場合、 環"
+"境変数 B<LANG>, B<LC_MESSAGES>, B<LC_ALL> が ユーザの言語設定として考慮され"
+"る。"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:155
+#: build/C/man3/rpmatch.3:73
 msgid ""
-"For B<mkstemp>()  and B<mkostemp>(): The last six characters of I<template> "
-"were not XXXXXX; now I<template> is unchanged."
+"Regardless of the locale, responses matching B<^[Yy]> are always accepted as "
+"affirmative, and those matching B<^[Nn]> are always accepted as negative."
 msgstr ""
-"B<mkstemp>() と B<mkostemp>() の場合:\n"
-"I<template> の最後の 6 文字が XXXXXX でなかった。\n"
-"この場合、I<template> は変更されない。"
+"ロケールに関わらず、B<^[Yy]> にマッチする応答は常に肯定だと解釈され、 "
+"B<^[Nn]> にマッチする応答は常に否定だと解釈される。"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:166
+#: build/C/man3/rpmatch.3:82
 msgid ""
-"For B<mkstemps>()  and B<mkostemps>(): I<template> is less than I<(6 + "
-"suffixlen)> characters long, or the last 6 characters before the suffix in "
-"I<template> were not XXXXXX."
+"After examining I<response>, B<rpmatch>()  returns 0 for a recognized "
+"negative response (\"no\"), 1 for a recognized positive response (\"yes\"), "
+"and -1 when the value of I<response> is unrecognized."
 msgstr ""
+"I<response> を検査した後、 B<rpmatch>()  は否定的な応答 (\"no\") と認識した場"
+"合は 0 を返し、 肯定的な応答 (\"yes\") と認識した場合は 1 を返す。 "
+"I<response> の値を解釈できなかった場合は -1 を返す。"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:169
+#: build/C/man3/rpmatch.3:86
 msgid ""
-"These functions may also fail with any of the errors described for B<open>"
-"(2)."
-msgstr "これらの関数は B<open>(2) に書かれているエラーのいずれかで失敗することもある。"
+"A return value of -1 may indicate either an invalid input, or some other "
+"error.  It is incorrect to only test if the return value is nonzero."
+msgstr ""
+"返り値 -1 が返った場合、入力が不正であったか、他の何らかのエラーが あったこと"
+"を意味する。返り値が 0 以外かどうかを確認するだけでは 十分ではない。"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:176
+#: build/C/man3/rpmatch.3:99
 msgid ""
-"B<mkostemp>()  is available since glibc 2.7.  B<mkstemps>()  and B<mkostemps>"
-"()  are available since glibc 2.11."
+"B<rpmatch>()  can fail for any of the reasons that B<regcomp>(3)  or "
+"B<regexec>(3)  can fail; the cause of the error is not available from "
+"I<errno> or anywhere else, but indicates a failure of the regex engine (but "
+"this case is indistinguishable from that of an unrecognized value of "
+"I<response>)."
 msgstr ""
-"B<mkostemp>() は glibc 2.7 以降で利用できる。\n"
-"B<mkstemps>() と B<mkostemps>() は glibc 2.11 以降で利用できる。"
+"B<rpmatch>()  は、 B<regcomp>(3)  や B<regexec>(3)  が失敗する理由のどれかで"
+"失敗することがある。 エラーの原因を I<errno> や他の何かで知ることはできない"
+"が、 I<errno> は正規表現エンジンの失敗の原因を示している (但し、このケースと "
+"I<response> の値を認識できずに失敗した場合を区別することはできない)。"
 
+#.  It is available on at least AIX 5.1 and FreeBSD 6.0.
 #. type: Plain text
-#: build/C/man3/mkstemp.3:179
-msgid "B<mkstemp>(): 4.3BSD, POSIX.1-2001."
-msgstr "B<mkstemp>(): 4.3BSD, POSIX.1-2001."
+#: build/C/man3/rpmatch.3:104
+msgid ""
+"B<rpmatch>()  is not required by any standard, but is available on a few "
+"other systems."
+msgstr ""
+"B<rpmatch>()  はどの標準でも必須となっていないが、 Linux 以外にも利用できるシ"
+"ステムもいくつかは存在する。"
 
-#.  mkstemps() appears to be at least on the BSDs, Mac OS X, Solaris,
-#.  and Tru64.
 #. type: Plain text
-#: build/C/man3/mkstemp.3:184
-msgid "B<mkstemps>(): unstandardized, but appears on several other systems."
-msgstr "B<mkstemps>(): 標準化されていないが、他のいくつかのシステムにも存在する。"
+#: build/C/man3/rpmatch.3:119
+msgid ""
+"The B<rpmatch>()  implementation looks at only the first character of "
+"I<response>.  As a consequence, \"nyes\" returns 0, and \"ynever; not in a "
+"million years\" returns 1.  It would be preferable to accept input strings "
+"much more strictly, for example (using the extended regular expression "
+"notation described in B<regex>(7)): B<^([yY]|yes|YES)$> and B<^([nN]|no|"
+"NO)$>."
+msgstr ""
+"B<rpmatch>()  の実装は I<response> の最初の 1 文字だけを見ているようである。"
+"その結果、 \"nyes\" は 0 を返し、 \"ynever; not in a million years\" は 1 を"
+"返すことになる。 入力文字列をもっと厳密に解釈した方がよいだろう。 例えば、 "
+"(B<regex>(7)  で説明されている拡張正規表現を使って)  B<^([yY]|yes|YES)$> や "
+"B<^([nN]|no|NO)$> で解釈するなど。"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:189
-msgid "B<mkostemp>()  and B<mkostemps>(): are glibc extensions."
-msgstr "B<mkostemp>() と B<mkostemps>(): glibc による拡張。"
+#: build/C/man3/rpmatch.3:123
+msgid ""
+"The following program displays the results when B<rpmatch>()  is applied to "
+"the string given in the program's command-line argument."
+msgstr ""
+"以下のプログラムは、コマンドライン引き数で 指定された文字列を B<rpmatch>()  "
+"に渡した場合の結果を表示する。"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:193
+#: build/C/man3/rpmatch.3:130
+#, no-wrap
 msgid ""
-"The old behavior of creating a file with mode 0666 may be a security risk, "
-"especially since other UNIX flavors use 0600, and somebody might overlook "
-"this detail when porting programs."
+"#define _SVID_SOURCE\n"
+"#include E<lt>locale.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
 msgstr ""
-"許可モード 0666 でファイルを作成するという古い動作は、 セキュリティ上のリスク\n"
-"になる場合がある。 特に他の UNIX では許可モードとして 0600 を使うため、\n"
-"プログラムを移植する際、この細かな違いを見落とす可能性があるからだ。"
+"#define _SVID_SOURCE\n"
+"#include E<lt>locale.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:204
+#: build/C/man3/rpmatch.3:138
+#, no-wrap
 msgid ""
-"More generally, the POSIX specification of B<mkstemp>()  does not say "
-"anything about file modes, so the application should make sure its file mode "
-"creation mask (see B<umask>(2))  is set appropriately before calling "
-"B<mkstemp>()  (and B<mkostemp>())."
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    if (argc != 2 || strcmp(argv[1], \"--help\") == 0) {\n"
+"        fprintf(stderr, \"%s response\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
 msgstr ""
-"より一般的には、 B<mkstemp>()  の POSIX 規定ではファイルモードについて何も述"
-"べていない。 従って、アプリケーションは B<mkstemp>()  (や B<mkostemp>())  を"
-"呼び出す前にファイルモード生成マスク (B<umask>(2)  参照) が適切に設定されてい"
-"るか確認するべきである。"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    if (argc != 2 || strcmp(argv[1], \"--help\") == 0) {\n"
+"        fprintf(stderr, \"%s response\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:211
+#: build/C/man3/rpmatch.3:143
+#, no-wrap
 msgid ""
-"The prototype for B<mktemp>()  is in I<E<lt>unistd.hE<gt>> for libc4, libc5, "
-"glibc1; glibc2 follows POSIX.1 and has the prototype in I<E<lt>stdlib."
-"hE<gt>>."
+"    setlocale(LC_ALL, \"\");\n"
+"    printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
+"    exit(EXIT_SUCCESS);\n"
+"}\n"
 msgstr ""
-"B<mktemp>()  のプロトタイプ宣言は、libc4, libc5, glibc1 では I<E<lt>unistd."
-"hE<gt>> に含まれる; glibc2 では POSIX.1 に準拠し I<E<lt>stdlib.hE<gt>> に含ま"
-"れている。"
+"    setlocale(LC_ALL, \"\");\n"
+"    printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
+"    exit(EXIT_SUCCESS);\n"
+"}\n"
 
 #. type: Plain text
-#: build/C/man3/mkstemp.3:216
-msgid "B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
+#: build/C/man3/rpmatch.3:150
+msgid ""
+"B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), B<setlocale>(3)"
 msgstr ""
-"B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
+"B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), B<setlocale>(3)"
 
 #. type: TH
-#: build/C/man3/mktemp.3:32
+#: build/C/man3/setenv.3:37
 #, no-wrap
-msgid "MKTEMP"
-msgstr "MKTEMP"
-
-#. type: Plain text
-#: build/C/man3/mktemp.3:35
-msgid "mktemp - make a unique temporary filename"
-msgstr "mktemp - 他と重ならないテンポラリファイル名を作成する"
+msgid "SETENV"
+msgstr "SETENV"
 
-#. type: Plain text
-#: build/C/man3/mktemp.3:40
+#. type: TH
+#: build/C/man3/setenv.3:37
 #, no-wrap
-msgid "B<char *mktemp(char *>I<template>B<);>\n"
-msgstr "B<char *mktemp(char *>I<template>B<);>\n"
+msgid "2013-10-11"
+msgstr "2013-10-11"
 
 #. type: Plain text
-#: build/C/man3/mktemp.3:48
-msgid "B<mktemp>():"
-msgstr "B<mktemp>():"
+#: build/C/man3/setenv.3:40
+msgid "setenv - change or add an environment variable"
+msgstr "setenv - 環境変数を変更または追加する"
 
 #. type: Plain text
-#: build/C/man3/mktemp.3:57
+#: build/C/man3/setenv.3:45
 #, no-wrap
-msgid ""
-"_BSD_SOURCE || _SVID_SOURCE ||\n"
-"    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
-"         _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
-"    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
-msgstr ""
-"_BSD_SOURCE || _SVID_SOURCE ||\n"
-"    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
-"         _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
-"    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
-
-#. type: Plain text
-#: build/C/man3/mktemp.3:75
-msgid ""
-"The B<mktemp>()  function generates a unique temporary filename from "
-"I<template>.  The last six characters of I<template> must be XXXXXX and "
-"these are replaced with a string that makes the filename unique.  Since it "
-"will be modified, I<template> must not be a string constant, but should be "
-"declared as a character array."
-msgstr ""
-"関数 B<mktemp>()  は引数 I<template> から他と重ならない テンポラリファイル名"
-"を作成する。引数 I<template> で指示する文字配列 の後6文字は XXXXXX である必要"
-"がある。この部分がファイル名を他と 重ならないにするような文字で置き換えられ"
-"る。 I<template> は書き換えられるため、文字列定数ではなく文字配列として宣言す"
-"るように しなければならない。"
+msgid "B<int setenv(const char *>I<name>B<, const char *>I<value>B<, int >I<overwrite>B<);>\n"
+msgstr "B<int setenv(const char *>I<name>B<, const char *>I<value>B<, int >I<overwrite>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/mktemp.3:84
-msgid ""
-"The B<mktemp>()  function always returns I<template>.  If a unique name was "
-"created, the last six bytes of I<template> will have been modified in such a "
-"way that the resulting name is unique (i.e., does not exist already)  If a "
-"unique name could not be created, I<template> is made an empty string."
-msgstr ""
-"関数 B<mktemp>()  は常に I<template> を戻す。 一意な名前が作成された場合、 "
-"I<template> の最後の 6 バイトに 他と重ならない名前 (それまでに出ていない名"
-"前) になるような値が格納される。 一意な名前が作成できなかった場合には、 "
-"I<template> には空文字列がセットされる。"
+#: build/C/man3/setenv.3:47
+#, no-wrap
+msgid "B<int unsetenv(const char *>I<name>B<);>\n"
+msgstr "B<int unsetenv(const char *>I<name>B<);>\n"
 
-#. type: Plain text
-#: build/C/man3/mktemp.3:88
-msgid "The last six characters of I<template> were not XXXXXX."
-msgstr "引数 I<template> で指示された文字列の後6文字が XXXXXX でない。"
+#. type: Plain text
+#: build/C/man3/setenv.3:57
+msgid "B<setenv>(), B<unsetenv>():"
+msgstr "B<setenv>(), B<unsetenv>():"
 
 #. type: Plain text
-#: build/C/man3/mktemp.3:92
+#: build/C/man3/setenv.3:59
 msgid ""
-"4.3BSD, POSIX.1-2001.  POSIX.1-2008 removes the specification of B<mktemp>()."
+"_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
+"\\ 600"
 msgstr ""
-"4.3BSD, POSIX.1-2001.  POSIX.1-2008 では B<mktemp>()  の仕様が削除されてい"
-"る。"
+"_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
+"\\ 600"
 
 #. type: Plain text
-#: build/C/man3/mktemp.3:98
+#: build/C/man3/setenv.3:94
 msgid ""
-"The prototype is in I<E<lt>unistd.hE<gt>> for libc4, libc5, glibc1; glibc2 "
-"follows the Single UNIX Specification and has the prototype in I<E<lt>stdlib."
-"hE<gt>>."
+"The B<setenv>()  function adds the variable I<name> to the environment with "
+"the value I<value>, if I<name> does not already exist.  If I<name> does "
+"exist in the environment, then its value is changed to I<value> if "
+"I<overwrite> is nonzero; if I<overwrite> is zero, then the value of I<name> "
+"is not changed (and B<setenv>()  returns a success status).  This function "
+"makes copies of the strings pointed to by I<name> and I<value> (by contrast "
+"with B<putenv>(3))."
 msgstr ""
-"libc4, libc5, glibc1 でのプロトタイプ宣言は I<E<lt>unistd.hE<gt>> に含まれ"
-"る; glibc2 では Single UNIX Specification に従って I<E<lt>stdlib.hE<gt>> に含"
-"まれている。"
-
-#. type: SH
-#: build/C/man3/mktemp.3:98 build/C/man3/rpmatch.3:90
-#: build/C/man3/setenv.3:121
-#, no-wrap
-msgid "BUGS"
-msgstr "バグ"
+"B<setenv>()  関数は、I<name> が存在しない場合 環境変数 I<name> に値 I<value> "
+"を設定し、環境に追加する。 I<name> が環境に存在する場合、I<overwrite> が 0 以"
+"外ならば その値を I<value> に変更し、I<overwrite> が 0 ならば I<name> の値を"
+"変更しない (B<setenv>() は成功のステータスを返す)。 この関数は、 "
+"(B<putenv>(3)  と違い)  I<name> と I<value> により参照される文字列のコピーを"
+"行う。"
 
 #. type: Plain text
-#: build/C/man3/mktemp.3:111
+#: build/C/man3/setenv.3:105
 msgid ""
-"Never use B<mktemp>().  Some implementations follow 4.3BSD and replace "
-"XXXXXX by the current process ID and a single letter, so that at most 26 "
-"different names can be returned.  Since on the one hand the names are easy "
-"to guess, and on the other hand there is a race between testing whether the "
-"name exists and opening the file, every use of B<mktemp>()  is a security "
-"risk.  The race is avoided by B<mkstemp>(3)."
+"The B<unsetenv>()  function deletes the variable I<name> from the "
+"environment.  If I<name> does not exist in the environment, then the "
+"function succeeds, and the environment is unchanged."
 msgstr ""
-"B<mktemp>()  を決して使わないこと。4.3BSD 系の実装や XXXXXX を プロセス ID と"
-"1文字により置き換える方式ではせいぜい26の名前を返す ことができるにすぎない。 "
-"この名前は簡単に推測できることや、その名前がすでに存在しているかどうか テスト"
-"して、そのファイルをオープンする間に競合がある事から、 B<mktemp>()  を使うの"
-"は毎回セキュリティリスクをおかすことになる。 この競合は B<mkstemp>(3)  を使う"
-"ことで避けられる。"
+"B<unsetenv>()  関数は、変数 I<name> を環境から削除する。 I<name> が環境にない"
+"場合、この関数は成功し、環境は変更されない。"
 
 #. type: Plain text
-#: build/C/man3/mktemp.3:115
-msgid "B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
-msgstr "B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
-
-#. type: TH
-#: build/C/man3/on_exit.3:29
-#, no-wrap
-msgid "ON_EXIT"
-msgstr "ON_EXIT"
+#: build/C/man3/setenv.3:112
+msgid ""
+"The B<setenv>()  function returns zero on success, or -1 on error, with "
+"I<errno> set to indicate the cause of the error."
+msgstr ""
+"B<setenv>()  関数は、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
+"I<errno> にエラーの原因を示す値がセットされる。"
 
 #. type: Plain text
-#: build/C/man3/on_exit.3:32
+#: build/C/man3/setenv.3:119
 msgid ""
-"on_exit - register a function to be called at normal process termination"
-msgstr "on_exit - プロセスが正常に終了した際に呼ばれる関数を登録する"
+"The B<unsetenv>()  function returns zero on success, or -1 on error, with "
+"I<errno> set to indicate the cause of the error."
+msgstr ""
+"B<unsetenv>()  関数は、成功すると 0 を返す。 エラーの場合は -1 を返し、 "
+"I<errno> を設定してエラーの原因を示す。"
 
 #. type: Plain text
-#: build/C/man3/on_exit.3:37
-#, no-wrap
-msgid "B<int on_exit(void (*>I<function>B<)(int , void *), void *>I<arg>B<);>\n"
-msgstr "B<int on_exit(void (*>I<function>B<)(int , void *), void *>I<arg>B<);>\n"
+#: build/C/man3/setenv.3:125
+msgid ""
+"I<name> is NULL, points to a string of length 0, or contains an \\(aq=\\(aq "
+"character."
+msgstr ""
+"I<name> が NULL であるか、長さが 0 の文字列を指しているか、 \\(aq=\\(aq 文字"
+"が含まれている。"
 
 #. type: Plain text
-#: build/C/man3/on_exit.3:46
-msgid "B<on_exit>(): _BSD_SOURCE || _SVID_SOURCE"
-msgstr "B<on_exit>(): _BSD_SOURCE || _SVID_SOURCE"
+#: build/C/man3/setenv.3:128
+msgid "Insufficient memory to add a new variable to the environment."
+msgstr "環境に新しい変数を追加するのに十分なメモリがない。"
 
 #. type: Plain text
-#: build/C/man3/on_exit.3:57
+#: build/C/man3/setenv.3:136
 msgid ""
-"The B<on_exit>()  function registers the given I<function> to be called at "
-"normal process termination, whether via B<exit>(3)  or via return from the "
-"program's I<main>().  The I<function> is passed the status argument given to "
-"the last call to B<exit>(3)  and the I<arg> argument from B<on_exit>()."
+"POSIX.1-2001 does not require B<setenv>()  or B<unsetenv>()  to be reentrant."
 msgstr ""
-"B<on_exit>()  関数は、指定された関数 I<function> を、プロセスが 正常に終了し"
-"た際に呼ばれる関数として登録する。正常な終了とは、 B<exit>(3)  またはプログラ"
-"ムの I<main>()  関数の中の return 命令による終了である。 関数 I<function> に"
-"は、直近の B<exit>(3)  の呼び出しで渡された status 引数と B<on_exit>()  の "
-"I<arg> 引数が渡される。"
+"POSIX.1-2001 は、 B<setenv>()  や B<unsetenv>()  がリエントラント (再入可能) "
+"であることを要求していない。"
 
 #. type: Plain text
-#: build/C/man3/on_exit.3:72
+#: build/C/man3/setenv.3:144
 msgid ""
-"The B<on_exit>()  function returns the value 0 if successful; otherwise it "
-"returns a nonzero value."
-msgstr "B<on_exit>()  関数は、成功したら 0 を、そうでなければ 0 以外を返す。"
+"Prior to glibc 2.2.2, B<unsetenv>()  was prototyped as returning I<void>; "
+"more recent glibc versions follow the POSIX.1-2001-compliant prototype shown "
+"in the SYNOPSIS."
+msgstr ""
+"glibc 2.2.2 以前では、 B<unsetenv>()  は 返り値が I<void> のプロトタイプで"
+"あった。 もっと最近の glibc 版は、「書式」セクションで示しているように "
+"POSIX.1-2001 互換のプロトタイプである。"
 
 #. type: Plain text
-#: build/C/man3/on_exit.3:79
+#: build/C/man3/setenv.3:153
 msgid ""
-"This function comes from SunOS 4, but is also present in libc4, libc5 and "
-"glibc.  It no longer occurs in Solaris (SunOS 5).  Avoid this function, and "
-"use the standard B<atexit>(3)  instead."
+"POSIX.1-2001 specifies that if I<name> contains an \\(aq=\\(aq character, "
+"then B<setenv>()  should fail with the error B<EINVAL>; however, versions of "
+"glibc before 2.3.4 allowed an \\(aq=\\(aq sign in I<name>."
 msgstr ""
-"この関数は SunOS 4 由来であるが、libc4, libc5, glibc にも存在する。 Solaris "
-"(SunOS 5) にはもはや存在しない。 この関数の使用は避け、代わりに標準の "
-"B<atexit>(3)  を使うこと。"
+"POSIX.1-2001 では 「I<name> に \\(aq=\\(aq 文字が含まれる場合、 B<setenv>()  "
+"はエラー B<EINVAL> で失敗すべきである」と述べられている。 しかし 2.3.4 より前"
+"のバージョンの glibc では、 I<name> に \\(aq=\\(aq 文字が含まれるのを許してい"
+"る。"
 
 #. type: Plain text
-#: build/C/man3/on_exit.3:82
-msgid "B<_exit>(2), B<atexit>(3), B<exit>(3)"
-msgstr "B<_exit>(2), B<atexit>(3), B<exit>(3)"
+#: build/C/man3/setenv.3:158
+msgid "B<clearenv>(3), B<getenv>(3), B<putenv>(3), B<environ>(7)"
+msgstr "B<clearenv>(3), B<getenv>(3), B<putenv>(3), B<environ>(7)"
 
 #. type: TH
-#: build/C/man3/putenv.3:34
-#, no-wrap
-msgid "PUTENV"
-msgstr "PUTENV"
-
-#. type: Plain text
-#: build/C/man3/putenv.3:37
-msgid "putenv - change or add an environment variable"
-msgstr "putenv - 環境変数の変更または追加"
-
-#.  Not: const char *
-#. type: Plain text
-#: build/C/man3/putenv.3:43
+#: build/C/man3/strtod.3:45
 #, no-wrap
-msgid "B<int putenv(char *>I<string>B<);>\n"
-msgstr "B<int putenv(char *>I<string>B<);>\n"
+msgid "STRTOD"
+msgstr "STRTOD"
 
 #. type: Plain text
-#: build/C/man3/putenv.3:52
-msgid "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
-msgstr "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
+#: build/C/man3/strtod.3:48
+msgid "strtod, strtof, strtold - convert ASCII string to floating-point number"
+msgstr "strtod, strtof, strtold - ASCII 文字列を浮動小数点実数に変換する"
 
 #. type: Plain text
-#: build/C/man3/putenv.3:65
-msgid ""
-"The B<putenv>()  function adds or changes the value of environment "
-"variables.  The argument I<string> is of the form I<name>=I<value>.  If "
-"I<name> does not already exist in the environment, then I<string> is added "
-"to the environment.  If I<name> does exist, then the value of I<name> in the "
-"environment is changed to I<value>.  The string pointed to by I<string> "
-"becomes part of the environment, so altering the string changes the "
-"environment."
-msgstr ""
-"B<putenv>()  関数は、環境変数の追加または値の変更を行う。 引数 I<string> は "
-"I<name>=I<value> という形式を取る。 I<name> が環境に存在しない場合は "
-"I<string> が環境に追加される。 I<name> が環境に存在する場合は I<name> の値は "
-"I<value> に変更される。 I<string> が指している文字列は環境の一部となるので、 "
-"文字列を変更すると環境も変更される。"
+#: build/C/man3/strtod.3:52
+msgid "B<double strtod(const char *>I<nptr>B<, char **>I<endptr>B<);>"
+msgstr "B<double strtod(const char *>I<nptr>B<, char **>I<endptr>B<);>"
 
 #. type: Plain text
-#: build/C/man3/putenv.3:70
-msgid ""
-"The B<putenv>()  function returns zero on success, or nonzero if an error "
-"occurs."
-msgstr ""
-"B<putenv>()  関数は、成功した場合 0 を、 エラーが発生した場合 0 以外を返す。"
-
-#. type: TP
-#: build/C/man3/putenv.3:71 build/C/man3/setenv.3:104
-#, no-wrap
-msgid "B<ENOMEM>"
-msgstr "B<ENOMEM>"
+#: build/C/man3/strtod.3:54
+msgid "B<float strtof(const char *>I<nptr>B<, char **>I<endptr>B<);>"
+msgstr "B<float strtof(const char *>I<nptr>B<, char **>I<endptr>B<);>"
 
 #. type: Plain text
-#: build/C/man3/putenv.3:74
-msgid "Insufficient space to allocate new environment."
-msgstr "新しい環境を割り当てるのに十分な空きがない。"
+#: build/C/man3/strtod.3:56
+msgid "B<long double strtold(const char *>I<nptr>B<, char **>I<endptr>B<);>"
+msgstr "B<long double strtold(const char *>I<nptr>B<, char **>I<endptr>B<);>"
 
 #. type: Plain text
-#: build/C/man3/putenv.3:76
-msgid "SVr4, POSIX.1-2001, 4.3BSD."
-msgstr "SVr4, POSIX.1-2001, 4.3BSD."
+#: build/C/man3/strtod.3:65
+msgid "B<strtof>(), B<strtold>():"
+msgstr "B<strtof>(), B<strtold>():"
 
 #. type: Plain text
-#: build/C/man3/putenv.3:81
+#: build/C/man3/strtod.3:87
 msgid ""
-"The B<putenv>()  function is not required to be reentrant, and the one in "
-"libc4, libc5 and glibc 2.0 is not, but the glibc 2.1 version is."
+"The B<strtod>(), B<strtof>(), and B<strtold>()  functions convert the "
+"initial portion of the string pointed to by I<nptr> to I<double>, I<float>, "
+"and I<long double> representation, respectively."
 msgstr ""
-"B<putenv>()  はリエントラントであることを求められていない。 libc4, libc5, "
-"glibc 2.0 ではリエントラントではない。 glibc 2.1 ではリエントラントである。"
+"B<strtod>(), B<strtof>(), B<strtold>()  関数は、 I<nptr> が指し示す文字列のは"
+"じめの部分を I<double>, I<float>, I<long double> 型の値にそれぞれ変換する。"
 
 #. type: Plain text
-#: build/C/man3/putenv.3:94
+#: build/C/man3/strtod.3:94
 msgid ""
-"Description for libc4, libc5, glibc: If the argument I<string> is of the "
-"form I<name>, and does not contain an \\(aq=\\(aq character, then the "
-"variable I<name> is removed from the environment.  If B<putenv>()  has to "
-"allocate a new array I<environ>, and the previous array was also allocated "
-"by B<putenv>(), then it will be freed.  In no case will the old storage "
-"associated to the environment variable itself be freed."
+"The expected form of the (initial portion of the) string is optional leading "
+"white space as recognized by B<isspace>(3), an optional plus (\\(aq+\\(aq) "
+"or minus sign (\\(aq-\\(aq) and then either (i) a decimal number, or (ii) a "
+"hexadecimal number, or (iii) an infinity, or (iv) a NAN (not-a-number)."
 msgstr ""
-"libc4, libc5, glibc に関する説明: もし引数 I<string> が I<name> 単独で、 "
-"\\(aq=\\(aq 文字を含んでいない場合、環境変数 I<name> は環境から除去される。 "
-"もし B<putenv>()  が新しい I<environ> 配列を確保しなければならない時、 以前"
-"の I<environ> 配列も B<putenv>()  によって確保されたものならば、 それは解放さ"
-"ã\82\8cã\82\8bã\80\82 ç\92°å¢\83å¤\89æ\95°ã\81\9dã\81®ã\82\82ã\81®ã\81«å\89²ã\82\8aå½\93ã\81¦ã\82\89ã\82\8cã\81\9få\8f¤ã\81\84è¨\98æ\86¶é \98å\9f\9fã\81\8c解æ\94¾ã\81\95ã\82\8cã\82\8bã\81\93ã\81¨ã\81¯ã\81ªã\81\84。"
+"入力する文字列 (の先頭部分) は以下の形式が期待されている。 先頭にホワイトス"
+"ペース、 次にプラス (\\(aq+\\(aq) またはマイナス (\\(aq-\\(aq) の記号、 その"
+"後に (i) 10 進数、(ii) 16 進数、(iii) 無限、 (iv) NAN (計算できない数、not-a-"
+"number) のいずれかがある (ホワイトスペース、符号は省略可能。 ホワイトスペース"
+"ã\81¯ B<isspace>(3)  ã\81§è­\98å\88¥ã\81\95ã\82\8cã\82\8b)。"
 
 #. type: Plain text
-#: build/C/man3/putenv.3:110
+#: build/C/man3/strtod.3:103
 msgid ""
-"The libc4 and libc5 and glibc 2.1.2 versions conform to SUSv2: the pointer "
-"I<string> given to B<putenv>()  is used.  In particular, this string becomes "
-"part of the environment; changing it later will change the environment.  "
-"(Thus, it is an error is to call B<putenv>()  with an automatic variable as "
-"the argument, then return from the calling function while I<string> is still "
-"part of the environment.)  However, glibc 2.0-2.1.1 differs: a copy of the "
-"string is used.  On the one hand this causes a memory leak, and on the other "
-"hand it violates SUSv2.  This has been fixed in glibc 2.1.2."
+"A I<decimal number> consists of a nonempty sequence of decimal digits "
+"possibly containing a radix character (decimal point, locale-dependent, "
+"usually \\(aq.\\(aq), optionally followed by a decimal exponent.  A decimal "
+"exponent consists of an \\(aqE\\(aq or \\(aqe\\(aq, followed by an optional "
+"plus or minus sign, followed by a nonempty sequence of decimal digits, and "
+"indicates multiplication by a power of 10."
 msgstr ""
-"libc4 と libc5 と glibc 2.1.2 では SUSv2 に準拠している。 B<putenv>()  で与え"
-"られたポインタ I<string> が使われる。 この文字列は環境の一部となり、後で変更"
-"すると環境も変わる。 (従って、 B<putenv>()  を自動変数を引数として呼び出し、 "
-"I<string>が環境の一部のままで呼び出した関数から return するとエラーになる)  "
-"しかし、glibc 2.0-2.1.1 では異なり、文字列のコピーが使われる。 これはメモリ"
-"リークを引き起こすだけでなく、 SUSv2 に違反している。 これは glibc2.1.2 で修"
-"正された。"
+"I<10 進数> は 1 文字以上の 10 進の数字の列からなり、 基を表す文字 (radix "
+"charater)  (小数点。ロケールに依存するが、通常は \\(aq.\\(aq) が含まれること"
+"もある。 この後に 10 進の指数部が続いても良い。 10 進の指数部は \\(aqE\\(aq "
+"または \\(aqe\\(aq と、その後に置かれる正負記号 (省略可)、 およびその後に続"
+"く 1 文字以上の 10 進の数字の列からなり、 10 の何乗であるかを表す。"
 
 #. type: Plain text
-#: build/C/man3/putenv.3:112
-msgid "The 4.4BSD version, like glibc 2.0, uses a copy."
-msgstr "4.4BSD バージョンでは、glibc 2.0 と同様にコピーを使う。"
+#: build/C/man3/strtod.3:114
+msgid ""
+"A I<hexadecimal number> consists of a \"0x\" or \"0X\" followed by a "
+"nonempty sequence of hexadecimal digits possibly containing a radix "
+"character, optionally followed by a binary exponent.  A binary exponent "
+"consists of a \\(aqP\\(aq or \\(aqp\\(aq, followed by an optional plus or "
+"minus sign, followed by a nonempty sequence of decimal digits, and indicates "
+"multiplication by a power of 2.  At least one of radix character and binary "
+"exponent must be present."
+msgstr ""
+"I<16 進数> は、\"0x\" または \"0X\" とその後に続く 1 文字以上の 16 進の数字の"
+"列からなり、 基を表す文字が含まれることもある。 この後に 2 進の指数部が続いて"
+"も良い。 2 進の指数部は \\(aqP\\(aq または \\(aqp\\(aq と、その後に置かれる正"
+"負記号 (省略可)、 およびその後に続く 1 文字以上の 10 進の数字の列から構成さ"
+"れ、 2 の何乗であるかを表す。 基を表す文字と 2 進の指数部は、どちらか一方しか"
+"存在してはならない。"
 
 #. type: Plain text
-#: build/C/man3/putenv.3:114
-msgid "SUSv2 removes the I<const> from the prototype, and so does glibc 2.1.3."
+#: build/C/man3/strtod.3:118
+msgid "An I<infinity> is either \"INF\" or \"INFINITY\", disregarding case."
 msgstr ""
-"SUSv2 ではプロトタイプから I<const> が取り除かれており、 glibc 2.1.3 もそのよ"
-"うになっている。"
+"I<無限> は \"INF\" または \"INFINITY\" で表され、大文字小文字は区別されない。"
 
+#.  From glibc 2.8's stdlib/strtod_l.c:
+#.      We expect it to be a number which is put in the
+#.      mantissa of the number.
 #. type: Plain text
-#: build/C/man3/putenv.3:119
+#: build/C/man3/strtod.3:128
 msgid ""
-"B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
+"A I<NAN> is \"NAN\" (disregarding case) optionally followed by \\(aq(\\(aq, "
+"a sequence of characters, followed by \\(aq)\\(aq.  The character string "
+"specifies in an implementation-dependent way the type of NAN."
 msgstr ""
-"B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
-
-#. type: TH
-#: build/C/man3/qecvt.3:26
-#, no-wrap
-msgid "QECVT"
-msgstr "QECVT"
+"I<NAN> は \"NAN\" (大文字小文字は区別されない) で表され、 その後に "
+"\\(aq(\\(aq 文字列 \\(aq)\\(aq が続く場合もある。 この文字列は実装に依存する "
+"NAN を指定する。"
 
 #. type: Plain text
-#: build/C/man3/qecvt.3:29
-msgid "qecvt, qfcvt, qgcvt - convert a floating-point number to a string"
-msgstr "qecvt, qfcvt, qgcvt - 浮動小数点数の文字列への変換"
+#: build/C/man3/strtod.3:130
+msgid "These functions return the converted value, if any."
+msgstr "これらの関数は、変換された値があれば、それを返す。"
 
 #. type: Plain text
-#: build/C/man3/qecvt.3:34
+#: build/C/man3/strtod.3:137
 msgid ""
-"B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
-"> B<int *>I<sign>B<);>"
+"If I<endptr> is not NULL, a pointer to the character after the last "
+"character used in the conversion is stored in the location referenced by "
+"I<endptr>."
 msgstr ""
-"B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
-"> B<int *>I<sign>B<);>"
+"I<endptr> が NULL でないときは、変換に使われた最終文字の次の文字へのポイン"
+"ターが I<endptr> で参照される場所へ保存される。"
 
 #. type: Plain text
-#: build/C/man3/qecvt.3:37
+#: build/C/man3/strtod.3:142
 msgid ""
-"B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
-"> B<int *>I<sign>B<);>"
+"If no conversion is performed, zero is returned and the value of I<nptr> is "
+"stored in the location referenced by I<endptr>."
 msgstr ""
-"B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
-"> B<int *>I<sign>B<);>"
+"変換が行われなかったときには 0 が返る。そして I<endptr> が参照している場所に "
+"I<nptr> の値 (変換対象である文字列の開始アドレス) が保存される。"
 
 #. type: Plain text
-#: build/C/man3/qecvt.3:39
+#: build/C/man3/strtod.3:156
 msgid ""
-"B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
+"If the correct value would cause overflow, plus or minus B<HUGE_VAL> "
+"(B<HUGE_VALF>, B<HUGE_VALL>)  is returned (according to the sign of the "
+"value), and B<ERANGE> is stored in I<errno>.  If the correct value would "
+"cause underflow, zero is returned and B<ERANGE> is stored in I<errno>."
 msgstr ""
-"B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
+"正しい形式の数値文字列であるが、変換結果がオーバーフローを起こした場合 には、"
+"プラスまたはマイナスの B<HUGE_VAL> (B<HUGE_VALF>, B<HUGE_VALL>)  が返り (値の"
+"符号による)、 B<ERANGE> が I<errno> に代入される。変換結果がアンダーフローを"
+"起こした場合には 0 が返り、 B<ERANGE> が I<errno> に代入される。"
+
+#. type: TP
+#: build/C/man3/strtod.3:157 build/C/man3/strtol.3:151
+#: build/C/man3/strtoul.3:155
+#, no-wrap
+msgid "B<ERANGE>"
+msgstr "B<ERANGE>"
 
 #. type: Plain text
-#: build/C/man3/qecvt.3:50
-msgid "B<qecvt>(), B<qfcvt>(), B<qgcvt>(): _SVID_SOURCE"
-msgstr "B<qecvt>(), B<qfcvt>(), B<qgcvt>(): _SVID_SOURCE"
+#: build/C/man3/strtod.3:160
+msgid "Overflow or underflow occurred."
+msgstr "オーバーフローまたはアンダーフローが起こった。"
 
 #. type: Plain text
-#: build/C/man3/qecvt.3:70
+#: build/C/man3/strtod.3:172
 msgid ""
-"The functions B<qecvt>(), B<qfcvt>()  and B<qgcvt>()  are identical to "
-"B<ecvt>(3), B<fcvt>(3)  and B<gcvt>(3)  respectively, except that they use a "
-"I<long double> argument I<number>.  See B<ecvt>(3)  and B<gcvt>(3)."
+"The B<strtod>(), B<strtof>(), and B<strtold>()  functions are thread-safe "
+"with exceptions.  These functions can be safely used in multithreaded "
+"applications, as long as B<setlocale>(3)  is not called to change the locale "
+"during their execution."
 msgstr ""
-"関数 B<qecvt>(), B<qfcvt>(), B<qgcvt>()  は、それぞれ B<ecvt>(3), B<fcvt>"
-"(3), B<gcvt>(3)  と同じである。 引き数 I<number> が I<long double> 型である点"
-"だけが異なる。"
+"関数 B<strtod>(), B<strtof>(), B<strtold>() は、例外付きのスレッドセーフであ"
+"る。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチス"
+"レッドアプリケーションで安全に使用することができる。"
+
+#. type: Plain text
+#: build/C/man3/strtod.3:177
+msgid "C89 describes B<strtod>(), C99 describes the other two functions."
+msgstr "C89 では B<strtod>()  が、C99 では残りの 2 つの関数が記述されている。"
 
 #. type: Plain text
-#: build/C/man3/qecvt.3:76
+#: build/C/man3/strtod.3:186
 msgid ""
-"SVr4.  Not seen in most common UNIX implementations, but occurs in SunOS.  "
-"Not supported by libc4 and libc5.  Supported by glibc."
+"Since 0 can legitimately be returned on both success and failure, the "
+"calling program should set I<errno> to 0 before the call, and then determine "
+"if an error occurred by checking whether I<errno> has a nonzero value after "
+"the call."
 msgstr ""
-"SVr4.  多くの一般的な UNIX には実装されていないが、SunOS には実装されてい"
-"ã\82\8bã\80\82 libc4 ã\81¨ libc5 ã\81§ã\81¯ã\82µã\83\9dã\83¼ã\83\88ã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84ã\81\8cã\80\81 glibc ã\81§ã\81¯ã\82µã\83\9dã\83¼ã\83\88ã\81\95ã\82\8cã\81¦ã\81\84"
-"る。"
+"成功、失敗どちらの場合でも 0 を返す可能性があるので、 プログラムは呼び出す前"
+"ã\81« I<errno> ã\82\92 0 ã\81«è¨­å®\9aã\81\97ã\80\81å\91¼ã\81³å\87ºã\81\97å¾\8cã\81« I<errno> ã\81\8c 0 ä»¥å¤\96ã\81®å\80¤ã\81\8bã\81©ã\81\86ã\81\8bã\82\92確èª\8d"
+"ã\81\97ã\82¨ã\83©ã\83¼ã\81\8cç\99ºç\94\9fã\81\97ã\81\9fã\81\8bã\81©ã\81\86ã\81\8bã\82\92å\88¤æ\96­ã\81\99ã\82\8b å¿\85è¦\81ã\81\8cã\81\82ã\82\8bã\80\82"
 
 #. type: Plain text
-#: build/C/man3/qecvt.3:85
-msgid "B<ecvt>(3), B<ecvt_r>(3), B<gcvt>(3), B<sprintf>(3)"
-msgstr "B<ecvt>(3), B<ecvt_r>(3), B<gcvt>(3), B<sprintf>(3)"
+#: build/C/man3/strtod.3:191 build/C/man3/strtoul.3:225
+msgid ""
+"See the example on the B<strtol>(3)  manual page; the use of the functions "
+"described in this manual page is similar."
+msgstr ""
+"B<strtol>(3)  のマニュアルページの例を参照。 このページで説明した関数の使用方"
+"法も同様である。"
 
-#. type: TH
-#: build/C/man3/rand.3:39
-#, no-wrap
-msgid "RAND"
-msgstr "RAND"
+#. type: Plain text
+#: build/C/man3/strtod.3:197
+msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtol>(3), B<strtoul>(3)"
+msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtol>(3), B<strtoul>(3)"
 
 #. type: TH
-#: build/C/man3/rand.3:39
+#: build/C/man3/strtoimax.3:24
 #, no-wrap
-msgid "2010-10-01"
-msgstr "2010-10-01"
+msgid "STRTOIMAX"
+msgstr "STRTOIMAX"
 
 #. type: Plain text
-#: build/C/man3/rand.3:42
-msgid "rand, rand_r, srand - pseudo-random number generator"
-msgstr "rand, srand - 乱数を生成する関数"
+#: build/C/man3/strtoimax.3:27
+msgid "strtoimax, strtoumax - convert string to integer"
+msgstr "strtoimax, strtoumax - 文字列を整数に変換する"
 
 #. type: Plain text
-#: build/C/man3/rand.3:47
+#: build/C/man3/strtoimax.3:30
 #, no-wrap
-msgid "B<int rand(void);>\n"
-msgstr "B<int rand(void);>\n"
+msgid "B<#include E<lt>inttypes.hE<gt>>\n"
+msgstr "B<#include E<lt>inttypes.hE<gt>>\n"
 
 #. type: Plain text
-#: build/C/man3/rand.3:49
+#: build/C/man3/strtoimax.3:32
 #, no-wrap
-msgid "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
-msgstr "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
+msgid "B<intmax_t strtoimax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
+msgstr "B<intmax_t strtoimax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/rand.3:51
+#: build/C/man3/strtoimax.3:34
 #, no-wrap
-msgid "B<void srand(unsigned int >I<seed>B<);>\n"
-msgstr "B<void srand(unsigned int >I<seed>B<);>\n"
-
-#. type: Plain text
-#: build/C/man3/rand.3:60
-msgid ""
-"B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
-msgstr ""
-"B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
+msgid "B<uintmax_t strtoumax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
+msgstr "B<uintmax_t strtoumax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/rand.3:66
+#: build/C/man3/strtoimax.3:45
 msgid ""
-"The B<rand>()  function returns a pseudo-random integer in the range 0 to "
-"B<RAND_MAX> inclusive (i.e., the mathematical range [0,\\ B<RAND_MAX>])."
+"These functions are just like B<strtol>(3)  and B<strtoul>(3), except that "
+"they return a value of type I<intmax_t> and I<uintmax_t>, respectively."
 msgstr ""
-"B<rand>() 関数は 0 以上 B<RAND_MAX> 以下\n"
-"(数学的に書くと [0,\\ B<RAND_MAX>]) の範囲の疑似乱数整数を返す。"
+"これらの関数はちょうど B<strtol>(3)  と B<strtoul>(3)  に似ているが、それぞ"
+"れ I<intmax_t> と I<uintmax_t> 型の値を返す。"
 
 #. type: Plain text
-#: build/C/man3/rand.3:75
+#: build/C/man3/strtoimax.3:58
 msgid ""
-"The B<srand>()  function sets its argument as the seed for a new sequence of "
-"pseudo-random integers to be returned by B<rand>().  These sequences are "
-"repeatable by calling B<srand>()  with the same seed value."
+"On success, the converted value is returned.  If nothing was found to "
+"convert, zero is returned.  On overflow or underflow B<INTMAX_MAX> or "
+"B<INTMAX_MIN> or B<UINTMAX_MAX> is returned, and I<errno> is set to "
+"B<ERANGE>."
 msgstr ""
-"B<srand>()  関数は、 B<rand>()  関数で作られる疑似乱数整数系列の新しい種とし"
-"ã\81¦ã\80\81 ã\81\9dã\81®å¼\95ã\81\8dæ\95°ã\81®å\80¤ã\82\92使ç\94¨ã\81\99ã\82\8bã\80\82 ã\81\93ã\82\8cã\82\89ã\81®é\96¢æ\95°ã\82\92使ç\94¨ã\81\97ã\81¦ä½\9cã\82\89ã\82\8cã\81\9fç\96\91似乱æ\95°ç³»å\88\97"
-"は、 同じ値を引き数として B<srand>()  を呼ぶことで、 再現することが可能であ"
-"る。"
+"成功した場合、変換された値が返される。 変換するものが見つからなかった場合、0 "
+"ã\81\8cè¿\94ã\81\95ã\82\8cã\82\8bã\80\82 ã\82ªã\83¼ã\83\90ã\83¼ã\83\95ã\83­ã\83¼ã\81¾ã\81\9fã\81¯ã\82¢ã\83³ã\83\80ã\83¼ã\83\95ã\83­ã\83¼ã\81®å ´å\90\88ã\80\81 B<INTMAX_MAX> ã\81¾ã\81\9fã\81¯ "
+"B<INTMAX_MIN> または B<UINTMAX_MAX> が返され、 I<errno> が B<ERANGE> に設定さ"
+"ã\82\8cã\82\8bã\80\82"
 
 #. type: Plain text
-#: build/C/man3/rand.3:79
+#: build/C/man3/strtoimax.3:69
 msgid ""
-"If no seed value is provided, the B<rand>()  function is automatically "
-"seeded with a value of 1."
+"The B<strtoimax>()  and B<strtoumax>()  functions are thread-safe with "
+"exceptions.  These functions can be safely used in multithreaded "
+"applications, as long as B<setlocale>(3)  is not called to change the locale "
+"during their execution."
 msgstr ""
-"種の値が与えられない場合には、 B<rand>()  関数は 自動的に 1 を種とする。"
+"関数 B<strtoimax>() と B<strtoumax>() は、例外付きのスレッドセーフである。実"
+"行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドア"
+"プリケーションで安全に使用することができる。"
 
 #. type: Plain text
-#: build/C/man3/rand.3:90
+#: build/C/man3/strtoimax.3:77
 msgid ""
-"The function B<rand>()  is not reentrant or thread-safe, since it uses "
-"hidden state that is modified on each call.  This might just be the seed "
-"value to be used by the next call, or it might be something more elaborate.  "
-"In order to get reproducible behavior in a threaded application, this state "
-"must be made explicit; this can be done using the reentrant function "
-"B<rand_r>()."
+"B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
 msgstr ""
-"B<rand>() 関数はリ再入可能 (reentrant) ではない、つまりスレッド・セーフではない。\n"
-"この関数には隠し状態があり、呼び出される度にこの隠し状態が変更されるからである。\n"
-"ちょうどこの隠し状態が次の呼び出し時の乱数の種として使われるようなものである。\n"
-"実際にはもう少し複雑かもしれないが。\n"
-"スレッドを使用するアプリケーションで再現可能な動作をさせたい場合には、\n"
-"この状態を明示的に指定できなければならない。これを行うには、\n"
-"再入可能な B<rand_r>() 関数を使用する。"
+"B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
 
-#. type: Plain text
-#: build/C/man3/rand.3:106
-msgid ""
-"Like B<rand>(), B<rand_r>()  returns a pseudo-random integer in the range [0,"
-"\\ B<RAND_MAX>].  The I<seedp> argument is a pointer to an I<unsigned int> "
-"that is used to store state between calls.  If B<rand_r>()  is called with "
-"the same initial value for the integer pointed to by I<seedp>, and that "
-"value is not modified between calls, then the same pseudo-random sequence "
-"will result."
-msgstr ""
+#. type: TH
+#: build/C/man3/strtol.3:31
+#, no-wrap
+msgid "STRTOL"
+msgstr "STRTOL"
 
 #. type: Plain text
-#: build/C/man3/rand.3:116
-msgid ""
-"The value pointed to by the I<seedp> argument of B<rand_r>()  provides only "
-"a very small amount of state, so this function will be a weak pseudo-random "
-"generator.  Try B<drand48_r>(3)  instead."
-msgstr ""
+#: build/C/man3/strtol.3:34
+msgid "strtol, strtoll, strtoq - convert a string to a long integer"
+msgstr "strtol, strtoll, strtoq - 文字列を long int に変換する"
 
 #. type: Plain text
-#: build/C/man3/rand.3:127
-msgid ""
-"The B<rand>()  and B<rand_r>()  functions return a value between 0 and "
-"B<RAND_MAX> (inclusive).  The B<srand>()  function returns no value."
-msgstr ""
-"関数 B<rand>() と B<rand_r>() は 0 以上 B<RAND_MAX> 以下の数を返す。\n"
-"関数 B<srand>() は値を返さない。"
+#: build/C/man3/strtol.3:39
+#, no-wrap
+msgid "B<long int strtol(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
+msgstr "B<long int strtol(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/rand.3:139
-msgid ""
-"The functions B<rand>()  and B<srand>()  conform to SVr4, 4.3BSD, C89, C99, "
-"POSIX.1-2001.  The function B<rand_r>()  is from POSIX.1-2001.  POSIX.1-2008 "
-"marks B<rand_r>()  as obsolete."
-msgstr ""
-"関数 B<rand>()  と B<srand>()  は SVr4, 4.3BSD, C89, C99, POSIX.1-2001 に準拠"
-"している。 関数 B<rand_r>()  は POSIX.1-2001 に由来する。 POSIX.1-2008 は、 "
-"B<rand_r>()  を廃止予定としている。"
+#: build/C/man3/strtol.3:42
+#, no-wrap
+msgid "B<long long int strtoll(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
+msgstr "B<long long int strtoll(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/rand.3:158
-msgid ""
-"The versions of B<rand>()  and B<srand>()  in the Linux C Library use the "
-"same random number generator as B<random>(3)  and B<srandom>(3), so the "
-"lower-order bits should be as random as the higher-order bits.  However, on "
-"older B<rand>()  implementations, and on current implementations on "
-"different systems, the lower-order bits are much less random than the higher-"
-"order bits.  Do not use this function in applications intended to be "
-"portable when good randomness is needed.  (Use B<random>(3)  instead.)"
-msgstr ""
-"B<rand>()  と B<srand>()  の Linux C Library 版は、 B<random>(3)  と "
-"B<srandom>(3)  の両関数と同じ乱数生成 アルゴリズムを使用している。そのため、"
-"下位のビットは上位のビットと 同じくらいにランダムである。 しかし、旧版の "
-"B<rand>()  の実装や、他のシステムの現在の実装では、下位のビットが上位のビット"
-"ほど ランダムになっていない。移植性を高める場合でも、精度の高い乱数が必要な "
-"アプリケーションではこの関数は使用してはいけない (代わりに B<random>(3)  を使"
-"うこと)。"
+#: build/C/man3/strtol.3:51
+msgid "B<strtoll>():"
+msgstr "B<strtoll>():"
 
 #. type: Plain text
-#: build/C/man3/rand.3:164
+#: build/C/man3/strtol.3:54 build/C/man3/strtoul.3:57
 msgid ""
-"POSIX.1-2001 gives the following example of an implementation of B<rand>()  "
-"and B<srand>(), possibly useful when one needs the same sequence on two "
-"different machines."
+"_XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || "
+"_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
 msgstr ""
-"POSIX 1003.1-2003 では、 B<rand>()  と B<srand>()  の実装例として以下を挙げて"
-"いる。これは、異なる2つのマシンで同じ乱数系列が 必要な場合には便利であろう。"
-
-#. type: Plain text
-#: build/C/man3/rand.3:168
-#, no-wrap
-msgid "static unsigned long next = 1;\n"
-msgstr "static unsigned long next = 1;\n"
+"XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || _ISOC99_SOURCE "
+"|| _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
 
 #. type: Plain text
-#: build/C/man3/rand.3:174
-#, no-wrap
+#: build/C/man3/strtol.3:68
 msgid ""
-"/* RAND_MAX assumed to be 32767 */\n"
-"int myrand(void) {\n"
-"    next = next * 1103515245 + 12345;\n"
-"    return((unsigned)(next/65536) % 32768);\n"
-"}\n"
+"The B<strtol>()  function converts the initial part of the string in I<nptr> "
+"to a long integer value according to the given I<base>, which must be "
+"between 2 and 36 inclusive, or be the special value 0."
 msgstr ""
-"/* RAND_MAX を 32767 と仮定 */\n"
-"int myrand(void) {\n"
-"    next = next * 1103515245 + 12345;\n"
-"    return((unsigned)(next/65536) % 32768);\n"
-"}\n"
+"B<strtol>()  関数は、 I<nptr> の文字列の最初の部分を、 I<base> を基数として "
+"long int に変換する。 この I<base> は 2 から 36 までの値 あるいは特別な意味を"
+"持つ値 0 でなければならない。"
 
 #. type: Plain text
-#: build/C/man3/rand.3:178
-#, no-wrap
+#: build/C/man3/strtol.3:81 build/C/man3/strtoul.3:89
 msgid ""
-"void mysrand(unsigned seed) {\n"
-"    next = seed;\n"
-"}\n"
+"The string may begin with an arbitrary amount of white space (as determined "
+"by B<isspace>(3))  followed by a single optional \\(aq+\\(aq or \\(aq-\\(aq "
+"sign.  If I<base> is zero or 16, the string may then include a \"0x\" "
+"prefix, and the number will be read in base 16; otherwise, a zero I<base> is "
+"taken as 10 (decimal) unless the next character is \\(aq0\\(aq, in which "
+"case it is taken as 8 (octal)."
 msgstr ""
-"void mysrand(unsigned seed) {\n"
-"    next = seed;\n"
-"}\n"
+"文字列の先頭には、任意の数の空白があってもよく (空白は B<isspace>(3) で判定さ"
+"れる)、また数字の直前には \\(aq+\\(aq か \\(aq-\\(aq の 符号があってもよい。 "
+"I<base> が 0 または 16 の場合には、文字列の先頭に \"0x\" を置くことが でき、"
+"その場合には文字列は 16進数として扱われる。 これ以外の文字列で I<base> が 0 "
+"の場合は、 文字列が \\(aq0\\(aq で始まるときは 8進数として、 それ以外のとき"
+"は 10進数として扱われる。"
 
 #. type: Plain text
-#: build/C/man3/rand.3:185
+#: build/C/man3/strtol.3:90
 msgid ""
-"The following program can be used to display the pseudo-random sequence "
-"produced by B<rand>()  when given a particular seed."
+"The remainder of the string is converted to a I<long int> value in the "
+"obvious manner, stopping at the first character which is not a valid digit "
+"in the given base.  (In bases above 10, the letter \\(aqA\\(aq in either "
+"uppercase or lowercase represents 10, \\(aqB\\(aq represents 11, and so "
+"forth, with \\(aqZ\\(aq representing 35.)"
 msgstr ""
+"数字を表す文字列は I<long int> に変換されるが、基数に対して 有効でない数字が"
+"現れた時点で変換は終了する。(11進数以上では \\(aqA\\(aq は 大文字・小文字に関"
+"わらず 10 を表し、 \\(aqB\\(aq は 11 を表現し、 以下同様に、 \\(aqZ\\(aq は "
+"35 を表す。)"
 
 #. type: Plain text
-#: build/C/man3/rand.3:190
-#, no-wrap
+#: build/C/man3/strtol.3:111
 msgid ""
-"#include E<lt>stdlib.hE<gt>\n"
-"#include E<lt>stdio.hE<gt>\n"
+"If I<endptr> is not NULL, B<strtol>()  stores the address of the first "
+"invalid character in I<*endptr>.  If there were no digits at all, "
+"B<strtol>()  stores the original value of I<nptr> in I<*endptr> (and returns "
+"0).  In particular, if I<*nptr> is not \\(aq\\e0\\(aq but I<**endptr> is "
+"\\(aq\\e0\\(aq on return, the entire string is valid."
 msgstr ""
-"#include E<lt>stdlib.hE<gt>\n"
-"#include E<lt>stdio.hE<gt>\n"
+"I<endptr> がヌル値 (NULL) でない場合は、最初に現れた不正な文字が "
+"B<strtol>()  によって I<*endptr> に保存されている。 文字列に有効な数字がひと"
+"つもなければ、 B<strtol>()  は I<nptr> の元の値を I<*endptr> に代入する (そし"
+"て 0 を返す)。 特に、I<*nptr> が \\(aq\\e0\\(aq 以外で、返された I<**endptr> "
+"が \\(aq\\e0\\(aq ならば、文字列全体が有効だったことになる。"
 
 #. type: Plain text
-#: build/C/man3/rand.3:196
-#, no-wrap
+#: build/C/man3/strtol.3:117
 msgid ""
-"int\n"
-"main(int argc, char *argv[])\n"
-"{\n"
-"    int j, r, nloops;\n"
-"    unsigned int seed;\n"
+"The B<strtoll>()  function works just like the B<strtol>()  function but "
+"returns a long long integer value."
 msgstr ""
-"int\n"
-"main(int argc, char *argv[])\n"
-"{\n"
-"    int j, r, nloops;\n"
-"    unsigned int seed;\n"
+"B<strtoll>()  関数は B<strtol>()  と同様だが、long long int 型の値を返す。"
 
 #. type: Plain text
-#: build/C/man3/rand.3:201
-#, no-wrap
+#: build/C/man3/strtol.3:144
 msgid ""
-"    if (argc != 3) {\n"
-"        fprintf(stderr, \"Usage: %s E<lt>seedE<gt> E<lt>nloopsE<gt>\\en\", argv[0]);\n"
-"        exit(EXIT_FAILURE);\n"
-"    }\n"
+"The B<strtol>()  function returns the result of the conversion, unless the "
+"value would underflow or overflow.  If an underflow occurs, B<strtol>()  "
+"returns B<LONG_MIN>.  If an overflow occurs, B<strtol>()  returns "
+"B<LONG_MAX>.  In both cases, I<errno> is set to B<ERANGE>.  Precisely the "
+"same holds for B<strtoll>()  (with B<LLONG_MIN> and B<LLONG_MAX> instead of "
+"B<LONG_MIN> and B<LONG_MAX>)."
 msgstr ""
-"    if (argc != 3) {\n"
-"        fprintf(stderr, \"Usage: %s E<lt>seedE<gt> E<lt>nloopsE<gt>\\en\", argv[0]);\n"
-"        exit(EXIT_FAILURE);\n"
-"    }\n"
+"アンダーフローもオーバーフローも起きなかった場合、 B<strtol>()  関数は 変換さ"
+"れた値を返す。オーバーフローした場合には B<LONG_MAX> が返り、 アンダーフロー"
+"した場合には B<LONG_MIN> が返る。オーバーフロー、 アンダーフローのいずれの場"
+"合にも 大域変数 I<errno> には B<ERANGE> が設定される。 B<strtoll>()  も同様で"
+"あるが、 B<LONG_MIN> と B<LONG_MAX> の代わりに B<LLONG_MIN> と B<LLONG_MAX> "
+"が返される。"
 
 #. type: Plain text
-#: build/C/man3/rand.3:204
-#, no-wrap
-msgid ""
-"    seed = atoi(argv[1]);\n"
-"    nloops = atoi(argv[2]);\n"
-msgstr ""
-"    seed = atoi(argv[1]);\n"
-"    nloops = atoi(argv[2]);\n"
+#: build/C/man3/strtol.3:151 build/C/man3/strtoul.3:155
+msgid "(not in C99)  The given I<base> contains an unsupported value."
+msgstr "(C99 にはない) 指定された I<base> がサポートされていない値である。"
 
 #. type: Plain text
-#: build/C/man3/rand.3:210
-#, no-wrap
+#: build/C/man3/strtol.3:154 build/C/man3/strtoul.3:158
+msgid "The resulting value was out of range."
+msgstr "結果の値が範囲外である。"
+
+#. type: Plain text
+#: build/C/man3/strtol.3:161 build/C/man3/strtoul.3:165
 msgid ""
-"    srand(seed);\n"
-"    for (j = 0; j E<lt> nloops; j++) {\n"
-"        r =  rand();\n"
-"        printf(\"%d\\en\", r);\n"
-"    }\n"
+"The implementation may also set I<errno> to B<EINVAL> in case no conversion "
+"was performed (no digits seen, and 0 returned)."
 msgstr ""
-"    srand(seed);\n"
-"    for (j = 0; j E<lt> nloops; j++) {\n"
-"        r =  rand();\n"
-"        printf(\"%d\\en\", r);\n"
-"    }\n"
+"実装によっては、変換が行われなかった場合 (数字がなく、0 を返した場合)、 "
+"I<errno> に B<EINVAL> が設定される場合がある。"
 
 #. type: Plain text
-#: build/C/man3/rand.3:217
-msgid "B<drand48>(3), B<random>(3)"
-msgstr "B<drand48>(3), B<random>(3)"
-
-#. type: TH
-#: build/C/man3/random.3:31
-#, no-wrap
-msgid "RANDOM"
-msgstr "RANDOM"
+#: build/C/man3/strtol.3:173
+msgid ""
+"The B<strtol>(), B<strtoll>(), and B<strtoq>()  functions are thread-safe "
+"with exceptions.  These functions can be safely used in multithreaded "
+"applications, as long as B<setlocale>(3)  is not called to change the locale "
+"during their execution."
+msgstr ""
+"関数 B<strtol>(), B<strtoll>(), B<strtoq>() は、例外付きのスレッドセーフであ"
+"る。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチス"
+"レッドアプリケーションで安全に使用することができる。"
 
 #. type: Plain text
-#: build/C/man3/random.3:34
-msgid "random, srandom, initstate, setstate - random number generator"
-msgstr "random, srandom, initstate, setstate - 乱数を生成する関数"
+#: build/C/man3/strtol.3:178
+msgid ""
+"B<strtol>()  conforms to SVr4, 4.3BSD, C89, C99, and POSIX.1-2001, and "
+"B<strtoll>()  to C99 and POSIX.1-2001."
+msgstr ""
+"B<strtol>()  は SVr4, 4.3BSD, C89, C99 と POSIX.1-2001 に準拠している。 "
+"B<strtoll>()  は C99 と POSIX.1-2001 に準拠している。"
 
 #. type: Plain text
-#: build/C/man3/random.3:39
-#, no-wrap
-msgid "B<long int random(void);>\n"
-msgstr "B<long int random(void);>\n"
+#: build/C/man3/strtol.3:196
+msgid ""
+"Since B<strtol>()  can legitimately return 0, B<LONG_MAX>, or B<LONG_MIN> "
+"(B<LLONG_MAX> or B<LLONG_MIN> for B<strtoll>())  on both success and "
+"failure, the calling program should set I<errno> to 0 before the call, and "
+"then determine if an error occurred by checking whether I<errno> has a "
+"nonzero value after the call."
+msgstr ""
+"B<strtol ()> からは成功、失敗どちらの場合でも 0, B<LONG_MAX>, B<LONG_MIN> "
+"(B<strtoll>()  では B<LLONG_MAX>, B<LLONG_MIN>)  が返る可能性があるので、 プ"
+"ログラムは関数を呼び出す前に I<errno> を 0 に設定し、呼び出し後に I<errno> "
+"が 0 以外の値かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
 
 #. type: Plain text
-#: build/C/man3/random.3:41
-#, no-wrap
-msgid "B<void srandom(unsigned int >I<seed>B<);>\n"
-msgstr "B<void srandom(unsigned int >I<seed>B<);>\n"
+#: build/C/man3/strtol.3:201
+msgid ""
+"According to POSIX.1-2001, in locales other than the \"C\" and \"POSIX\", "
+"these functions may accept other, implementation-defined numeric strings."
+msgstr ""
+"POSIX.1-2001 では、 \"C\" と \"POSIX\" 以外のロケールでは、これらの関数は、他"
+"の実装時に定義される数字を示す文字列を受け付けるとされている。"
 
 #. type: Plain text
-#: build/C/man3/random.3:43
-#, no-wrap
-msgid "B<char *initstate(unsigned int >I<seed>B<, char *>I<state>B<, size_t >I<n>B<);>\n"
-msgstr "B<char *initstate(unsigned int >I<seed>B<, char *>I<state>B<, size_t >I<n>B<);>\n"
+#: build/C/man3/strtol.3:203 build/C/man3/strtoul.3:202
+msgid "BSD also has"
+msgstr "BSD には、"
 
 #. type: Plain text
-#: build/C/man3/random.3:45
+#: build/C/man3/strtol.3:207
 #, no-wrap
-msgid "B<char *setstate(char *>I<state>B<);>\n"
-msgstr "B<char *setstate(char *>I<state>B<);>\n"
-
-#. type: Plain text
-#: build/C/man3/random.3:57
-msgid "B<random>(), B<srandom>(), B<initstate>(), B<setstate>():"
-msgstr "B<random>(), B<srandom>(), B<initstate>(), B<setstate>():"
+msgid "B<quad_t strtoq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
+msgstr "B<quad_t strtoq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/random.3:60
+#: build/C/man3/strtol.3:216
 msgid ""
-"_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
-"\\ &&\\ _XOPEN_SOURCE_EXTENDED"
+"with completely analogous definition.  Depending on the wordsize of the "
+"current architecture, this may be equivalent to B<strtoll>()  or to "
+"B<strtol>()."
 msgstr ""
-"_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
-"\\ &&\\ _XOPEN_SOURCE_EXTENDED"
+"という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャのワード長次第"
+"であるが、この関数は B<strtoll>()  か B<strtol>()  と等価となることもある。"
 
 #. type: Plain text
-#: build/C/man3/random.3:71
+#: build/C/man3/strtol.3:230
 msgid ""
-"The B<random>()  function uses a nonlinear additive feedback random number "
-"generator employing a default table of size 31 long integers to return "
-"successive pseudo-random numbers in the range from 0 to B<RAND_MAX>.  The "
-"period of this random number generator is very large, approximately I<16\\ *"
-"\\ ((2^31)\\ -\\ 1)>."
+"The program shown below demonstrates the use of B<strtol>().  The first "
+"command-line argument specifies a string from which B<strtol>()  should "
+"parse a number.  The second (optional) argument specifies the base to be "
+"used for the conversion.  (This argument is converted to numeric form using "
+"B<atoi>(3), a function that performs no error checking and has a simpler "
+"interface than B<strtol>().)  Some examples of the results produced by this "
+"program are the following:"
 msgstr ""
-"B<random>()  関数は、非線形加法フィードバックを用いた乱数生成関数である。 こ"
-"の関数は、0 から B<RAND_MAX> までの疑似乱数を返す。 そのために 31 個のロング"
-"整数からなるデフォルトの表を使用する。 この乱数を生成する関数の周期はとても長"
-"く、およそ I<16\\ *\\ ((2^31)\\ -\\ 1)> である。"
+"以下のプログラムは B<strtol>()  の使用例である。 最初のコマンドライン引き数に"
+"は B<strtol>()  が数字として解釈する文字列を指定する。 (省略可能な) 二番目の"
+"引き数には 変換に使用される基数を指定する (この引き数は B<atoi>(3)  を使って"
+"数値に変換される。 B<atoi>(3)  は B<strtol>()  よりも簡単なインタフェースを持"
+"つ関数で、 その中ではエラーチェックは行われない)。 このプログラムの実行例をい"
+"くつか以下に示す:"
 
 #. type: Plain text
-#: build/C/man3/random.3:85
+#: build/C/man3/strtol.3:246
+#, no-wrap
 msgid ""
-"The B<srandom>()  function sets its argument as the seed for a new sequence "
-"of pseudo-random integers to be returned by B<random>().  These sequences "
-"are repeatable by calling B<srandom>()  with the same seed value.  If no "
-"seed value is provided, the B<random>()  function is automatically seeded "
-"with a value of 1."
+"$B< ./a.out 123>\n"
+"strtol() returned 123\n"
+"$B< ./a.out \\(aq    123\\(aq>\n"
+"strtol() returned 123\n"
+"$B< ./a.out 123abc>\n"
+"strtol() returned 123\n"
+"Further characters after number: abc\n"
+"$B< ./a.out 123abc 55>\n"
+"strtol: Invalid argument\n"
+"$B< ./a.out \\(aq\\(aq>\n"
+"No digits were found\n"
+"$B< ./a.out 4000000000>\n"
+"strtol: Numerical result out of range\n"
 msgstr ""
-"B<srandom>()  関数は、 B<random>()  で返される疑似乱数整数系列の種を設定す"
-"る。 そのためには新しい種を引数にして B<srandom>()  を呼べばよい。 B<random>"
-"()  で生成される系列は、 引数に同じ種の値を用いて B<srandom>()  を呼ぶことで"
-"再現可能である。 種の値が与えられない場合には B<random>()  関数は、自動的に "
-"1 を種に設定する。"
+"$B< ./a.out 123>\n"
+"strtol() returned 123\n"
+"$B< ./a.out \\(aq    123\\(aq>\n"
+"strtol() returned 123\n"
+"$B< ./a.out 123abc>\n"
+"strtol() returned 123\n"
+"Further characters after number: abc\n"
+"$B< ./a.out 123abc 55>\n"
+"strtol: Invalid argument\n"
+"$B< ./a.out \\(aq\\(aq>\n"
+"No digits were found\n"
+"$B< ./a.out 4000000000>\n"
+"strtol: Numerical result out of range\n"
 
 #. type: Plain text
-#: build/C/man3/random.3:100
+#: build/C/man3/strtol.3:255
+#, no-wrap
 msgid ""
-"The B<initstate>()  function allows a state array I<state> to be initialized "
-"for use by B<random>().  The size of the state array I<n> is used by "
-"B<initstate>()  to decide how sophisticated a random number generator it "
-"should use\\(emthe larger the state array, the better the random numbers "
-"will be.  I<seed> is the seed for the initialization, which specifies a "
-"starting point for the random number sequence, and provides for restarting "
-"at the same point."
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>limits.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>errno.hE<gt>\n"
 msgstr ""
-"B<initstate>()  関数は、 B<random>()  で使用される状態配列 I<state> を初期化"
-"する。 B<initstate>()  では、状態配列の大きさ I<n> は 使用する関数の乱数生成"
-"の性能の程度を決定するために使用される \\(em 状態配列が大きい程、乱数の性能は"
-"よくなる。 I<seed> は初期化のための種である。 これは乱数系列の開始位置を決定"
-"するものであり、 この値を指定することで同一の開始位置から乱数の生成を 再開す"
-"ることができる。"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>limits.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>errno.hE<gt>\n"
 
 #. type: Plain text
-#: build/C/man3/random.3:116
+#: build/C/man3/strtol.3:262
+#, no-wrap
 msgid ""
-"The B<setstate>()  function changes the state array used by the B<random>()  "
-"function.  The state array I<state> is used for random number generation "
-"until the next call to B<initstate>()  or B<setstate>().  I<state> must "
-"first have been initialized using B<initstate>()  or be the result of a "
-"previous call of B<setstate>()."
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    int base;\n"
+"    char *endptr, *str;\n"
+"    long val;\n"
 msgstr ""
-"B<setstate>()  関数は、 B<random>()  で使用される状態配列を変更する。 状態配"
-"列 I<state> は、 B<initstate>()  または B<setstate>()  が 次に呼び出されるま"
-"で、乱数の生成に使用される。 I<state> は B<initstate>()  を用いて最初に初期化"
-"されているか、 以前に呼び出した B<setstate>()  の結果でなければならない。"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    int base;\n"
+"    char *endptr, *str;\n"
+"    long val;\n"
 
 #. type: Plain text
-#: build/C/man3/random.3:130
+#: build/C/man3/strtol.3:267
+#, no-wrap
 msgid ""
-"The B<random>()  function returns a value between 0 and B<RAND_MAX>.  The "
-"B<srandom>()  function returns no value.  The B<initstate>()  function "
-"returns a pointer to the previous state array.  The B<setstate>()  function "
-"returns a pointer to the previous state array, or NULL on error."
+"    if (argc E<lt> 2) {\n"
+"        fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
 msgstr ""
-"B<random>()  関数は 0 と B<RAND_MAX> の間の値を返す。 B<srandom>()  関数は値"
-"を返さない。 B<initstate>()  関数は直前の状態配列へのポインタを返す。 "
-"B<setstate>()  関数は直前の状態配列へのポインタを返し、 エラーの場合は NULL "
-"を返す。"
-
-#. type: Plain text
-#: build/C/man3/random.3:135
-msgid "A state array of less than 8 bytes was specified to B<initstate>()."
-msgstr "B<initstate>()  で8バイトよりも小さい状態配列を指定した。"
-
-#. type: Plain text
-#: build/C/man3/random.3:137 build/C/man3/setenv.3:109
-msgid "4.3BSD, POSIX.1-2001."
-msgstr "4.3BSD, POSIX.1-2001."
+"    if (argc E<lt> 2) {\n"
+"        fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
 
 #. type: Plain text
-#: build/C/man3/random.3:143
+#: build/C/man3/strtol.3:270
+#, no-wrap
 msgid ""
-"Current \"optimal\" values for the size of the state array I<n> are 8, 32, "
-"64, 128, and 256 bytes; other amounts will be rounded down to the nearest "
-"known amount.  Using less than 8 bytes will cause an error."
+"    str = argv[1];\n"
+"    base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
 msgstr ""
-"状態配列 I<n> の大きさの現在の「最適」値は 8、32、64、128、256 バイトであ"
-"る。 その他の量を指定した場合には、指定した量を越えない上述の値に 最も近い値"
-"になる。 8 バイト未満の量を指定した場合にはエラーの原因となる。"
+"    str = argv[1];\n"
+"    base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
 
 #. type: Plain text
-#: build/C/man3/random.3:150
+#: build/C/man3/strtol.3:273
+#, no-wrap
 msgid ""
-"This function should not be used in cases where multiple threads use "
-"B<random>()  and the behavior should be reproducible.  Use B<random_r>(3)  "
-"for that purpose."
+"    errno = 0;    /* To distinguish success/failure after call */\n"
+"    val = strtol(str, &endptr, base);\n"
 msgstr ""
-"複数のスレッドが B<random>()  を使うような状況では、この関数を使用すべきでは"
-"ない。 その場合には B<random_r>(3)  を使うこと。"
+"    errno = 0;    /* To distinguish success/failure after call */\n"
+"    val = strtol(str, &endptr, base);\n"
+
+#. type: Plain text
+#: build/C/man3/strtol.3:275
+#, no-wrap
+msgid "    /* Check for various possible errors */\n"
+msgstr "    /* Check for various possible errors */\n"
 
 #. type: Plain text
-#: build/C/man3/random.3:157
+#: build/C/man3/strtol.3:281
+#, no-wrap
 msgid ""
-"Random-number generation is a complex topic.  I<Numerical Recipes in C: The "
-"Art of Scientific Computing> (William H. Press, Brian P. Flannery, Saul A. "
-"Teukolsky, William T. Vetterling; New York: Cambridge University Press, "
-"2007, 3rd ed.)  provides an excellent discussion of practical random-number "
-"generation issues in Chapter 7 (Random Numbers)."
+"    if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))\n"
+"            || (errno != 0 && val == 0)) {\n"
+"        perror(\"strtol\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
 msgstr ""
-"乱数の生成は複雑な話題である。 I<Numerical Recipes in C: The Art of "
-"Scientific Computing> (William H. Press, Brian P. Flannery, Saul A. "
-"Teukolsky, William T. Vetterling; New York: Cambridge University Press, "
-"2007, 3rd ed.)  では実用的な乱数生成を論点とした優れた議論が第 7 章 (乱数) で"
-"展開されている。"
+"    if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))\n"
+"            || (errno != 0 && val == 0)) {\n"
+"        perror(\"strtol\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
 
 #. type: Plain text
-#: build/C/man3/random.3:163
+#: build/C/man3/strtol.3:286
+#, no-wrap
 msgid ""
-"For a more theoretical discussion which also covers many practical issues in "
-"depth, see Chapter 3 (Random Numbers) in Donald E. Knuth's I<The Art of "
-"Computer Programming>, volume 2 (Seminumerical Algorithms), 2nd ed.; "
-"Reading, Massachusetts: Addison-Wesley Publishing Company, 1981."
+"    if (endptr == str) {\n"
+"        fprintf(stderr, \"No digits were found\\en\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
 msgstr ""
-"より理論的な議論については Donald E. Knuth の I<The Art of Computer "
-"Programming>, volume 2 (Seminumerical Algorithms), 2nd ed.; Reading, "
-"Massachusetts: Addison-Wesley Publishing Company, 1981 の第 3 章 (乱数) を見"
-"よ。ここでは、 たくさんの実用的な話題についても深く網羅されている。"
+"    if (endptr == str) {\n"
+"        fprintf(stderr, \"No digits were found\\en\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
 
 #. type: Plain text
-#: build/C/man3/random.3:167
-msgid "B<drand48>(3), B<rand>(3), B<random_r>(3), B<srand>(3)"
-msgstr "B<drand48>(3), B<rand>(3), B<random_r>(3), B<srand>(3)"
-
-#. type: TH
-#: build/C/man3/random_r.3:24
+#: build/C/man3/strtol.3:288
 #, no-wrap
-msgid "RANDOM_R"
-msgstr "RANDOM_R"
+msgid "    /* If we got here, strtol() successfully parsed a number */\n"
+msgstr "    /* If we got here, strtol() successfully parsed a number */\n"
 
-#. type: TH
-#: build/C/man3/random_r.3:24
+#. type: Plain text
+#: build/C/man3/strtol.3:290
 #, no-wrap
-msgid "2008-03-07"
-msgstr "2008-03-07"
+msgid "    printf(\"strtol() returned %ld\\en\", val);\n"
+msgstr "    printf(\"strtol() returned %ld\\en\", val);\n"
 
 #. type: Plain text
-#: build/C/man3/random_r.3:28
+#: build/C/man3/strtol.3:293
+#, no-wrap
 msgid ""
-"random_r, srandom_r, initstate_r, setstate_r - reentrant random number "
-"generator"
+"    if (*endptr != \\(aq\\e0\\(aq)        /* Not necessarily an error... */\n"
+"        printf(\"Further characters after number: %s\\en\", endptr);\n"
 msgstr ""
-"random_r, srandom_r, initstate_r, setstate_r - リエントラントな 乱数生成器"
+"    if (*endptr != \\(aq\\e0\\(aq)        /* Not necessarily an error... */\n"
+"        printf(\"Further characters after number: %s\\en\", endptr);\n"
 
 #. type: Plain text
-#: build/C/man3/random_r.3:33
-#, no-wrap
-msgid "B<int random_r(struct random_data *>I<buf>B<, int32_t *>I<result>B<);>\n"
-msgstr "B<int random_r(struct random_data *>I<buf>B<, int32_t *>I<result>B<);>\n"
+#: build/C/man3/strtol.3:303
+msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtoul>(3)"
+msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtoul>(3)"
 
-#. type: Plain text
-#: build/C/man3/random_r.3:35
+#. type: TH
+#: build/C/man3/strtoul.3:33
 #, no-wrap
-msgid "B<int srandom_r(unsigned int >I<seed>B<, struct random_data *>I<buf>B<);>\n"
-msgstr "B<int srandom_r(unsigned int >I<seed>B<, struct random_data *>I<buf>B<);>\n"
+msgid "STRTOUL"
+msgstr "STRTOUL"
 
 #. type: Plain text
-#: build/C/man3/random_r.3:38
-#, no-wrap
+#: build/C/man3/strtoul.3:36
 msgid ""
-"B<int initstate_r(unsigned int >I<seed>B<, char *>I<statebuf>B<,>\n"
-"B<                size_t >I<statelen>B<, struct random_data *>I<buf>B<);>\n"
-msgstr ""
-"B<int initstate_r(unsigned int >I<seed>B<, char *>I<statebuf>B<,>\n"
-"B<                size_t >I<statelen>B<, struct random_data *>I<buf>B<);>\n"
+"strtoul, strtoull, strtouq - convert a string to an unsigned long integer"
+msgstr "strtoul, strtoull, strtouq - 文字列を unsigned long int に変換する"
 
 #. type: Plain text
-#: build/C/man3/random_r.3:40
+#: build/C/man3/strtoul.3:42
 #, no-wrap
-msgid "B<int setstate_r(char *>I<statebuf>B<, struct random_data *>I<buf>B<);>\n"
-msgstr "B<int setstate_r(char *>I<statebuf>B<, struct random_data *>I<buf>B<);>\n"
+msgid "B<unsigned long int strtoul(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
+msgstr "B<unsigned long int strtoul(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/random_r.3:52
-msgid "B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>():"
-msgstr "B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>():"
+#: build/C/man3/strtoul.3:45
+#, no-wrap
+msgid ""
+"B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
+"B<                                int >I<base>B<);>\n"
+msgstr ""
+"B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
+"B<                                int >I<base>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/random_r.3:54
-msgid "_SVID_SOURCE || _BSD_SOURCE"
-msgstr "_SVID_SOURCE || _BSD_SOURCE"
+#: build/C/man3/strtoul.3:54
+msgid "B<strtoull>():"
+msgstr "B<strtoull>():"
 
 #. type: Plain text
-#: build/C/man3/random_r.3:62
+#: build/C/man3/strtoul.3:75
 msgid ""
-"These functions are the reentrant equivalents of the functions described in "
-"B<random>(3).  They are suitable for use in multithreaded programs where "
-"each thread needs to obtain an independent, reproducible sequence of random "
-"numbers."
+"The B<strtoul>()  function converts the initial part of the string in "
+"I<nptr> to an I<unsigned long int> value according to the given I<base>, "
+"which must be between 2 and 36 inclusive, or be the special value 0."
 msgstr ""
-"これらの関数は、 B<random>(3)  で説明されている関数のリエントラント版で、等価"
-"な機能を持つ。 これらは、独立した再現可能な乱数列を各スレッドが得る必要がある"
-"ような マルチスレッド・プログラムでの使用に適している。"
+"B<strtoul>()  関数は、 I<nptr> の文字列の最初の部分を、 I<base> を基数として "
+"I<unsigned long int> に変換する。 この I<base> は 2 から 36 までの値 あるいは"
+"特別な意味を持つ値 0 でなければならない。"
 
 #. type: Plain text
-#: build/C/man3/random_r.3:73
+#: build/C/man3/strtoul.3:98
 msgid ""
-"The B<random_r>()  function is like B<random>(3), except that instead of "
-"using state information maintained in a global variable, it uses the state "
-"information in the argument pointed to by I<buf>.  The generated random "
-"number is returned in the argument I<result>."
+"The remainder of the string is converted to an I<unsigned long int> value in "
+"the obvious manner, stopping at the first character which is not a valid "
+"digit in the given base.  (In bases above 10, the letter \\(aqA\\(aq in "
+"either uppercase or lowercase represents 10, \\(aqB\\(aq represents 11, and "
+"so forth, with \\(aqZ\\(aq representing 35.)"
 msgstr ""
-"B<random_r>()  関数は B<random>(3)  と同様だが、 大域変数 (global variable) "
-"で管理される状態情報を使うのではなく、 I<buf> が指す引き数に格納された状態情"
-"報を使う。 生成された乱数は引き数 I<result> に格納されて返される。"
+"文字列の残りの部分は I<unsigned long int> に変換されるが、基数に対して 有効で"
+"ない数字が現れた時点で変換は終了する。(11進数以上では \\(aqA\\(aq は 大文字・"
+"小文字に関わらず 10 を表し、 \\(aqB\\(aq は 11 を表現し, 以下同様に、 \\(aqZ"
+"\\(aq は 35 を表す。)"
 
 #. type: Plain text
-#: build/C/man3/random_r.3:82
+#: build/C/man3/strtoul.3:119
 msgid ""
-"The B<srandom_r>()  function is like B<srandom>(3), except that it "
-"initializes the seed for the random number generator whose state is "
-"maintained in the object pointed to by I<buf>, instead of the seed "
-"associated with the global state variable."
+"If I<endptr> is not NULL, B<strtoul>()  stores the address of the first "
+"invalid character in I<*endptr>.  If there were no digits at all, "
+"B<strtoul>()  stores the original value of I<nptr> in I<*endptr> (and "
+"returns 0).  In particular, if I<*nptr> is not \\(aq\\e0\\(aq but "
+"I<**endptr> is \\(aq\\e0\\(aq on return, the entire string is valid."
 msgstr ""
-"B<srandom_r>()  関数は B<srandom>(3)  と同様だが、 大域変数で管理される状態に"
-"対応する乱数生成器の種ではなく、 I<buf> が指すオブジェクトで管理される状態に"
-"対応する乱数生成器の種を 初期化する。"
+"I<endptr> がヌル値 (NULL) でない場合、 B<strtoul>()  は最初に不正な文字が現れ"
+"たアドレスを I<*endptr> に格納している。 文字列に有効な数字がひとつもなけれ"
+"ば、 B<strtoul>()  は I<nptr> の元の値を I<*endptr> に代入する(そして 0 を返"
+"す)。 特に、 I<*nptr> が \\(aq\\e0\\(aq 以外で、返された I<**endptr> が \\(aq"
+"\\e0\\(aq ならば、文字列全体が有効だったことになる。"
 
 #. type: Plain text
-#: build/C/man3/random_r.3:90
+#: build/C/man3/strtoul.3:127
 msgid ""
-"The B<initstate_r>()  function is like B<initstate>(3)  except that it "
-"initializes the state in the object pointed to by I<buf>, rather than "
-"initializing the global state variable."
+"The B<strtoull>()  function works just like the B<strtoul>()  function but "
+"returns an I<unsigned long long int> value."
 msgstr ""
-"B<initstate_r>()  関数は B<initstate>(3)  と同様だが、大域変数で管理される状"
-"態を初期化するのではなく、 I<buf> が指すオブジェクト内の状態を初期化する。"
+"B<strtoull>()  関数は B<strtoul>()  関数と同様だが、 I<unsigned long long "
+"int> 型の値を返す。"
 
 #. type: Plain text
-#: build/C/man3/random_r.3:98
+#: build/C/man3/strtoul.3:148
 msgid ""
-"The B<setstate_r>()  function is like B<setstate>(3)  except that it "
-"modifies the state in the object pointer to by I<buf>, rather than modifying "
-"the global state variable."
+"The B<strtoul>()  function returns either the result of the conversion or, "
+"if there was a leading minus sign, the negation of the result of the "
+"conversion represented as an unsigned value, unless the original "
+"(nonnegated) value would overflow; in the latter case, B<strtoul>()  returns "
+"B<ULONG_MAX> and sets I<errno> to B<ERANGE>.  Precisely the same holds for "
+"B<strtoull>()  (with B<ULLONG_MAX> instead of B<ULONG_MAX>)."
 msgstr ""
-"B<setstate_r>()  関数は B<setstate>(3)  と同様だが、大域変数で管理される状態"
-"を変更するのではなく、 I<buf> が指すオブジェクト内の状態を変更する。"
+"B<strtoul>()  関数は変換結果を返す。文字列がマイナス符号から始まっていた場 合"
+"は、(符号反転前の値がオーバーフローしていなければ) 変換結果を符号反転した 値"
+"を unsigned 型で返す。変換でオーバーフローが発生した場合は B<ULONG_MAX> を返"
+"し、 I<errno> に B<ERANGE> を設定する。 (B<ULONG_MAX> を B<ULLONG_MAX> と読み"
+"替えれば)  B<strtoull>()  は B<strtoul>()  と全く同じである。"
 
 #. type: Plain text
-#: build/C/man3/random_r.3:100
-msgid "All of these functions return 0 on success, or -1 on error."
-msgstr "これらの関数は、成功すると 0 を返し、 エラーの場合は -1 を返す。"
+#: build/C/man3/strtoul.3:177
+msgid ""
+"The B<strtoul>(), B<strtoull>(), and B<strtouq>()  functions are thread-safe "
+"with exceptions.  These functions can be safely used in multithreaded "
+"applications, as long as B<setlocale>(3)  is not called to change the locale "
+"during their execution."
+msgstr ""
+"関数 B<strtoul>(), B<strtoull>(), B<strtouq>() は、例外付きのスレッドセーフで"
+"ある。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチス"
+"レッドアプリケーションで安全に使用することができる。"
 
 #. type: Plain text
-#: build/C/man3/random_r.3:105
-msgid "A state array of less than 8 bytes was specified to B<initstate_r>()."
-msgstr "8 バイトより小さい状態配列が B<initstate_r>()  に指定された。"
+#: build/C/man3/strtoul.3:182
+msgid ""
+"B<strtoul>()  conforms to SVr4, C89, C99, and POSIX-2001, and B<strtoull>()  "
+"to C99 and POSIX.1-2001."
+msgstr ""
+"B<strtoul>()  は SVr4, C89, C99 と POSIX-2001 に準拠している。 "
+"B<strtoull>()  は C99 と POSIX.1-2001 に準拠している。"
 
 #. type: Plain text
-#: build/C/man3/random_r.3:114
-msgid "The I<statebuf> or I<buf> argument to B<setstate_r>()  was NULL."
-msgstr "B<setstate_r>()  の引き数 I<statebuf> か I<buf> が NULL であった。"
+#: build/C/man3/strtoul.3:196
+msgid ""
+"Since B<strtoul>()  can legitimately return 0 or B<ULONG_MAX> (B<ULLONG_MAX> "
+"for B<strtoull>())  on both success and failure, the calling program should "
+"set I<errno> to 0 before the call, and then determine if an error occurred "
+"by checking whether I<errno> has a nonzero value after the call."
+msgstr ""
+"B<strtoul ()> からは成功、失敗どちらの場合でも 0 や B<ULONG_MAX> "
+"(B<strtoull>()  では B<ULLONG_MAX>)  が返る可能性があるので、 プログラムは関"
+"数を呼び出す前に I<errno> を 0 に設定し、呼び出し後に I<errno> が 0 以外の値"
+"かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
 
 #. type: Plain text
-#: build/C/man3/random_r.3:123
-msgid "The I<buf> or I<result> argument to B<random_r>()  was NULL."
-msgstr "B<random_r>()  の引き数 I<buf> か I<result> が NULL であった。"
+#: build/C/man3/strtoul.3:200
+msgid ""
+"In locales other than the \"C\" locale, other strings may be accepted.  (For "
+"example, the thousands separator of the current locale may be supported.)"
+msgstr ""
+"\"C\" 以外のロケールの場合、その他の文字列も受け付けられるかもしれない。 (例"
+"えば、現在のロケールの 1000 毎の区切り文字に対応しているかもしれない。)"
 
-#.  These functions appear to be on Tru64, but don't seem to be on
-#.  Solaris, HP-UX, or FreeBSD.
 #. type: Plain text
-#: build/C/man3/random_r.3:127
-msgid "These functions are nonstandard glibc extensions."
-msgstr "これらの関数は非標準で glibc による拡張である。"
-
-#. type: TH
-#: build/C/man3/rpmatch.3:27
+#: build/C/man3/strtoul.3:206
 #, no-wrap
-msgid "RPMATCH"
-msgstr "RPMATCH"
+msgid "B<u_quad_t strtouq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
+msgstr "B<u_quad_t strtouq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/rpmatch.3:30
+#: build/C/man3/strtoul.3:215
 msgid ""
-"rpmatch - determine if the answer to a question is affirmative or negative"
-msgstr "rpmatch - 質問への応答が肯定か否定かを判定する"
+"with completely analogous definition.  Depending on the wordsize of the "
+"current architecture, this may be equivalent to B<strtoull>()  or to "
+"B<strtoul>()."
+msgstr ""
+"という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャのワード長次第"
+"であるが、この関数は B<strtoull>()  や B<stroul>()  と等価な場合もありえる。"
 
 #. type: Plain text
-#: build/C/man3/rpmatch.3:35
-#, no-wrap
-msgid "B<int rpmatch(const char *>I<response>B<);>\n"
-msgstr "B<int rpmatch(const char *>I<response>B<);>\n"
+#: build/C/man3/strtoul.3:220
+msgid ""
+"Negative values are considered valid input and are silently converted to the "
+"equivalent I<unsigned long int> value."
+msgstr ""
+"負の値も正当な入力とみなされ、エラーもなく、 対応する I<unsigned long int> 型"
+"の値に変換される。"
 
 #. type: Plain text
-#: build/C/man3/rpmatch.3:44
-msgid "B<rpmatch>(): _SVID_SOURCE"
-msgstr "B<rpmatch>(): _SVID_SOURCE"
+#: build/C/man3/strtoul.3:231
+msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3)"
+msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3)"
 
-#. type: Plain text
-#: build/C/man3/rpmatch.3:48
-msgid ""
-"B<rpmatch>()  handles a user response to yes or no questions, with support "
-"for internationalization."
-msgstr ""
-"B<rpmatch>()  は yes/no の質問に対するユーザからの応答を処理する。 国際化 "
-"(I18N) に対応している。"
+#. type: TH
+#: build/C/man3/system.3:31
+#, no-wrap
+msgid "SYSTEM"
+msgstr "SYSTEM"
+
+#. type: TH
+#: build/C/man3/system.3:31
+#, no-wrap
+msgid "2014-05-10"
+msgstr "2014-05-10"
 
 #. type: Plain text
-#: build/C/man3/rpmatch.3:54
-msgid ""
-"I<response> should be a null-terminated string containing a user-supplied "
-"response, perhaps obtained with B<fgets>(3)  or B<getline>(3)."
-msgstr ""
-"I<response> にはユーザからの応答を格納した NULL 終端文字列が入っている必要が"
-"ある。 たいていは、 B<fgets>(3)  や B<getline>(3)  で取り込んだものであろう。"
+#: build/C/man3/system.3:34
+msgid "system - execute a shell command"
+msgstr "system - シェルコマンドの実行"
 
 #. type: Plain text
-#: build/C/man3/rpmatch.3:60
-msgid ""
-"The user's language preference is taken into account per the environment "
-"variables B<LANG>, B<LC_MESSAGES>, and B<LC_ALL>, if the program has called "
-"B<setlocale>(3)  to effect their changes."
-msgstr ""
-"プログラムが B<setlocale>(3)  を呼び出して環境変数の変更を有効にした場合、 環"
-"境変数 B<LANG>, B<LC_MESSAGES>, B<LC_ALL> が ユーザの言語設定として考慮され"
-"る。"
+#: build/C/man3/system.3:39
+#, no-wrap
+msgid "B<int system(const char *>I<command>B<);>\n"
+msgstr "B<int system(const char *>I<command>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/rpmatch.3:64
+#: build/C/man3/system.3:50
 msgid ""
-"Regardless of the locale, responses matching B<^[Yy]> are always accepted as "
-"affirmative, and those matching B<^[Nn]> are always accepted as negative."
+"The B<system>()  library function uses B<fork>(2)  to create a child process "
+"that executes the shell command specified in I<command> using B<execl>(3)  "
+"as follows:"
 msgstr ""
-"ロケールに関わらず、B<^[Yy]> にマッチする応答は常に肯定だと解釈され、 B<^[Nn]"
-"> にマッチする応答は常に否定だと解釈される。"
+"B<system>() ライブラリ関数は、B<fork>(2) を使って子プロセスを作成し、その子プ"
+"ロセスは以下のように I<command> で指定されたシェルコマンドを B<execl>(3) を"
+"使って実行する。"
 
 #. type: Plain text
-#: build/C/man3/rpmatch.3:71
-msgid ""
-"After examining I<response>, B<rpmatch>()  returns 0 for a recognized "
-"negative response (\"no\"), 1 for a recognized positive response (\"yes\"), "
-"and -1 when the value of I<response> is unrecognized."
-msgstr ""
-"I<response> を検査した後、 B<rpmatch>()  は否定的な応答 (\"no\") と認識した場"
-"合は 0 を返し、 肯定的な応答 (\"yes\") と認識した場合は 1 を返す。 "
-"I<response> の値を解釈できなかった場合は -1 を返す。"
+#: build/C/man3/system.3:52
+#, no-wrap
+msgid "    execl(\"/bin/sh\", \"sh\". \"-c\", command, (char *) 0);\n"
+msgstr "    execl(\"/bin/sh\", \"sh\". \"-c\", command, (char *) 0);\n"
 
 #. type: Plain text
-#: build/C/man3/rpmatch.3:75
-msgid ""
-"A return value of -1 may indicate either an invalid input, or some other "
-"error.  It is incorrect to only test if the return value is nonzero."
-msgstr ""
-"返り値 -1 が返った場合、入力が不正であったか、他の何らかのエラーが あったこと"
-"を意味する。返り値が 0 以外かどうかを確認するだけでは 十分ではない。"
+#: build/C/man3/system.3:55
+msgid "B<system>()  returns after the command has been completed."
+msgstr "B<system>() が返るのはコマンドが完了した後である。"
 
 #. type: Plain text
-#: build/C/man3/rpmatch.3:85
+#: build/C/man3/system.3:67
 msgid ""
-"B<rpmatch>()  can fail for any of the reasons that B<regcomp>(3)  or "
-"B<regexec>(3)  can fail; the cause of the error is not available from "
-"I<errno> or anywhere else, but indicates a failure of the regex engine (but "
-"this case is indistinguishable from that of an unrecognized value of "
-"I<response>)."
+"During execution of the command, B<SIGCHLD> will be blocked, and B<SIGINT> "
+"and B<SIGQUIT> will be ignored, in the process that calls B<system>()  "
+"(these signals will be handled according to their defaults inside the child "
+"process that executes I<command>)."
 msgstr ""
-"B<rpmatch>()  は、 B<regcomp>(3)  や B<regexec>(3)  が失敗する理由のどれかで"
-"失敗することがある。 エラーの原因を I<errno> や他の何かで知ることはできない"
-"が、 I<errno> は正規表現エンジンの失敗の原因を示している (但し、このケースと "
-"I<response> の値を認識できずに失敗した場合を区別することはできない)。"
+"コマンドの実行中は、 B<system>() を呼び出したプロセスでは、 B<SIGCHLD> はブ"
+"ロックされ、 B<SIGINT> と B<SIGQUIT> は無視される (I<command> を実行する子プ"
+"ロセスでは、これらのシグナルはデフォルトの処理方法にしたがって処理される)。"
 
-#.  It is available on at least AIX 5.1 and FreeBSD 6.0.
 #. type: Plain text
-#: build/C/man3/rpmatch.3:90
+#: build/C/man3/system.3:73
 msgid ""
-"B<rpmatch>()  is not required by any standard, but is available on a few "
-"other systems."
+"If I<command> is NULL, then B<system>()  returns a status indicating whether "
+"a shell is available on the system"
 msgstr ""
-"B<rpmatch>()  はどの標準でも必須となっていないが、 Linux 以外にも利用できるシ"
-"ステムもいくつかは存在する。"
+"I<command> が NULL の場合、 B<system>()  はそのシステムでシェルが利用可能かを"
+"示すステータスを返す。"
 
 #. type: Plain text
-#: build/C/man3/rpmatch.3:102
-msgid ""
-"The B<rpmatch>()  implementation looks at only the first character of "
-"I<response>.  As a consequence, \"nyes\" returns 0, and \"ynever; not in a "
-"million years\" returns 1.  It would be preferable to accept input strings "
-"much more strictly, for example (using the extended regular expression "
-"notation described in B<regex>(7)): B<^([yY]|yes|YES)$> and B<^([nN]|no|"
-"NO)$>."
-msgstr ""
-"B<rpmatch>()  の実装は I<response> の最初の 1 文字だけを見ているようである。"
-"その結果、 \"nyes\" は 0 を返し、 \"ynever; not in a million years\" は 1 を"
-"返すことになる。 入力文字列をもっと厳密に解釈した方がよいだろう。 例えば、 "
-"(B<regex>(7)  で説明されている拡張正規表現を使って)  B<^([yY]|yes|YES)$> や "
-"B<^([nN]|no|NO)$> で解釈するなど。"
+#: build/C/man3/system.3:77
+msgid "The return value of B<system>()  is one of the following:"
+msgstr "B<system>() の返り値は以下のいずれかである。"
 
 #. type: Plain text
-#: build/C/man3/rpmatch.3:106
+#: build/C/man3/system.3:82
 msgid ""
-"The following program displays the results when B<rpmatch>()  is applied to "
-"the string given in the program's command-line argument."
+"If I<command> is NULL, then a nonzero value if a shell is available, or 0 if "
+"no shell is available."
 msgstr ""
-"以下のプログラムは、コマンドライン引き数で 指定された文字列を B<rpmatch>()  "
-"に渡した場合の結果を表示する。"
+"I<command> が NULL の場合、 シェルが利用可能ならゼロ以外の値、利用不可なら "
+"0。"
 
 #. type: Plain text
-#: build/C/man3/rpmatch.3:113
-#, no-wrap
+#: build/C/man3/system.3:86
 msgid ""
-"#define _SVID_SOURCE\n"
-"#include E<lt>locale.hE<gt>\n"
-"#include E<lt>stdlib.hE<gt>\n"
-"#include E<lt>string.hE<gt>\n"
-"#include E<lt>stdio.hE<gt>\n"
+"If a child process could not be created, or its status could not be "
+"retrieved, the return value is -1."
 msgstr ""
-"#define _SVID_SOURCE\n"
-"#include E<lt>locale.hE<gt>\n"
-"#include E<lt>stdlib.hE<gt>\n"
-"#include E<lt>string.hE<gt>\n"
-"#include E<lt>stdio.hE<gt>\n"
+"子プロセスを作成できなかった場合、または子プロセスのステータスを取得できな"
+"かった場合、 返り値は -1 である。"
 
 #. type: Plain text
-#: build/C/man3/rpmatch.3:121
-#, no-wrap
+#: build/C/man3/system.3:91
 msgid ""
-"int\n"
-"main(int argc, char *argv[])\n"
-"{\n"
-"    if (argc != 2 || strcmp(argv[1], \"--help\") == 0) {\n"
-"        fprintf(stderr, \"%s response\\en\", argv[0]);\n"
-"        exit(EXIT_FAILURE);\n"
-"    }\n"
+"If a shell could not be executed in the child process, then the return value "
+"is as though the child shell terminated by calling B<_exit>(2)  with the "
+"status 127."
 msgstr ""
-"int\n"
-"main(int argc, char *argv[])\n"
-"{\n"
-"    if (argc != 2 || strcmp(argv[1], \"--help\") == 0) {\n"
-"        fprintf(stderr, \"%s response\\en\", argv[0]);\n"
-"        exit(EXIT_FAILURE);\n"
-"    }\n"
+"子プロセスでシェルを実行できなかった場合、 返り値は子プロセスがステータス "
+"127 で B<_exit>(2) を呼び出して終了したのと同じになる。"
 
 #. type: Plain text
-#: build/C/man3/rpmatch.3:126
-#, no-wrap
+#: build/C/man3/system.3:98
 msgid ""
-"    setlocale(LC_ALL, \"\");\n"
-"    printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
-"    exit(EXIT_SUCCESS);\n"
-"}\n"
+"If all system calls succeed, then the return value is the termination status "
+"of the child shell used to execute I<command>.  (The termination status of a "
+"shell is the termination status of the last command it executes.)"
 msgstr ""
-"    setlocale(LC_ALL, \"\");\n"
-"    printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
-"    exit(EXIT_SUCCESS);\n"
-"}\n"
+"システムコールがすべて成功した場合、 返り値は I<command> を実行するのに使用さ"
+"れた子プロセスのシェルの終了ステータスとなる (シェルの終了ステータスはその"
+"シェルが実行した最後のコマンドの終了ステータスである)。"
 
 #. type: Plain text
-#: build/C/man3/rpmatch.3:132
+#: build/C/man3/system.3:107
 msgid ""
-"B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), B<setlocale>(3)"
+"In the last two cases, the return value is a \"wait status\" that can be "
+"examined using the macros described in B<waitpid>(2).  (i.e., "
+"B<WIFEXITED>()  B<WEXITSTATUS>()  and so on)."
 msgstr ""
-"B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), B<setlocale>(3)"
-
-#. type: TH
-#: build/C/man3/setenv.3:35
-#, no-wrap
-msgid "SETENV"
-msgstr "SETENV"
-
-#. type: Plain text
-#: build/C/man3/setenv.3:38
-msgid "setenv - change or add an environment variable"
-msgstr "setenv - 環境変数を変更または追加する"
-
-#. type: Plain text
-#: build/C/man3/setenv.3:43
-#, no-wrap
-msgid "B<int setenv(const char *>I<name>B<, const char *>I<value>B<, int >I<overwrite>B<);>\n"
-msgstr "B<int setenv(const char *>I<name>B<, const char *>I<value>B<, int >I<overwrite>B<);>\n"
+"最後の 2 つの場合、返り値は \"wait status\" であり、 B<waitpid>(2) に書かれて"
+"いるマクロ (つまり B<WIFEXITED>() や B<WEXITSTATUS>() などのマクロ) を使って"
+"検査することができる。"
 
 #. type: Plain text
-#: build/C/man3/setenv.3:45
-#, no-wrap
-msgid "B<int unsetenv(const char *>I<name>B<);>\n"
-msgstr "B<int unsetenv(const char *>I<name>B<);>\n"
+#: build/C/man3/system.3:110
+msgid "B<system>()  does not affect the wait status of any other children."
+msgstr "B<system>()  は他の子プロセスのウエイトステータスには影響を与えない。"
 
 #. type: Plain text
-#: build/C/man3/setenv.3:55
-msgid "B<setenv>(), B<unsetenv>():"
-msgstr "B<setenv>(), B<unsetenv>():"
+#: build/C/man3/system.3:112
+msgid "C89, C99, POSIX.1-2001."
+msgstr "C89, C99, POSIX.1-2001."
 
 #. type: Plain text
-#: build/C/man3/setenv.3:57
+#: build/C/man3/system.3:129
 msgid ""
-"_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
-"\\ 600"
+"B<system>()  provides simplicity and convenience: it handles all of the "
+"details of calling B<fork>(2), B<execl>(3), and B<waitpid>(2), as well as "
+"the necessary manipulations of signals; in addition, the shell performs the "
+"usual substitutions and I/O redirections for I<command>.  The main cost of "
+"B<system>()  is inefficiency: additional system calls are required to create "
+"the process that runs the shell and to execute the shell."
 msgstr ""
-"_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
-"\\ 600"
 
 #. type: Plain text
-#: build/C/man3/setenv.3:75
+#: build/C/man3/system.3:141
 msgid ""
-"The B<setenv>()  function adds the variable I<name> to the environment with "
-"the value I<value>, if I<name> does not already exist.  If I<name> does "
-"exist in the environment, then its value is changed to I<value> if "
-"I<overwrite> is nonzero; if I<overwrite> is zero, then the value of I<name> "
-"is not changed.  This function makes copies of the strings pointed to by "
-"I<name> and I<value> (by contrast with B<putenv>(3))."
+"If the B<_XOPEN_SOURCE> feature test macro is defined (before including "
+"I<any> header files), then the macros described in B<waitpid>(2)  "
+"(B<WEXITSTATUS>(), etc.) are made available when including I<E<lt>stdlib."
+"hE<gt>>."
 msgstr ""
-"B<setenv>()  関数は、I<name> が存在しない場合 環境変数 I<name> に値 I<value> "
-"を設定し、環境に追加する。 I<name> が環境に存在する場合、I<overwrite> が 0 以"
-"外ならば その値を I<value> に変更し、I<overwrite> が 0 ならば I<name> の値を"
-"変更しない。 この関数は、 (B<putenv>(3)  と違い)  I<name> と I<value> により"
-"参照される文字列のコピーを行う。"
+"(「どの」ヘッダファイルをインクルードするよりも前に)  機能検査マクロ "
+"B<_XOPEN_SOURCE> が定義された場合には、 B<waitpid>(2)  で説明されているマクロ"
+"群 (B<WEXITSTATUS>()  等) が I<E<lt>stdlib.hE<gt>> をインクルードすると利用可"
+"能になる。"
 
 #. type: Plain text
-#: build/C/man3/setenv.3:84
+#: build/C/man3/system.3:152
 msgid ""
-"The B<unsetenv>()  function deletes the variable I<name> from the "
-"environment.  If I<name> does not exist in the environment, then the "
-"function succeeds, and the environment is unchanged."
+"As mentioned, B<system>()  ignores B<SIGINT> and B<SIGQUIT>.  This may make "
+"programs that call it from a loop uninterruptible, unless they take care "
+"themselves to check the exit status of the child.  For example:"
 msgstr ""
-"B<unsetenv>()  関数は、変数 I<name> を環境から削除する。 I<name> が環境にない"
-"場合、この関数は成功し、環境は変更されない。"
+"既に述べたように、 B<system>()  は B<SIGINT> と B<SIGQUIT> を無視する。 よっ"
+"てループから B<system>()  を呼ぶプログラムは、 以下の例のように子プロセスの終"
+"了状態を自分でチェックしておかないと、 中断できなくなるかもしれない。"
 
 #. type: Plain text
-#: build/C/man3/setenv.3:91
+#: build/C/man3/system.3:157
+#, no-wrap
 msgid ""
-"The B<setenv>()  function returns zero on success, or -1 on error, with "
-"I<errno> set to indicate the cause of the error."
+"    while (something) {\n"
+"        int ret = system(\"foo\");\n"
 msgstr ""
-"B<setenv>()  関数は、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
-"I<errno> にエラーの原因を示す値がセットされる。"
+"    while (something) {\n"
+"        int ret = system(\"foo\");\n"
 
 #. type: Plain text
-#: build/C/man3/setenv.3:98
+#: build/C/man3/system.3:162
+#, no-wrap
 msgid ""
-"The B<unsetenv>()  function returns zero on success, or -1 on error, with "
-"I<errno> set to indicate the cause of the error."
+"        if (WIFSIGNALED(ret) &&\n"
+"            (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
+"                break;\n"
+"    }\n"
 msgstr ""
-"B<unsetenv>()  関数は、成功すると 0 を返す。 エラーの場合は -1 を返し、 "
-"I<errno> を設定してエラーの原因を示す。"
+"        if (WIFSIGNALED(ret) &&\n"
+"            (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
+"                break;\n"
+"    }\n"
 
 #. type: Plain text
-#: build/C/man3/setenv.3:104
+#: build/C/man3/system.3:182
 msgid ""
-"I<name> is NULL, points to a string of length 0, or contains an \\(aq=\\(aq "
-"character."
+"Do not use B<system>()  from a program with set-user-ID or set-group-ID "
+"privileges, because strange values for some environment variables might be "
+"used to subvert system integrity.  Use the B<exec>(3)  family of functions "
+"instead, but not B<execlp>(3)  or B<execvp>(3).  B<system>()  will not, in "
+"fact, work properly from programs with set-user-ID or set-group-ID "
+"privileges on systems on which I</bin/sh> is bash version 2, since bash 2 "
+"drops privileges on startup.  (Debian uses a modified bash which does not do "
+"this when invoked as B<sh>.)"
 msgstr ""
-"I<name> が NULL であるか、長さが 0 の文字列を指しているか、 \\(aq=\\(aq 文字"
-"が含まれている。"
-
-#. type: Plain text
-#: build/C/man3/setenv.3:107
-msgid "Insufficient memory to add a new variable to the environment."
-msgstr "環境に新しい変数を追加するのに十分なメモリがない。"
+"set-user-ID や set-group-ID の特権をもつプログラムの中では B<system>()  を"
+"使ってはいけない。なぜなら、ある環境変数の未知の値によって システムの安全が損"
+"なわれるからである。代わりに B<exec>(3)  関連の関数群の中で B<execlp>(3)  と "
+"B<execvp>(3)  以外の関数を使用すべきである。 実際のところ、 B<system>()  は "
+"I</bin/sh> が bash バージョン 2 であるシステムでは、 set-user-ID や set-"
+"group-ID の特権を持つプログラムからは正しく動作しない。 なぜなら、bash バー"
+"ジョン 2 はスタートアップ時に特権を落とすからである。 (Debian では、sh として"
+"起動された時にはこのような動作を行なわないように 修正された bash を用いてい"
+"る)"
 
 #. type: Plain text
-#: build/C/man3/setenv.3:115
+#: build/C/man3/system.3:196
 msgid ""
-"POSIX.1-2001 does not require B<setenv>()  or B<unsetenv>()  to be reentrant."
+"In versions of glibc before 2.1.3, the check for the availability of I</bin/"
+"sh> was not actually performed if I<command> was NULL; instead it was always "
+"assumed to be available, and B<system>()  always returned 1 in this case.  "
+"Since glibc 2.1.3, this check is performed because, even though POSIX.1-2001 "
+"requires a conforming implementation to provide a shell, that shell may not "
+"be available or executable if the calling program has previously called "
+"B<chroot>(2)  (which is not specified by POSIX.1-2001)."
 msgstr ""
-"POSIX.1-2001 は、 B<setenv>()  や B<unsetenv>()  がリエントラント (再入可能) "
-"であることを要求していない。"
+"glibc 2.1.3 より前のバージョンでは、 I<command> が NULL の場合に I</bin/sh> "
+"が利用可能かどうかのチェックは実際には行わず、 いつでも利用可能であるとみなし"
+"ていた。 B<system>()  はこの場合に常に 1 を返していた。 POSIX.1-2001 ではシェ"
+"ルが提供されているという標準に準拠した実装を 要求しているが、glibc 2.1.3 以降"
+"ではシェルのチェックを実行している。 なぜなら、呼び出し元のプログラムが "
+"B<system>()  を呼び出すより前に (POSIX.1-2001 では規定されていない)  "
+"B<chroot>(2)  を呼び出していた時には、シェルが利用可能でない場合や実行可能"
+"ファイル でない場合があるからである。"
 
 #. type: Plain text
-#: build/C/man3/setenv.3:121
+#: build/C/man3/system.3:202
 msgid ""
-"Prior to glibc 2.2.2, B<unsetenv>()  was prototyped as returning I<void>; "
-"more recent glibc versions follow the POSIX.1-2001-compliant prototype shown "
-"in the SYNOPSIS."
+"It is possible for the shell command to terminate with a status of 127, "
+"which yields a B<system>()  return value that is indistinguishable from the "
+"case where a shell could not be executed in the child process."
 msgstr ""
-"glibc 2.2.2 以前では、 B<unsetenv>()  は 返り値が I<void> のプロトタイプで"
-"あった。 もっと最近の glibc 版は、「書式」セクションで示しているように "
-"POSIX.1-2001 互換のプロトタイプである。"
 
 #. type: Plain text
-#: build/C/man3/setenv.3:130
+#: build/C/man3/system.3:210
 msgid ""
-"POSIX.1-2001 specifies that if I<name> contains an \\(aq=\\(aq character, "
-"then B<setenv>()  should fail with the error B<EINVAL>; however, versions of "
-"glibc before 2.3.4 allowed an \\(aq=\\(aq sign in I<name>."
+"B<sh>(1), B<sigaction>(2), B<sigprocmask>(2), B<fork>(2), B<wait>(2), "
+"B<exec>(3), B<signal>(7)"
 msgstr ""
-"POSIX.1-2001 では 「I<name> に \\(aq=\\(aq 文字が含まれる場合、 B<setenv>()  "
-"はエラー B<EINVAL> で失敗すべきである」と述べられている。 しかし 2.3.4 より前"
-"のバージョンの glibc では、 I<name> に \\(aq=\\(aq 文字が含まれるのを許してい"
-"る。"
-
-#. type: Plain text
-#: build/C/man3/setenv.3:134
-msgid "B<clearenv>(3), B<getenv>(3), B<putenv>(3), B<environ>(7)"
-msgstr "B<clearenv>(3), B<getenv>(3), B<putenv>(3), B<environ>(7)"
+"B<sh>(1), B<sigaction>(2), B<sigprocmask>(2), B<fork>(2), B<wait>(2), "
+"B<exec>(3), B<signal>(7)"
 
 #. type: TH
-#: build/C/man3/strtod.3:43
+#: build/C/man7/vdso.7:13
 #, no-wrap
-msgid "STRTOD"
-msgstr "STRTOD"
-
-#. type: Plain text
-#: build/C/man3/strtod.3:46
-msgid "strtod, strtof, strtold - convert ASCII string to floating-point number"
-msgstr "strtod, strtof, strtold - ASCII 文字列を浮動小数点実数に変換する"
+msgid "VDSO"
+msgstr "VDSO"
 
-#. type: Plain text
-#: build/C/man3/strtod.3:50
-msgid "B<double strtod(const char *>I<nptr>B<, char **>I<endptr>B<);>"
-msgstr "B<double strtod(const char *>I<nptr>B<, char **>I<endptr>B<);>"
+#. type: TH
+#: build/C/man7/vdso.7:13
+#, no-wrap
+msgid "2014-02-01"
+msgstr "2014-02-01"
 
 #. type: Plain text
-#: build/C/man3/strtod.3:52
-msgid "B<float strtof(const char *>I<nptr>B<, char **>I<endptr>B<);>"
-msgstr "B<float strtof(const char *>I<nptr>B<, char **>I<endptr>B<);>"
+#: build/C/man7/vdso.7:16
+msgid "vDSO - overview of the virtual ELF dynamic shared object"
+msgstr ""
 
 #. type: Plain text
-#: build/C/man3/strtod.3:54
-msgid "B<long double strtold(const char *>I<nptr>B<, char **>I<endptr>B<);>"
-msgstr "B<long double strtold(const char *>I<nptr>B<, char **>I<endptr>B<);>"
+#: build/C/man7/vdso.7:18
+msgid "B<#include E<lt>sys/auxv.hE<gt>>"
+msgstr "B<#include E<lt>sys/auxv.hE<gt>>"
 
 #. type: Plain text
-#: build/C/man3/strtod.3:63
-msgid "B<strtof>(), B<strtold>():"
-msgstr "B<strtof>(), B<strtold>():"
+#: build/C/man7/vdso.7:20
+msgid "B<void *vdso = (uintptr_t) getauxval(AT_SYSINFO_EHDR);>"
+msgstr "B<void *vdso = (uintptr_t) getauxval(AT_SYSINFO_EHDR);>"
 
 #. type: Plain text
-#: build/C/man3/strtod.3:85
+#: build/C/man7/vdso.7:29
 msgid ""
-"The B<strtod>(), B<strtof>(), and B<strtold>()  functions convert the "
-"initial portion of the string pointed to by I<nptr> to I<double>, I<float>, "
-"and I<long double> representation, respectively."
+"The \"vDSO\" (virtual dynamic shared object) is a small shared library that "
+"the kernel automatically maps into the address space of all user-space "
+"applications.  Applications usually do not need to concern themselves with "
+"these details as the vDSO is most commonly called by the C library.  This "
+"way you can code in the normal way using standard functions and the C "
+"library will take care of using any functionality that is available via the "
+"vDSO."
 msgstr ""
-"B<strtod>(), B<strtof>(), B<strtold>()  関数は、 I<nptr> が指し示す文字列のは"
-"じめの部分を I<double>, I<float>, I<long double> 型の値にそれぞれ変換する。"
 
 #. type: Plain text
-#: build/C/man3/strtod.3:92
+#: build/C/man7/vdso.7:37
 msgid ""
-"The expected form of the (initial portion of the) string is optional leading "
-"white space as recognized by B<isspace>(3), an optional plus (\\(aq+\\(aq) "
-"or minus sign (\\(aq-\\(aq) and then either (i) a decimal number, or (ii) a "
-"hexadecimal number, or (iii) an infinity, or (iv) a NAN (not-a-number)."
+"Why does the vDSO exist at all? There are some system calls the kernel "
+"provides that user-space code ends up using frequently, to the point that "
+"such calls can dominate overall performance.  This is due both to the "
+"frequency of the call as well as the context-switch overhead that results "
+"from exiting user space and entering the kernel."
 msgstr ""
-"入力する文字列 (の先頭部分) は以下の形式が期待されている。 先頭にホワイトス"
-"ペース、 次にプラス (\\(aq+\\(aq) またはマイナス (\\(aq-\\(aq) の記号、 その"
-"後に (i) 10 進数、(ii) 16 進数、(iii) 無限、 (iv) NAN (計算できない数、not-a-"
-"number) のいずれかがある (ホワイトスペース、符号は省略可能。 ホワイトスペース"
-"は B<isspace>(3)  で識別される)。"
 
 #. type: Plain text
-#: build/C/man3/strtod.3:101
+#: build/C/man7/vdso.7:42
 msgid ""
-"A I<decimal number> consists of a nonempty sequence of decimal digits "
-"possibly containing a radix character (decimal point, locale-dependent, "
-"usually \\(aq.\\(aq), optionally followed by a decimal exponent.  A decimal "
-"exponent consists of an \\(aqE\\(aq or \\(aqe\\(aq, followed by an optional "
-"plus or minus sign, followed by a nonempty sequence of decimal digits, and "
-"indicates multiplication by a power of 10."
+"The rest of this documentation is geared toward the curious and/or C library "
+"writers rather than general developers.  If you're trying to call the vDSO "
+"in your own application rather than using the C library, you're most likely "
+"doing it wrong."
+msgstr ""
+
+#. type: SS
+#: build/C/man7/vdso.7:42
+#, no-wrap
+msgid "Example background"
 msgstr ""
-"I<10 進数> は 1 文字以上の 10 進の数字の列からなり、 基を表す文字 (radix "
-"charater)  (小数点。ロケールに依存するが、通常は \\(aq.\\(aq) が含まれること"
-"もある。 この後に 10 進の指数部が続いても良い。 10 進の指数部は \\(aqE\\(aq "
-"または \\(aqe\\(aq と、その後に置かれる正負記号 (省略可)、 およびその後に続"
-"く 1 文字以上の 10 進の数字の列からなり、 10 の何乗であるかを表す。"
 
 #. type: Plain text
-#: build/C/man3/strtod.3:112
+#: build/C/man7/vdso.7:56
 msgid ""
-"A I<hexadecimal number> consists of a \"0x\" or \"0X\" followed by a "
-"nonempty sequence of hexadecimal digits possibly containing a radix "
-"character, optionally followed by a binary exponent.  A binary exponent "
-"consists of a \\(aqP\\(aq or \\(aqp\\(aq, followed by an optional plus or "
-"minus sign, followed by a nonempty sequence of decimal digits, and indicates "
-"multiplication by a power of 2.  At least one of radix character and binary "
-"exponent must be present."
+"Making system calls can be slow.  In x86 32-bit systems, you can trigger a "
+"software interrupt (I<int $0x80>)  to tell the kernel you wish to make a "
+"system call.  However, this instruction is expensive: it goes through the "
+"full interrupt-handling paths in the processor's microcode as well as in the "
+"kernel.  Newer processors have faster (but backward incompatible) "
+"instructions to initiate system calls.  Rather than require the C library to "
+"figure out if this functionality is available at run time, the C library can "
+"use functions provided by the kernel in the vDSO."
 msgstr ""
-"I<16 進数> は、\"0x\" または \"0X\" とその後に続く 1 文字以上の 16 進の数字の"
-"列からなり、 基を表す文字が含まれることもある。 この後に 2 進の指数部が続いて"
-"も良い。 2 進の指数部は \\(aqP\\(aq または \\(aqp\\(aq と、その後に置かれる正"
-"負記号 (省略可)、 およびその後に続く 1 文字以上の 10 進の数字の列から構成さ"
-"れ、 2 の何乗であるかを表す。 基を表す文字と 2 進の指数部は、どちらか一方しか"
-"存在してはならない。"
 
 #. type: Plain text
-#: build/C/man3/strtod.3:116
-msgid "An I<infinity> is either \"INF\" or \"INFINITY\", disregarding case."
+#: build/C/man7/vdso.7:63
+msgid ""
+"Note that the terminology can be confusing.  On x86 systems, the vDSO "
+"function used to determine the preferred method of making a system call is "
+"named \"__kernel_vsyscall\", but on x86_64, the term \"vsyscall\" also "
+"refers to an obsolete way to ask the kernel what time it is or what CPU the "
+"caller is on."
 msgstr ""
-"I<無限> は \"INF\" または \"INFINITY\" で表され、大文字小文字は区別されない。"
 
-#.  From glibc 2.8's stdlib/strtod_l.c:
-#.      We expect it to be a number which is put in the
-#.      mantissa of the number.
 #. type: Plain text
-#: build/C/man3/strtod.3:126
+#: build/C/man7/vdso.7:79
 msgid ""
-"A I<NAN> is \"NAN\" (disregarding case) optionally followed by \\(aq(\\(aq, "
-"a sequence of characters, followed by \\(aq)\\(aq.  The character string "
-"specifies in an implementation-dependent way the type of NAN."
+"One frequently used system call is B<gettimeofday>(2).  This system call is "
+"called both directly by user-space applications as well as indirectly by the "
+"C library.  Think timestamps or timing loops or polling\\(emall of these "
+"frequently need to know what time it is right now.  This information is also "
+"not secret\\(emany application in any privilege mode (root or any "
+"unprivileged user) will get the same answer.  Thus the kernel arranges for "
+"the information required to answer this question to be placed in memory the "
+"process can access.  Now a call to B<gettimeofday>(2)  changes from a system "
+"call to a normal function call and a few memory accesses."
 msgstr ""
-"I<NAN> は \"NAN\" (大文字小文字は区別されない) で表され、 その後に \\(aq"
-"(\\(aq 文字列 \\(aq)\\(aq が続く場合もある。 この文字列は実装に依存する NAN "
-"を指定する。"
 
-#. type: Plain text
-#: build/C/man3/strtod.3:128
-msgid "These functions return the converted value, if any."
-msgstr "これらの関数は、変換された値があれば、それを返す。"
+#. type: SS
+#: build/C/man7/vdso.7:79
+#, no-wrap
+msgid "Finding the vDSO"
+msgstr ""
 
 #. type: Plain text
-#: build/C/man3/strtod.3:135
+#: build/C/man7/vdso.7:86
 msgid ""
-"If I<endptr> is not NULL, a pointer to the character after the last "
-"character used in the conversion is stored in the location referenced by "
-"I<endptr>."
+"The base address of the vDSO (if one exists) is passed by the kernel to each "
+"program in the initial auxiliary vector (see B<getauxval>(3)), via the "
+"B<AT_SYSINFO_EHDR> tag."
 msgstr ""
-"I<endptr> が NULL でないときは、変換に使われた最終文字の次の文字へのポイン"
-"ターが I<endptr> で参照される場所へ保存される。"
 
 #. type: Plain text
-#: build/C/man3/strtod.3:140
+#: build/C/man7/vdso.7:95
 msgid ""
-"If no conversion is performed, zero is returned and the value of I<nptr> is "
-"stored in the location referenced by I<endptr>."
+"You must not assume the vDSO is mapped at any particular location in the "
+"user's memory map.  The base address will usually be randomized at run time "
+"every time a new process image is created (at B<execve>(2)  time).  This is "
+"done for security reasons, to prevent \"return-to-libc\" attacks."
 msgstr ""
-"変換が行われなかったときには 0 が返る。そして I<endptr> が参照している場所に "
-"I<nptr> の値 (変換対象である文字列の開始アドレス) が保存される。"
 
 #. type: Plain text
-#: build/C/man3/strtod.3:154
+#: build/C/man7/vdso.7:104
 msgid ""
-"If the correct value would cause overflow, plus or minus B<HUGE_VAL> "
-"(B<HUGE_VALF>, B<HUGE_VALL>)  is returned (according to the sign of the "
-"value), and B<ERANGE> is stored in I<errno>.  If the correct value would "
-"cause underflow, zero is returned and B<ERANGE> is stored in I<errno>."
+"For some architectures, there is also an B<AT_SYSINFO> tag.  This is used "
+"only for locating the vsyscall entry point and is frequently omitted or set "
+"to 0 (meaning it's not available).  This tag is a throwback to the initial "
+"vDSO work (see I<History> below) and its use should be avoided."
 msgstr ""
-"正しい形式の数値文字列であるが、変換結果がオーバーフローを起こした場合 には、"
-"プラスまたはマイナスの B<HUGE_VAL> (B<HUGE_VALF>, B<HUGE_VALL>)  が返り (値の"
-"符号による)、 B<ERANGE> が I<errno> に代入される。変換結果がアンダーフローを"
-"起こした場合には 0 が返り、 B<ERANGE> が I<errno> に代入される。"
 
-#. type: TP
-#: build/C/man3/strtod.3:155 build/C/man3/strtol.3:131
-#: build/C/man3/strtoul.3:134
+#. type: SS
+#: build/C/man7/vdso.7:104
 #, no-wrap
-msgid "B<ERANGE>"
-msgstr "B<ERANGE>"
+msgid "File format"
+msgstr ""
 
 #. type: Plain text
-#: build/C/man3/strtod.3:158
-msgid "Overflow or underflow occurred."
-msgstr "オーバーフローまたはアンダーフローが起こった。"
+#: build/C/man7/vdso.7:111
+msgid ""
+"Since the vDSO is a fully formed ELF image, you can do symbol lookups on "
+"it.  This allows new symbols to be added with newer kernel releases, and "
+"allows the C library to detect available functionality at run time when "
+"running under different kernel versions.  Oftentimes the C library will do "
+"detection with the first call and then cache the result for subsequent calls."
+msgstr ""
 
 #. type: Plain text
-#: build/C/man3/strtod.3:163
-msgid "C89 describes B<strtod>(), C99 describes the other two functions."
-msgstr "C89 では B<strtod>()  が、C99 では残りの 2 つの関数が記述されている。"
+#: build/C/man7/vdso.7:120
+msgid ""
+"All symbols are also versioned (using the GNU version format).  This allows "
+"the kernel to update the function signature without breaking backward "
+"compatibility.  This means changing the arguments that the function accepts "
+"as well as the return value.  Thus, when looking up a symbol in the vDSO, "
+"you must always include the version to match the ABI you expect."
+msgstr ""
 
 #. type: Plain text
-#: build/C/man3/strtod.3:172
+#: build/C/man7/vdso.7:125
 msgid ""
-"Since 0 can legitimately be returned on both success and failure, the "
-"calling program should set I<errno> to 0 before the call, and then determine "
-"if an error occurred by checking whether I<errno> has a nonzero value after "
-"the call."
+"Typically the vDSO follows the naming convention of prefixing all symbols "
+"with \"__vdso_\" or \"__kernel_\" so as to distinguish them from other "
+"standard symbols.  For example, the \"gettimeofday\" function is named "
+"\"__vdso_gettimeofday\"."
 msgstr ""
-"成功、失敗どちらの場合でも 0 を返す可能性があるので、 プログラムは呼び出す前"
-"に I<errno> を 0 に設定し、呼び出し後に I<errno> が 0 以外の値かどうかを確認"
-"しエラーが発生したかどうかを判断する 必要がある。"
 
 #. type: Plain text
-#: build/C/man3/strtod.3:177 build/C/man3/strtoul.3:188
+#: build/C/man7/vdso.7:129
 msgid ""
-"See the example on the B<strtol>(3)  manual page; the use of the functions "
-"described in this manual page is similar."
+"You use the standard C calling conventions when calling any of these "
+"functions.  No need to worry about weird register or stack behavior."
+msgstr ""
+
+#. type: SS
+#: build/C/man7/vdso.7:130
+#, no-wrap
+msgid "Source"
 msgstr ""
-"B<strtol>(3)  のマニュアルページの例を参照。 このページで説明した関数の使用方"
-"法も同様である。"
 
 #. type: Plain text
-#: build/C/man3/strtod.3:182
-msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtol>(3), B<strtoul>(3)"
-msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtol>(3), B<strtoul>(3)"
+#: build/C/man7/vdso.7:134
+msgid ""
+"When you compile the kernel, it will automatically compile and link the vDSO "
+"code for you.  You will frequently find it under the architecture-specific "
+"directory:"
+msgstr ""
 
-#. type: TH
-#: build/C/man3/strtoimax.3:23
+#. type: Plain text
+#: build/C/man7/vdso.7:136
 #, no-wrap
-msgid "STRTOIMAX"
-msgstr "STRTOIMAX"
+msgid "    find arch/$ARCH/ -name '*vdso*.so*' -o -name '*gate*.so*'\n"
+msgstr ""
 
-#. type: TH
-#: build/C/man3/strtoimax.3:23
+#. type: SS
+#: build/C/man7/vdso.7:137
 #, no-wrap
-msgid "2003-11-28"
-msgstr "2003-11-28"
+msgid "vDSO names"
+msgstr ""
 
 #. type: Plain text
-#: build/C/man3/strtoimax.3:26
-msgid "strtoimax, strtoumax - convert string to integer"
-msgstr "strtoimax, strtoumax - 文字列を整数に変換する"
+#: build/C/man7/vdso.7:143
+msgid ""
+"The name of the vDSO varies across architectures.  It will often show up in "
+"things like glibc's B<ldd>(1)  output.  The exact name should not matter to "
+"any code, so do not hardcode it."
+msgstr ""
 
-#. type: Plain text
-#: build/C/man3/strtoimax.3:29
+#. type: tbl table
+#: build/C/man7/vdso.7:148
 #, no-wrap
-msgid "B<#include E<lt>inttypes.hE<gt>>\n"
-msgstr "B<#include E<lt>inttypes.hE<gt>>\n"
+msgid "user ABI\tvDSO name\n"
+msgstr ""
 
-#. type: Plain text
-#: build/C/man3/strtoimax.3:31
+#. type: tbl table
+#: build/C/man7/vdso.7:149 build/C/man7/vdso.7:198 build/C/man7/vdso.7:235
+#: build/C/man7/vdso.7:263 build/C/man7/vdso.7:299 build/C/man7/vdso.7:333
+#: build/C/man7/vdso.7:359 build/C/man7/vdso.7:384 build/C/man7/vdso.7:402
+#: build/C/man7/vdso.7:420 build/C/man7/vdso.7:438 build/C/man7/vdso.7:458
+#: build/C/man7/vdso.7:477
 #, no-wrap
-msgid "B<intmax_t strtoimax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
-msgstr "B<intmax_t strtoimax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
+msgid "_\n"
+msgstr "_\n"
 
-#. type: Plain text
-#: build/C/man3/strtoimax.3:33
+#. type: tbl table
+#: build/C/man7/vdso.7:150
 #, no-wrap
-msgid "B<uintmax_t strtoumax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
-msgstr "B<uintmax_t strtoumax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
+msgid "aarch64\tlinux-vdso.so.1\n"
+msgstr "aarch64\tlinux-vdso.so.1\n"
 
-#. type: Plain text
-#: build/C/man3/strtoimax.3:44
-msgid ""
-"These functions are just like B<strtol>(3)  and B<strtoul>(3), except that "
-"they return a value of type I<intmax_t> and I<uintmax_t>, respectively."
-msgstr ""
-"これらの関数はちょうど B<strtol>(3)  と B<strtoul>(3)  に似ているが、それぞ"
-"れ I<intmax_t> と I<uintmax_t> 型の値を返す。"
+#. type: tbl table
+#: build/C/man7/vdso.7:151
+#, no-wrap
+msgid "ia64\tlinux-gate.so.1\n"
+msgstr "ia64\tlinux-gate.so.1\n"
 
-#. type: Plain text
-#: build/C/man3/strtoimax.3:57
-msgid ""
-"On success, the converted value is returned.  If nothing was found to "
-"convert, zero is returned.  On overflow or underflow B<INTMAX_MAX> or "
-"B<INTMAX_MIN> or B<UINTMAX_MAX> is returned, and I<errno> is set to "
-"B<ERANGE>."
-msgstr ""
-"成功した場合、変換された値が返される。 変換するものが見つからなかった場合、0 "
-"が返される。 オーバーフローまたはアンダーフローの場合、 B<INTMAX_MAX> または "
-"B<INTMAX_MIN> または B<UINTMAX_MAX> が返され、 I<errno> が B<ERANGE> に設定さ"
-"れる。"
+#. type: tbl table
+#: build/C/man7/vdso.7:152
+#, no-wrap
+msgid "ppc/32\tlinux-vdso32.so.1\n"
+msgstr "ppc/32\tlinux-vdso32.so.1\n"
 
-#. type: Plain text
-#: build/C/man3/strtoimax.3:64
-msgid ""
-"B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
-msgstr ""
-"B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
+#. type: tbl table
+#: build/C/man7/vdso.7:153
+#, no-wrap
+msgid "ppc/64\tlinux-vdso64.so.1\n"
+msgstr "ppc/64\tlinux-vdso64.so.1\n"
 
-#. type: TH
-#: build/C/man3/strtol.3:29
+#. type: tbl table
+#: build/C/man7/vdso.7:154
 #, no-wrap
-msgid "STRTOL"
-msgstr "STRTOL"
+msgid "s390\tlinux-vdso32.so.1\n"
+msgstr "s390\tlinux-vdso32.so.1\n"
 
-#. type: Plain text
-#: build/C/man3/strtol.3:32
-msgid "strtol, strtoll, strtoq - convert a string to a long integer"
-msgstr "strtol, strtoll, strtoq - 文字列を long int に変換する"
+#. type: tbl table
+#: build/C/man7/vdso.7:155
+#, no-wrap
+msgid "s390x\tlinux-vdso64.so.1\n"
+msgstr "s390x\tlinux-vdso64.so.1\n"
 
-#. type: Plain text
-#: build/C/man3/strtol.3:37
+#. type: tbl table
+#: build/C/man7/vdso.7:156
 #, no-wrap
-msgid "B<long int strtol(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
-msgstr "B<long int strtol(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
+msgid "sh\tlinux-gate.so.1\n"
+msgstr "sh\tlinux-gate.so.1\n"
 
-#. type: Plain text
-#: build/C/man3/strtol.3:40
+#. type: tbl table
+#: build/C/man7/vdso.7:157
 #, no-wrap
-msgid "B<long long int strtoll(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
-msgstr "B<long long int strtoll(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
+msgid "i386\tlinux-gate.so.1\n"
+msgstr "i386\tlinux-gate.so.1\n"
 
-#. type: Plain text
-#: build/C/man3/strtol.3:49
-msgid "B<strtoll>():"
-msgstr "B<strtoll>():"
+#. type: tbl table
+#: build/C/man7/vdso.7:158
+#, no-wrap
+msgid "x86_64\tlinux-vdso.so.1\n"
+msgstr "x86_64\tlinux-vdso.so.1\n"
 
-#. type: Plain text
-#: build/C/man3/strtol.3:52 build/C/man3/strtoul.3:55
-msgid ""
-"XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || _ISOC99_SOURCE "
-"|| _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
+#. type: tbl table
+#: build/C/man7/vdso.7:159
+#, no-wrap
+msgid "x86/x32\tlinux-vdso.so.1\n"
+msgstr "x86/x32\tlinux-vdso.so.1\n"
+
+#. type: SH
+#: build/C/man7/vdso.7:165
+#, no-wrap
+msgid "ARCHITECTURE-SPECIFIC NOTES"
 msgstr ""
-"XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || _ISOC99_SOURCE "
-"|| _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
 
 #. type: Plain text
-#: build/C/man3/strtol.3:63
-msgid ""
-"The B<strtol>()  function converts the initial part of the string in I<nptr> "
-"to a long integer value according to the given I<base>, which must be "
-"between 2 and 36 inclusive, or be the special value 0."
+#: build/C/man7/vdso.7:168
+msgid "The subsections below provide architecture-specific notes on the vDSO."
 msgstr ""
-"B<strtol>()  関数は、 I<nptr> の文字列の最初の部分を、 I<base> を基数として "
-"long int に変換する。 この I<base> は 2 から 36 までの値 あるいは特別な意味を"
-"持つ値 0 でなければならない。"
 
 #. type: Plain text
-#: build/C/man3/strtol.3:72 build/C/man3/strtoul.3:79
+#: build/C/man7/vdso.7:177
 msgid ""
-"The string may begin with an arbitrary amount of white space (as determined "
-"by B<isspace>(3))  followed by a single optional \\(aq+\\(aq or \\(aq-\\(aq "
-"sign.  If I<base> is zero or 16, the string may then include a \"0x\" "
-"prefix, and the number will be read in base 16; otherwise, a zero I<base> is "
-"taken as 10 (decimal) unless the next character is \\(aq0\\(aq, in which "
-"case it is taken as 8 (octal)."
+"Note that the vDSO that is used is based on the ABI of your user-space code "
+"and not the ABI of the kernel.  Thus, for example, when you run an i386 32-"
+"bit ELF binary, you'll get the same vDSO regardless of whether you run it "
+"under an i386 32-bit kernel or under an x86_64 64-bit kernel.  Therefore, "
+"the name of the user-space ABI should be used to determine which of the "
+"sections below is relevant."
 msgstr ""
-"文字列の先頭には、任意の数の空白があってもよく (空白は B<isspace>(3) で判定さ"
-"れる)、また数字の直前には \\(aq+\\(aq か \\(aq-\\(aq の 符号があってもよい。 "
-"I<base> が 0 または 16 の場合には、文字列の先頭に \"0x\" を置くことが でき、"
-"その場合には文字列は 16進数として扱われる。 これ以外の文字列で I<base> が 0 "
-"の場合は、 文字列が \\(aq0\\(aq で始まるときは 8進数として、 それ以外のとき"
-"は 10進数として扱われる。"
 
-#. type: Plain text
-#: build/C/man3/strtol.3:81
-msgid ""
-"The remainder of the string is converted to a I<long int> value in the "
-"obvious manner, stopping at the first character which is not a valid digit "
-"in the given base.  (In bases above 10, the letter \\(aqA\\(aq in either "
-"upper or lower case represents 10, \\(aqB\\(aq represents 11, and so forth, "
-"with \\(aqZ\\(aq representing 35.)"
+#. type: SS
+#: build/C/man7/vdso.7:177
+#, no-wrap
+msgid "ARM functions"
 msgstr ""
-"数字を表す文字列は I<long int> に変換されるが、基数に対して 有効でない数字が"
-"現れた時点で変換は終了する。(11進数以上では \\(aqA\\(aq は 大文字・小文字に関"
-"わらず 10 を表し、 \\(aqB\\(aq は 11 を表現し、 以下同様に、 \\(aqZ\\(aq は "
-"35 を表す。)"
 
+#.  See linux/arch/arm/kernel/entry-armv.S
+#.  See linux/Documentation/arm/kernel_user_helpers.txt
 #. type: Plain text
-#: build/C/man3/strtol.3:93
+#: build/C/man7/vdso.7:184
 msgid ""
-"If I<endptr> is not NULL, B<strtol>()  stores the address of the first "
-"invalid character in I<*endptr>.  If there were no digits at all, B<strtol>"
-"()  stores the original value of I<nptr> in I<*endptr> (and returns 0).  In "
-"particular, if I<*nptr> is not \\(aq\\e0\\(aq but I<**endptr> is \\(aq"
-"\\e0\\(aq on return, the entire string is valid."
-msgstr ""
-"I<endptr> がヌル値 (NULL) でない場合は、最初に現れた不正な文字が B<strtol>"
-"()  によって I<*endptr> に保存されている。 文字列に有効な数字がひとつもなけれ"
-"ば、 B<strtol>()  は I<nptr> の元の値を I<*endptr> に代入する (そして 0 を返"
-"す)。 特に、I<*nptr> が \\(aq\\e0\\(aq 以外で、返された I<**endptr> が \\(aq"
-"\\e0\\(aq ならば、文字列全体が有効だったことになる。"
+"The ARM port has a code page full of utility functions.  Since it's just a "
+"raw page of code, there is no ELF information for doing symbol lookups or "
+"versioning.  It does provide support for different versions though."
+msgstr ""
 
 #. type: Plain text
-#: build/C/man3/strtol.3:99
+#: build/C/man7/vdso.7:189
 msgid ""
-"The B<strtoll>()  function works just like the B<strtol>()  function but "
-"returns a long long integer value."
+"For information on this code page, it's best to refer to the kernel "
+"documentation as it's extremely detailed and covers everything you need to "
+"know: I<Documentation/arm/kernel_user_helpers.txt>."
 msgstr ""
-"B<strtoll>()  関数は B<strtol>()  と同様だが、long long int 型の値を返す。"
 
-#. type: Plain text
-#: build/C/man3/strtol.3:124
-msgid ""
-"The B<strtol>()  function returns the result of the conversion, unless the "
-"value would underflow or overflow.  If an underflow occurs, B<strtol>()  "
-"returns B<LONG_MIN>.  If an overflow occurs, B<strtol>()  returns "
-"B<LONG_MAX>.  In both cases, I<errno> is set to B<ERANGE>.  Precisely the "
-"same holds for B<strtoll>()  (with B<LLONG_MIN> and B<LLONG_MAX> instead of "
-"B<LONG_MIN> and B<LONG_MAX>)."
+#. type: SS
+#: build/C/man7/vdso.7:189
+#, no-wrap
+msgid "aarch64 functions"
 msgstr ""
-"アンダーフローもオーバーフローも起きなかった場合、 B<strtol>()  関数は 変換さ"
-"れた値を返す。オーバーフローした場合には B<LONG_MAX> が返り、 アンダーフロー"
-"した場合には B<LONG_MIN> が返る。オーバーフロー、 アンダーフローのいずれの場"
-"合にも 大域変数 I<errno> には B<ERANGE> が設定される。 B<strtoll>()  も同様で"
-"あるが、 B<LONG_MIN> と B<LONG_MAX> の代わりに B<LLONG_MIN> と B<LLONG_MAX> "
-"が返される。"
 
+#.  See linux/arch/x86/vdso/vdso32.lds.S
 #. type: Plain text
-#: build/C/man3/strtol.3:131 build/C/man3/strtoul.3:134
-msgid "(not in C99)  The given I<base> contains an unsupported value."
-msgstr "(C99 にはない) 指定された I<base> がサポートされていない値である。"
+#: build/C/man7/vdso.7:192 build/C/man7/vdso.7:229 build/C/man7/vdso.7:353
+#: build/C/man7/vdso.7:378 build/C/man7/vdso.7:396 build/C/man7/vdso.7:414
+#: build/C/man7/vdso.7:432 build/C/man7/vdso.7:471
+msgid "The table below lists the symbols exported by the vDSO."
+msgstr ""
+
+#. type: tbl table
+#: build/C/man7/vdso.7:197 build/C/man7/vdso.7:234 build/C/man7/vdso.7:332
+#: build/C/man7/vdso.7:358 build/C/man7/vdso.7:383 build/C/man7/vdso.7:401
+#: build/C/man7/vdso.7:419 build/C/man7/vdso.7:437 build/C/man7/vdso.7:457
+#: build/C/man7/vdso.7:476
+#, no-wrap
+msgid "symbol\tversion\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man7/vdso.7:199
+#, no-wrap
+msgid "__kernel_rt_sigreturn\tLINUX_2.6.39\n"
+msgstr "__kernel_rt_sigreturn\tLINUX_2.6.39\n"
+
+#. type: tbl table
+#: build/C/man7/vdso.7:200
+#, no-wrap
+msgid "__kernel_gettimeofday\tLINUX_2.6.39\n"
+msgstr "__kernel_gettimeofday\tLINUX_2.6.39\n"
+
+#. type: tbl table
+#: build/C/man7/vdso.7:201
+#, no-wrap
+msgid "__kernel_clock_gettime\tLINUX_2.6.39\n"
+msgstr "__kernel_clock_gettime\tLINUX_2.6.39\n"
 
-#. type: Plain text
-#: build/C/man3/strtol.3:134 build/C/man3/strtoul.3:137
-msgid "The resulting value was out of range."
-msgstr "結果の値が範囲外である。"
+#. type: tbl table
+#: build/C/man7/vdso.7:202
+#, no-wrap
+msgid "__kernel_clock_getres\tLINUX_2.6.39\n"
+msgstr "__kernel_clock_getres\tLINUX_2.6.39\n"
+
+#. type: SS
+#: build/C/man7/vdso.7:208
+#, no-wrap
+msgid "bfin (Blackfin) functions"
+msgstr ""
 
+#.  See linux/arch/blackfin/kernel/fixed_code.S
+#.  See http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code
 #. type: Plain text
-#: build/C/man3/strtol.3:137 build/C/man3/strtoul.3:140
+#: build/C/man7/vdso.7:220
 msgid ""
-"The implementation may also set I<errno> to B<EINVAL> in case no conversion "
-"was performed (no digits seen, and 0 returned)."
+"As this CPU lacks a memory management unit (MMU), it doesn't set up a vDSO "
+"in the normal sense.  Instead, it maps at boot time a few raw functions into "
+"a fixed location in memory.  User-space applications then call directly into "
+"that region.  There is no provision for backward compatibility beyond "
+"sniffing raw opcodes, but as this is an embedded CPU, it can get away with "
+"things\\(emsome of the object formats it runs aren't even ELF based (they're "
+"bFLT/FLAT)."
 msgstr ""
-"実装によっては、変換が行われなかった場合 (数字がなく、0 を返した場合)、 "
-"I<errno> に B<EINVAL> が設定される場合がある。"
 
 #. type: Plain text
-#: build/C/man3/strtol.3:142
+#: build/C/man7/vdso.7:223
 msgid ""
-"B<strtol>()  conforms to SVr4, 4.3BSD, C89, C99 and POSIX.1-2001, and "
-"B<strtoll>()  to C99 and POSIX.1-2001."
+"For information on this code page, it's best to refer to the public "
+"documentation:"
 msgstr ""
-"B<strtol>()  は SVr4, 4.3BSD, C89, C99 と POSIX.1-2001 に準拠している。 "
-"B<strtoll>()  は C99 と POSIX.1-2001 に準拠している。"
 
 #. type: Plain text
-#: build/C/man3/strtol.3:160
-msgid ""
-"Since B<strtol>()  can legitimately return 0, B<LONG_MAX>, or B<LONG_MIN> "
-"(B<LLONG_MAX> or B<LLONG_MIN> for B<strtoll>())  on both success and "
-"failure, the calling program should set I<errno> to 0 before the call, and "
-"then determine if an error occurred by checking whether I<errno> has a "
-"nonzero value after the call."
+#: build/C/man7/vdso.7:225
+msgid "http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code"
 msgstr ""
-"B<strtol ()> からは成功、失敗どちらの場合でも 0, B<LONG_MAX>, B<LONG_MIN> "
-"(B<strtoll>()  では B<LLONG_MAX>, B<LLONG_MIN>)  が返る可能性があるので、 プ"
-"ログラムは関数を呼び出す前に I<errno> を 0 に設定し、呼び出し後に I<errno> "
-"が 0 以外の値かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
+
+#. type: SS
+#: build/C/man7/vdso.7:225
+#, no-wrap
+msgid "ia64 (Itanium) functions"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man7/vdso.7:236
+#, no-wrap
+msgid "__kernel_sigtramp\tLINUX_2.5\n"
+msgstr "__kernel_sigtramp\tLINUX_2.5\n"
+
+#. type: tbl table
+#: build/C/man7/vdso.7:237
+#, no-wrap
+msgid "__kernel_syscall_via_break\tLINUX_2.5\n"
+msgstr "__kernel_syscall_via_break\tLINUX_2.5\n"
+
+#. type: tbl table
+#: build/C/man7/vdso.7:238
+#, no-wrap
+msgid "__kernel_syscall_via_epc\tLINUX_2.5\n"
+msgstr "__kernel_syscall_via_epc\tLINUX_2.5\n"
 
 #. type: Plain text
-#: build/C/man3/strtol.3:164
+#: build/C/man7/vdso.7:257
 msgid ""
-"In locales other than the \"C\" locale, other strings may also be accepted.  "
-"(For example, the thousands separator of the current locale may be "
-"supported.)"
+"The Itanium port is somewhat tricky.  In addition to the vDSO above, it also "
+"has \"light-weight system calls\" (also known as \"fast syscalls\" or \"fsys"
+"\").  You can invoke these via the I<__kernel_syscall_via_epc> vDSO helper.  "
+"The system calls listed here have the same semantics as if you called them "
+"directly via B<syscall>(2), so refer to the relevant documentation for "
+"each.  The table below lists the functions available via this mechanism."
 msgstr ""
-"\"C\" 以外のロケールの場合、その他の文字列も受け付けられるかもしれない。 (例"
-"えば、現在のロケールの 1000 毎の区切り文字がサポートされているかもしれない。)"
 
-#. type: Plain text
-#: build/C/man3/strtol.3:166 build/C/man3/strtoul.3:165
-msgid "BSD also has"
-msgstr "BSD には、"
+#. type: tbl table
+#: build/C/man7/vdso.7:262
+#, no-wrap
+msgid "function\n"
+msgstr ""
 
-#. type: Plain text
-#: build/C/man3/strtol.3:170
+#. type: tbl table
+#: build/C/man7/vdso.7:264
 #, no-wrap
-msgid "B<quad_t strtoq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
-msgstr "B<quad_t strtoq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
+msgid "clock_gettime\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man7/vdso.7:265
+#, no-wrap
+msgid "getcpu\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man7/vdso.7:266
+#, no-wrap
+msgid "getpid\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man7/vdso.7:267
+#, no-wrap
+msgid "getppid\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man7/vdso.7:268
+#, no-wrap
+msgid "gettimeofday\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man7/vdso.7:269
+#, no-wrap
+msgid "set_tid_address\n"
+msgstr ""
+
+#. type: SS
+#: build/C/man7/vdso.7:275
+#, no-wrap
+msgid "parisc (hppa) functions"
+msgstr ""
 
+#.  See linux/arch/parisc/kernel/syscall.S
+#.  See linux/Documentation/parisc/registers
 #. type: Plain text
-#: build/C/man3/strtol.3:179
+#: build/C/man7/vdso.7:286
 msgid ""
-"with completely analogous definition.  Depending on the wordsize of the "
-"current architecture, this may be equivalent to B<strtoll>()  or to B<strtol>"
-"()."
+"The parisc port has a code page full of utility functions called a gateway "
+"page.  Rather than use the normal ELF auxiliary vector approach, it passes "
+"the address of the page to the process via the SR2 register.  The "
+"permissions on the page are such that merely executing those addresses "
+"automatically executes with kernel privileges and not in user space.  This "
+"is done to match the way HP-UX works."
 msgstr ""
-"という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャのワード長次第"
-"であるが、この関数は B<strtoll>()  か B<strtol>()  と等価となることもある。"
 
 #. type: Plain text
-#: build/C/man3/strtol.3:193
+#: build/C/man7/vdso.7:291
 msgid ""
-"The program shown below demonstrates the use of B<strtol>().  The first "
-"command-line argument specifies a string from which B<strtol>()  should "
-"parse a number.  The second (optional) argument specifies the base to be "
-"used for the conversion.  (This argument is converted to numeric form using "
-"B<atoi>(3), a function that performs no error checking and has a simpler "
-"interface than B<strtol>().)  Some examples of the results produced by this "
-"program are the following:"
+"Since it's just a raw page of code, there is no ELF information for doing "
+"symbol lookups or versioning.  Simply call into the appropriate offset via "
+"the branch instruction, for example:"
 msgstr ""
-"以下のプログラムは B<strtol>()  の使用例である。 最初のコマンドライン引き数に"
-"は B<strtol>()  が数字として解釈する文字列を指定する。 (省略可能な) 二番目の"
-"引き数には 変換に使用される基数を指定する (この引き数は B<atoi>(3)  を使って"
-"数値に変換される。 B<atoi>(3)  は B<strtol>()  よりも簡単なインタフェースを持"
-"つ関数で、 その中ではエラーチェックは行われない)。 このプログラムの実行例をい"
-"くつか以下に示す:"
 
 #. type: Plain text
-#: build/C/man3/strtol.3:209
+#: build/C/man7/vdso.7:293
 #, no-wrap
-msgid ""
-"$B< ./a.out 123>\n"
-"strtol() returned 123\n"
-"$B< ./a.out \\(aq    123\\(aq>\n"
-"strtol() returned 123\n"
-"$B< ./a.out 123abc>\n"
-"strtol() returned 123\n"
-"Further characters after number: abc\n"
-"$B< ./a.out 123abc 55>\n"
-"strtol: Invalid argument\n"
-"$B< ./a.out \\(aq\\(aq>\n"
-"No digits were found\n"
-"$B< ./a.out 4000000000>\n"
-"strtol: Numerical result out of range\n"
+msgid "    ble E<lt>offsetE<gt>(%sr2, %r0)\n"
 msgstr ""
-"$B< ./a.out 123>\n"
-"strtol() returned 123\n"
-"$B< ./a.out \\(aq    123\\(aq>\n"
-"strtol() returned 123\n"
-"$B< ./a.out 123abc>\n"
-"strtol() returned 123\n"
-"Further characters after number: abc\n"
-"$B< ./a.out 123abc 55>\n"
-"strtol: Invalid argument\n"
-"$B< ./a.out \\(aq\\(aq>\n"
-"No digits were found\n"
-"$B< ./a.out 4000000000>\n"
-"strtol: Numerical result out of range\n"
 
-#. type: SS
-#: build/C/man3/strtol.3:211
+#. type: tbl table
+#: build/C/man7/vdso.7:298
 #, no-wrap
-msgid "Program source"
-msgstr "プログラムのソース"
+msgid "offset\tfunction\n"
+msgstr ""
 
-#. type: Plain text
-#: build/C/man3/strtol.3:218
+#. type: tbl table
+#: build/C/man7/vdso.7:300
 #, no-wrap
-msgid ""
-"#include E<lt>stdlib.hE<gt>\n"
-"#include E<lt>limits.hE<gt>\n"
-"#include E<lt>stdio.hE<gt>\n"
-"#include E<lt>errno.hE<gt>\n"
+msgid "00b0\tlws_entry\n"
 msgstr ""
-"#include E<lt>stdlib.hE<gt>\n"
-"#include E<lt>limits.hE<gt>\n"
-"#include E<lt>stdio.hE<gt>\n"
-"#include E<lt>errno.hE<gt>\n"
 
-#. type: Plain text
-#: build/C/man3/strtol.3:225
+#. type: tbl table
+#: build/C/man7/vdso.7:301
 #, no-wrap
-msgid ""
-"int\n"
-"main(int argc, char *argv[])\n"
-"{\n"
-"    int base;\n"
-"    char *endptr, *str;\n"
-"    long val;\n"
+msgid "00e0\tset_thread_pointer\n"
 msgstr ""
-"int\n"
-"main(int argc, char *argv[])\n"
-"{\n"
-"    int base;\n"
-"    char *endptr, *str;\n"
-"    long val;\n"
 
-#. type: Plain text
-#: build/C/man3/strtol.3:230
+#. type: tbl table
+#: build/C/man7/vdso.7:302
 #, no-wrap
-msgid ""
-"    if (argc E<lt> 2) {\n"
-"        fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
-"        exit(EXIT_FAILURE);\n"
-"    }\n"
+msgid "0100\tlinux_gateway_entry (syscall)\n"
 msgstr ""
-"    if (argc E<lt> 2) {\n"
-"        fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
-"        exit(EXIT_FAILURE);\n"
-"    }\n"
 
-#. type: Plain text
-#: build/C/man3/strtol.3:233
+#. type: tbl table
+#: build/C/man7/vdso.7:303
 #, no-wrap
-msgid ""
-"    str = argv[1];\n"
-"    base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
+msgid "0268\tsyscall_nosys\n"
 msgstr ""
-"    str = argv[1];\n"
-"    base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
 
-#. type: Plain text
-#: build/C/man3/strtol.3:236
+#. type: tbl table
+#: build/C/man7/vdso.7:304
 #, no-wrap
-msgid ""
-"    errno = 0;    /* To distinguish success/failure after call */\n"
-"    val = strtol(str, &endptr, base);\n"
+msgid "0274\ttracesys\n"
 msgstr ""
-"    errno = 0;    /* To distinguish success/failure after call */\n"
-"    val = strtol(str, &endptr, base);\n"
 
-#. type: Plain text
-#: build/C/man3/strtol.3:238
+#. type: tbl table
+#: build/C/man7/vdso.7:305
 #, no-wrap
-msgid "    /* Check for various possible errors */\n"
-msgstr "    /* Check for various possible errors */\n"
+msgid "0324\ttracesys_next\n"
+msgstr ""
 
-#. type: Plain text
-#: build/C/man3/strtol.3:244
+#. type: tbl table
+#: build/C/man7/vdso.7:306
 #, no-wrap
-msgid ""
-"    if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))\n"
-"            || (errno != 0 && val == 0)) {\n"
-"        perror(\"strtol\");\n"
-"        exit(EXIT_FAILURE);\n"
-"    }\n"
+msgid "0368\ttracesys_exit\n"
 msgstr ""
-"    if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))\n"
-"            || (errno != 0 && val == 0)) {\n"
-"        perror(\"strtol\");\n"
-"        exit(EXIT_FAILURE);\n"
-"    }\n"
 
-#. type: Plain text
-#: build/C/man3/strtol.3:249
+#. type: tbl table
+#: build/C/man7/vdso.7:307
 #, no-wrap
-msgid ""
-"    if (endptr == str) {\n"
-"        fprintf(stderr, \"No digits were found\\en\");\n"
-"        exit(EXIT_FAILURE);\n"
-"    }\n"
+msgid "03a0\ttracesys_sigexit\n"
 msgstr ""
-"    if (endptr == str) {\n"
-"        fprintf(stderr, \"No digits were found\\en\");\n"
-"        exit(EXIT_FAILURE);\n"
-"    }\n"
 
-#. type: Plain text
-#: build/C/man3/strtol.3:251
+#. type: tbl table
+#: build/C/man7/vdso.7:308
 #, no-wrap
-msgid "    /* If we got here, strtol() successfully parsed a number */\n"
-msgstr "    /* If we got here, strtol() successfully parsed a number */\n"
+msgid "03b8\tlws_start\n"
+msgstr ""
 
-#. type: Plain text
-#: build/C/man3/strtol.3:253
+#. type: tbl table
+#: build/C/man7/vdso.7:309
 #, no-wrap
-msgid "    printf(\"strtol() returned %ld\\en\", val);\n"
-msgstr "    printf(\"strtol() returned %ld\\en\", val);\n"
+msgid "03dc\tlws_exit_nosys\n"
+msgstr ""
 
-#. type: Plain text
-#: build/C/man3/strtol.3:256
+#. type: tbl table
+#: build/C/man7/vdso.7:310
 #, no-wrap
-msgid ""
-"    if (*endptr != \\(aq\\e0\\(aq)        /* Not necessarily an error... */\n"
-"        printf(\"Further characters after number: %s\\en\", endptr);\n"
+msgid "03e0\tlws_exit\n"
 msgstr ""
-"    if (*endptr != \\(aq\\e0\\(aq)        /* Not necessarily an error... */\n"
-"        printf(\"Further characters after number: %s\\en\", endptr);\n"
 
-#. type: Plain text
-#: build/C/man3/strtol.3:265
-msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtoul>(3)"
-msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtoul>(3)"
+#. type: tbl table
+#: build/C/man7/vdso.7:311
+#, no-wrap
+msgid "03e4\tlws_compare_and_swap64\n"
+msgstr ""
 
-#. type: TH
-#: build/C/man3/strtoul.3:31
+#. type: tbl table
+#: build/C/man7/vdso.7:312
 #, no-wrap
-msgid "STRTOUL"
-msgstr "STRTOUL"
+msgid "03e8\tlws_compare_and_swap\n"
+msgstr ""
 
-#. type: TH
-#: build/C/man3/strtoul.3:31
+#. type: tbl table
+#: build/C/man7/vdso.7:313
+#, no-wrap
+msgid "0404\tcas_wouldblock\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man7/vdso.7:314
+#, no-wrap
+msgid "0410\tcas_action\n"
+msgstr ""
+
+#. type: SS
+#: build/C/man7/vdso.7:320
 #, no-wrap
-msgid "2011-09-15"
-msgstr "2011-09-15"
+msgid "ppc/32 functions"
+msgstr ""
 
+#.  See linux/arch/powerpc/kernel/vdso32/vdso32.lds.S
 #. type: Plain text
-#: build/C/man3/strtoul.3:34
+#: build/C/man7/vdso.7:327
 msgid ""
-"strtoul, strtoull, strtouq - convert a string to an unsigned long integer"
-msgstr "strtoul, strtoull, strtouq - 文字列を unsigned long int に変換する"
+"The table below lists the symbols exported by the vDSO.  The functions "
+"marked with a I<*> are available only when the kernel is a PowerPC64 (64-"
+"bit) kernel."
+msgstr ""
 
-#. type: Plain text
-#: build/C/man3/strtoul.3:40
+#. type: tbl table
+#: build/C/man7/vdso.7:334 build/C/man7/vdso.7:360
 #, no-wrap
-msgid "B<unsigned long int strtoul(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
-msgstr "B<unsigned long int strtoul(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
+msgid "__kernel_clock_getres\tLINUX_2.6.15\n"
+msgstr ""
 
-#. type: Plain text
-#: build/C/man3/strtoul.3:43
+#. type: tbl table
+#: build/C/man7/vdso.7:335 build/C/man7/vdso.7:361
 #, no-wrap
-msgid ""
-"B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
-"B<                                int >I<base>B<);>\n"
+msgid "__kernel_clock_gettime\tLINUX_2.6.15\n"
 msgstr ""
-"B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
-"B<                                int >I<base>B<);>\n"
 
-#. type: Plain text
-#: build/C/man3/strtoul.3:52
-msgid "B<strtoull>():"
-msgstr "B<strtoull>():"
+#. type: tbl table
+#: build/C/man7/vdso.7:336 build/C/man7/vdso.7:362
+#, no-wrap
+msgid "__kernel_datapage_offset\tLINUX_2.6.15\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man7/vdso.7:337 build/C/man7/vdso.7:363
+#, no-wrap
+msgid "__kernel_get_syscall_map\tLINUX_2.6.15\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man7/vdso.7:338 build/C/man7/vdso.7:364
+#, no-wrap
+msgid "__kernel_get_tbfreq\tLINUX_2.6.15\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man7/vdso.7:339
+#, no-wrap
+msgid "__kernel_getcpu I<*>\tLINUX_2.6.15\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man7/vdso.7:340 build/C/man7/vdso.7:366
+#, no-wrap
+msgid "__kernel_gettimeofday\tLINUX_2.6.15\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man7/vdso.7:341
+#, no-wrap
+msgid "__kernel_sigtramp_rt32\tLINUX_2.6.15\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man7/vdso.7:342
+#, no-wrap
+msgid "__kernel_sigtramp32\tLINUX_2.6.15\n"
+msgstr ""
+
+#. type: tbl table
+#: build/C/man7/vdso.7:343 build/C/man7/vdso.7:368
+#, no-wrap
+msgid "__kernel_sync_dicache\tLINUX_2.6.15\n"
+msgstr ""
 
-#. type: Plain text
-#: build/C/man3/strtoul.3:69
-msgid ""
-"The B<strtoul>()  function converts the initial part of the string in "
-"I<nptr> to an I<unsigned long int> value according to the given I<base>, "
-"which must be between 2 and 36 inclusive, or be the special value 0."
+#. type: tbl table
+#: build/C/man7/vdso.7:344 build/C/man7/vdso.7:369
+#, no-wrap
+msgid "__kernel_sync_dicache_p5\tLINUX_2.6.15\n"
 msgstr ""
-"B<strtoul>()  関数は、 I<nptr> の文字列の最初の部分を、 I<base> を基数として "
-"I<unsigned long int> に変換する。 この I<base> は 2 から 36 までの値 あるいは"
-"特別な意味を持つ値 0 でなければならない。"
 
-#. type: Plain text
-#: build/C/man3/strtoul.3:88
-msgid ""
-"The remainder of the string is converted to an I<unsigned long int> value in "
-"the obvious manner, stopping at the first character which is not a valid "
-"digit in the given base.  (In bases above 10, the letter \\(aqA\\(aq in "
-"either upper or lower case represents 10, \\(aqB\\(aq represents 11, and so "
-"forth, with \\(aqZ\\(aq representing 35.)"
+#. type: SS
+#: build/C/man7/vdso.7:350
+#, no-wrap
+msgid "ppc/64 functions"
 msgstr ""
-"文字列の残りの部分は I<unsigned long int> に変換されるが、基数に対して 有効で"
-"ない数字が現れた時点で変換は終了する。(11進数以上では \\(aqA\\(aq は 大文字・"
-"小文字に関わらず 10 を表し、 \\(aqB\\(aq は 11 を表現し, 以下同様に、 \\(aqZ"
-"\\(aq は 35 を表す。)"
 
-#. type: Plain text
-#: build/C/man3/strtoul.3:100
-msgid ""
-"If I<endptr> is not NULL, B<strtoul>()  stores the address of the first "
-"invalid character in I<*endptr>.  If there were no digits at all, B<strtoul>"
-"()  stores the original value of I<nptr> in I<*endptr> (and returns 0).  In "
-"particular, if I<*nptr> is not \\(aq\\e0\\(aq but I<**endptr> is \\(aq"
-"\\e0\\(aq on return, the entire string is valid."
+#. type: tbl table
+#: build/C/man7/vdso.7:365
+#, no-wrap
+msgid "__kernel_getcpu\tLINUX_2.6.15\n"
 msgstr ""
-"I<endptr> がヌル値 (NULL) でない場合、 B<strtoul>()  は最初に不正な文字が現れ"
-"たアドレスを I<*endptr> に格納している。 文字列に有効な数字がひとつもなけれ"
-"ば、 B<strtoul>()  は I<nptr> の元の値を I<*endptr> に代入する(そして 0 を返"
-"す)。 特に、 I<*nptr> が \\(aq\\e0\\(aq 以外で、返された I<**endptr> が \\(aq"
-"\\e0\\(aq ならば、文字列全体が有効だったことになる。"
 
-#. type: Plain text
-#: build/C/man3/strtoul.3:108
-msgid ""
-"The B<strtoull>()  function works just like the B<strtoul>()  function but "
-"returns an I<unsigned long long int> value."
+#. type: tbl table
+#: build/C/man7/vdso.7:367
+#, no-wrap
+msgid "__kernel_sigtramp_rt64\tLINUX_2.6.15\n"
 msgstr ""
-"B<strtoull>()  関数は B<strtoul>()  関数と同様だが、 I<unsigned long long "
-"int> 型の値を返す。"
 
-#. type: Plain text
-#: build/C/man3/strtoul.3:127
-msgid ""
-"The B<strtoul>()  function returns either the result of the conversion or, "
-"if there was a leading minus sign, the negation of the result of the "
-"conversion represented as an unsigned value, unless the original "
-"(nonnegated) value would overflow; in the latter case, B<strtoul>()  returns "
-"B<ULONG_MAX> and sets I<errno> to B<ERANGE>.  Precisely the same holds for "
-"B<strtoull>()  (with B<ULLONG_MAX> instead of B<ULONG_MAX>)."
+#. type: SS
+#: build/C/man7/vdso.7:375
+#, no-wrap
+msgid "s390 functions"
 msgstr ""
-"B<strtoul>()  関数は変換結果を返す。文字列がマイナス符号から始まっていた場 合"
-"は、(符号反転前の値がオーバーフローしていなければ) 変換結果を符号反転した 値"
-"を unsigned 型で返す。変換でオーバーフローが発生した場合は B<ULONG_MAX> を返"
-"し、 I<errno> に B<ERANGE> を設定する。 (B<ULONG_MAX> を B<ULLONG_MAX> と読み"
-"替えれば)  B<strtoull>()  は B<strtoul>()  と全く同じである。"
 
-#. type: Plain text
-#: build/C/man3/strtoul.3:145
-msgid ""
-"B<strtoul>()  conforms to SVr4, C89, C99 and POSIX-2001, and B<strtoull>()  "
-"to C99 and POSIX.1-2001."
+#. type: tbl table
+#: build/C/man7/vdso.7:385 build/C/man7/vdso.7:403
+#, no-wrap
+msgid "__kernel_clock_getres\tLINUX_2.6.29\n"
 msgstr ""
-"B<strtoul>()  は SVr4, C89, C99 と POSIX-2001 に準拠している。 B<strtoull>"
-"()  は C99 と POSIX.1-2001 に準拠している。"
 
-#. type: Plain text
-#: build/C/man3/strtoul.3:159
-msgid ""
-"Since B<strtoul>()  can legitimately return 0 or B<ULONG_MAX> (B<ULLONG_MAX> "
-"for B<strtoull>())  on both success and failure, the calling program should "
-"set I<errno> to 0 before the call, and then determine if an error occurred "
-"by checking whether I<errno> has a nonzero value after the call."
+#. type: tbl table
+#: build/C/man7/vdso.7:386 build/C/man7/vdso.7:404
+#, no-wrap
+msgid "__kernel_clock_gettime\tLINUX_2.6.29\n"
 msgstr ""
-"B<strtoul ()> からは成功、失敗どちらの場合でも 0 や B<ULONG_MAX> (B<strtoull>"
-"()  では B<ULLONG_MAX>)  が返る可能性があるので、 プログラムは関数を呼び出す"
-"前に I<errno> を 0 に設定し、呼び出し後に I<errno> が 0 以外の値かどうかを確"
-"認しエラーが発生したかどうかを判断する 必要がある。"
 
-#. type: Plain text
-#: build/C/man3/strtoul.3:163
-msgid ""
-"In locales other than the \"C\" locale, other strings may be accepted.  (For "
-"example, the thousands separator of the current locale may be supported.)"
+#. type: tbl table
+#: build/C/man7/vdso.7:387 build/C/man7/vdso.7:405
+#, no-wrap
+msgid "__kernel_gettimeofday\tLINUX_2.6.29\n"
 msgstr ""
-"\"C\" 以外のロケールの場合、その他の文字列も受け付けられるかもしれない。 (例"
-"えば、現在のロケールの 1000 毎の区切り文字に対応しているかもしれない。)"
 
-#. type: Plain text
-#: build/C/man3/strtoul.3:169
+#. type: SS
+#: build/C/man7/vdso.7:393
 #, no-wrap
-msgid "B<u_quad_t strtouq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
-msgstr "B<u_quad_t strtouq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
+msgid "s390x functions"
+msgstr ""
 
-#. type: Plain text
-#: build/C/man3/strtoul.3:178
-msgid ""
-"with completely analogous definition.  Depending on the wordsize of the "
-"current architecture, this may be equivalent to B<strtoull>()  or to "
-"B<strtoul>()."
+#. type: SS
+#: build/C/man7/vdso.7:411
+#, no-wrap
+msgid "sh (SuperH) functions"
 msgstr ""
-"という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャのワード長次第"
-"であるが、この関数は B<strtoull>()  や B<stroul>()  と等価な場合もありえる。"
 
-#. type: Plain text
-#: build/C/man3/strtoul.3:183
-msgid ""
-"Negative values are considered valid input and are silently converted to the "
-"equivalent I<unsigned long int> value."
+#. type: tbl table
+#: build/C/man7/vdso.7:421
+#, no-wrap
+msgid "__kernel_rt_sigreturn\tLINUX_2.6\n"
 msgstr ""
-"負の値も正当な入力とみなされ、エラーもなく、 対応する I<unsigned long int> 型"
-"の値に変換される。"
 
-#. type: Plain text
-#: build/C/man3/strtoul.3:193
-msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3)"
-msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3)"
+#. type: tbl table
+#: build/C/man7/vdso.7:422
+#, no-wrap
+msgid "__kernel_sigreturn\tLINUX_2.6\n"
+msgstr ""
 
-#. type: TH
-#: build/C/man3/system.3:28
+#. type: tbl table
+#: build/C/man7/vdso.7:423
 #, no-wrap
-msgid "SYSTEM"
-msgstr "SYSTEM"
+msgid "__kernel_vsyscall\tLINUX_2.6\n"
+msgstr ""
 
-#. type: TH
-#: build/C/man3/system.3:28
+#. type: SS
+#: build/C/man7/vdso.7:429
 #, no-wrap
-msgid "2010-09-10"
-msgstr "2010-09-10"
+msgid "i386 functions"
+msgstr ""
 
-#. type: Plain text
-#: build/C/man3/system.3:31
-msgid "system - execute a shell command"
-msgstr "system - シェルコマンドの実行"
+#. type: tbl table
+#: build/C/man7/vdso.7:439
+#, no-wrap
+msgid "__kernel_sigreturn\tLINUX_2.5\n"
+msgstr ""
 
-#. type: Plain text
-#: build/C/man3/system.3:36
+#. type: tbl table
+#: build/C/man7/vdso.7:440
 #, no-wrap
-msgid "B<int system(const char *>I<command>B<);>\n"
-msgstr "B<int system(const char *>I<command>B<);>\n"
+msgid "__kernel_rt_sigreturn\tLINUX_2.5\n"
+msgstr ""
 
-#. type: Plain text
-#: build/C/man3/system.3:52
-msgid ""
-"B<system>()  executes a command specified in I<command> by calling B</bin/sh "
-"-c> I<command>, and returns after the command has been completed.  During "
-"execution of the command, B<SIGCHLD> will be blocked, and B<SIGINT> and "
-"B<SIGQUIT> will be ignored."
+#. type: tbl table
+#: build/C/man7/vdso.7:441
+#, no-wrap
+msgid "__kernel_vsyscall\tLINUX_2.5\n"
 msgstr ""
-"B<system>()  は I<command> で指定したコマンドを B</bin/sh -c> I<command> の形"
-"で実行する。指定したコマンドが終了すればこの関数も終了する。 コマンド実行中"
-"は、 B<SIGCHLD> はブロックされ、 B<SIGINT> と B<SIGQUIT> は無視される。"
 
-#. type: Plain text
-#: build/C/man3/system.3:67
-msgid ""
-"The value returned is -1 on error (e.g.  B<fork>(2)  failed), and the return "
-"status of the command otherwise.  This latter return status is in the format "
-"specified in B<wait>(2).  Thus, the exit code of the command will be "
-"I<WEXITSTATUS(status)>.  In case I</bin/sh> could not be executed, the exit "
-"status will be that of a command that does I<exit(127)>."
+#. type: SS
+#: build/C/man7/vdso.7:447
+#, no-wrap
+msgid "x86_64 functions"
 msgstr ""
-"エラーが発生した場合 (B<fork>(2)  に失敗した場合など)、-1 を返す。 そうでなけ"
-"れば、コマンドのステータスを返す。 後者の場合、ステータスは B<wait>(2)  で定"
-"義されているフォーマットで返ってくる。 従って、コマンドの終了コードは "
-"I<WEXITSTATUS(status)> で得ることが出来る。 I</bin/sh> が実行出来なかった場"
-"合、 終了ステータスはコマンドが I<exit(127)> を実行した場合と同じになる。"
 
+#.  See linux/arch/x86/vdso/vdso.lds.S
 #. type: Plain text
-#: build/C/man3/system.3:73
+#: build/C/man7/vdso.7:452
 msgid ""
-"If the value of I<command> is NULL, B<system>()  returns nonzero if the "
-"shell is available, and zero if not."
+"The table below lists the symbols exported by the vDSO.  All of these "
+"symbols are also available without the \"__vdso_\" prefix, but you should "
+"ignore those and stick to the names below."
 msgstr ""
-"I<command> の値が NULL のときは、 B<system>()  はシェルが利用可能ならゼロ以外"
-"の値を返し、利用不可ならゼロを返す。"
 
-#. type: Plain text
-#: build/C/man3/system.3:76
-msgid "B<system>()  does not affect the wait status of any other children."
-msgstr "B<system>()  は他の子プロセスのウエイトステータスには影響を与えない。"
+#. type: tbl table
+#: build/C/man7/vdso.7:459 build/C/man7/vdso.7:478
+#, no-wrap
+msgid "__vdso_clock_gettime\tLINUX_2.6\n"
+msgstr ""
 
-#. type: Plain text
-#: build/C/man3/system.3:78
-msgid "C89, C99, POSIX.1-2001."
-msgstr "C89, C99, POSIX.1-2001."
+#. type: tbl table
+#: build/C/man7/vdso.7:460 build/C/man7/vdso.7:479
+#, no-wrap
+msgid "__vdso_getcpu\tLINUX_2.6\n"
+msgstr ""
 
-#. type: Plain text
-#: build/C/man3/system.3:91
-msgid ""
-"If the B<_XOPEN_SOURCE> feature test macro is defined (before including "
-"I<any> header files), then the macros described in B<wait>(2)  "
-"(B<WEXITSTATUS>(), etc.) are made available when including I<E<lt>stdlib."
-"hE<gt>>."
+#. type: tbl table
+#: build/C/man7/vdso.7:461 build/C/man7/vdso.7:480
+#, no-wrap
+msgid "__vdso_gettimeofday\tLINUX_2.6\n"
 msgstr ""
-"(「どの」ヘッダファイルをインクルードするよりも前に)  機能検査マクロ "
-"B<_XOPEN_SOURCE> が定義された場合には、 B<wait>(2)  で説明されているマクロ群 "
-"(B<WEXITSTATUS>()  等) が I<E<lt>stdlib.hE<gt>> をインクルードすると利用可能"
-"になる。"
 
-#. type: Plain text
-#: build/C/man3/system.3:102
-msgid ""
-"As mentioned, B<system>()  ignores B<SIGINT> and B<SIGQUIT>.  This may make "
-"programs that call it from a loop uninterruptible, unless they take care "
-"themselves to check the exit status of the child.  E.g."
+#. type: tbl table
+#: build/C/man7/vdso.7:462 build/C/man7/vdso.7:481
+#, no-wrap
+msgid "__vdso_time\tLINUX_2.6\n"
 msgstr ""
-"既に述べたように、 B<system>()  は B<SIGINT> と B<SIGQUIT> を無視する。 よっ"
-"てループから B<system>()  を呼ぶプログラムは、 以下の例のように子プロセスの終"
-"了状態を自分でチェックしておかないと、 中断できなくなるかもしれない。"
 
-#. type: Plain text
-#: build/C/man3/system.3:107
+#. type: SS
+#: build/C/man7/vdso.7:468
 #, no-wrap
-msgid ""
-"    while (something) {\n"
-"        int ret = system(\"foo\");\n"
+msgid "x86/x32 functions"
 msgstr ""
-"    while (something) {\n"
-"        int ret = system(\"foo\");\n"
 
-#. type: Plain text
-#: build/C/man3/system.3:112
+#. type: SS
+#: build/C/man7/vdso.7:487
 #, no-wrap
-msgid ""
-"        if (WIFSIGNALED(ret) &&\n"
-"            (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
-"                break;\n"
-"    }\n"
+msgid "History"
 msgstr ""
-"        if (WIFSIGNALED(ret) &&\n"
-"            (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
-"                break;\n"
-"    }\n"
 
 #. type: Plain text
-#: build/C/man3/system.3:132
+#: build/C/man7/vdso.7:494
 msgid ""
-"Do not use B<system>()  from a program with set-user-ID or set-group-ID "
-"privileges, because strange values for some environment variables might be "
-"used to subvert system integrity.  Use the B<exec>(3)  family of functions "
-"instead, but not B<execlp>(3)  or B<execvp>(3).  B<system>()  will not, in "
-"fact, work properly from programs with set-user-ID or set-group-ID "
-"privileges on systems on which I</bin/sh> is bash version 2, since bash 2 "
-"drops privileges on startup.  (Debian uses a modified bash which does not do "
-"this when invoked as B<sh>.)"
+"The vDSO was originally just a single function\\(emthe vsyscall.  In older "
+"kernels, you might see that name in a process's memory map rather than \"vdso"
+"\".  Over time, people realized that this mechanism was a great way to pass "
+"more functionality to user space, so it was reconceived as a vDSO in the "
+"current format."
 msgstr ""
-"set-user-ID や set-group-ID の特権をもつプログラムの中では B<system>()  を"
-"使ってはいけない。なぜなら、ある環境変数の未知の値によって システムの安全が損"
-"なわれるからである。代わりに B<exec>(3)  関連の関数群の中で B<execlp>(3)  と "
-"B<execvp>(3)  以外の関数を使用すべきである。 実際のところ、 B<system>()  は "
-"I</bin/sh> が bash バージョン 2 であるシステムでは、 set-user-ID や set-"
-"group-ID の特権を持つプログラムからは正しく動作しない。 なぜなら、bash バー"
-"ジョン 2 はスタートアップ時に特権を落とすからである。 (Debian では、sh として"
-"起動された時にはこのような動作を行なわないように 修正された bash を用いてい"
-"る)"
 
 #. type: Plain text
-#: build/C/man3/system.3:146
-msgid ""
-"In versions of glibc before 2.1.3, the check for the availability of I</bin/"
-"sh> was not actually performed if I<command> was NULL; instead it was always "
-"assumed to be available, and B<system>()  always returned 1 in this case.  "
-"Since glibc 2.1.3, this check is performed because, even though POSIX.1-2001 "
-"requires a conforming implementation to provide a shell, that shell may not "
-"be available or executable if the calling program has previously called "
-"B<chroot>(2)  (which is not specified by POSIX.1-2001)."
+#: build/C/man7/vdso.7:498
+msgid "B<syscalls>(2), B<getauxval>(3), B<proc>(5)"
+msgstr "B<syscalls>(2), B<getauxval>(3), B<proc>(5)"
+
+#. type: Plain text
+#: build/C/man7/vdso.7:500
+msgid "The documents, examples, and source code in the Linux source code tree:"
 msgstr ""
-"glibc 2.1.3 より前のバージョンでは、 I<command> が NULL の場合に I</bin/sh> "
-"が利用可能かどうかのチェックは実際には行わず、 いつでも利用可能であるとみなし"
-"ていた。 B<system>()  はこの場合に常に 1 を返していた。 POSIX.1-2001 ではシェ"
-"ルが提供されているという標準に準拠した実装を 要求しているが、glibc 2.1.3 以降"
-"ではシェルのチェックを実行している。 なぜなら、呼び出し元のプログラムが "
-"B<system>()  を呼び出すより前に (POSIX.1-2001 では規定されていない)  "
-"B<chroot>(2)  を呼び出していた時には、シェルが利用可能でない場合や実行可能"
-"ファイル でない場合があるからである。"
 
 #. type: Plain text
-#: build/C/man3/system.3:151
+#: build/C/man7/vdso.7:506
+#, no-wrap
 msgid ""
-"It is possible for the shell command to return 127, so that code is not a "
-"sure indication that the B<execve>(2)  call failed."
+"Documentation/ABI/stable/vdso\n"
+"Documentation/ia64/fsys.txt\n"
+"Documentation/vDSO/* (includes examples of using the vDSO)\n"
 msgstr ""
-"実行したシェルコマンドが 127 (B</bin/sh> の呼び出しに失敗した時に返す値) を返"
-"すことも考えられる。 そのため、プログラムは (リターンコードを見るだけでは)  "
-"B<execve>(2)  の呼び出しが失敗したことを確実に知ることはできない。"
 
 #. type: Plain text
-#: build/C/man3/system.3:155
-msgid "B<sh>(1), B<signal>(2), B<wait>(2), B<exec>(3)"
-msgstr "B<sh>(1), B<signal>(2), B<wait>(2), B<exec>(3)"
+#: build/C/man7/vdso.7:508
+#, no-wrap
+msgid "find arch/ -iname '*vdso*' -o -iname '*gate*'\n"
+msgstr "find arch/ -iname '*vdso*' -o -iname '*gate*'\n"
 
 #. type: TH
-#: build/C/man3/wcstombs.3:14
+#: build/C/man3/wcstombs.3:16
 #, no-wrap
 msgid "WCSTOMBS"
 msgstr "WCSTOMBS"
 
-#. type: TH
-#: build/C/man3/wcstombs.3:14
-#, no-wrap
-msgid "2011-10-16"
-msgstr "2011-10-16"
-
 #. type: Plain text
-#: build/C/man3/wcstombs.3:17
+#: build/C/man3/wcstombs.3:19
 msgid "wcstombs - convert a wide-character string to a multibyte string"
 msgstr "wcstombs - ワイド文字列をマルチバイト文字列に変換する"
 
 #. type: Plain text
-#: build/C/man3/wcstombs.3:22
+#: build/C/man3/wcstombs.3:24
 #, no-wrap
 msgid "B<size_t wcstombs(char *>I<dest>B<, const wchar_t *>I<src>B<, size_t >I<n>B<);>\n"
 msgstr "B<size_t wcstombs(char *>I<dest>B<, const wchar_t *>I<src>B<, size_t >I<n>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/wcstombs.3:33
+#: build/C/man3/wcstombs.3:42
 msgid ""
-"If I<dest> is not a NULL pointer, the B<wcstombs>()  function converts the "
-"wide-character string I<src> to a multibyte string starting at I<dest>.  At "
-"most I<n> bytes are written to I<dest>.  The conversion starts in the "
-"initial state.  The conversion can stop for three reasons:"
+"If I<dest> is not NULL, the B<wcstombs>()  function converts the wide-"
+"character string I<src> to a multibyte string starting at I<dest>.  At most "
+"I<n> bytes are written to I<dest>.  The conversion starts in the initial "
+"state.  The conversion can stop for three reasons:"
 msgstr ""
-"I<dest> ã\81\8c NULL ã\83\9dã\82¤ã\83³ã\82¿ã\81§ã\81ªã\81\84å ´å\90\88ã\80\81 B<wcstombs>()  é\96¢æ\95°ã\81¯ ã\83¯ã\82¤ã\83\89æ\96\87å­\97å\88\97 "
-"I<src> を I<dest> から始まるマルチバイト文字列に 変換する。I<dest> には最大"
-"ã\81§ I<n> ã\83\90ã\82¤ã\83\88ã\81\8cæ\9b¸ã\81\8dè¾¼ã\81¾ã\82\8cã\82\8bã\80\82 å¤\89æ\8f\9bã\81¯å\88\9dæ\9c\9fç\8a¶æ\85\8bã\81§é\96\8bå§\8bã\81\95ã\82\8cã\82\8bã\80\82å¤\89æ\8f\9bã\81¯ä»¥ä¸\8bã\81®3ã\81¤ã\81®"
-"理由により停止する。"
+"I<dest> ã\81\8c NULL ã\81§ã\81ªã\81\84å ´å\90\88ã\80\81 B<wcstombs>()  é\96¢æ\95°ã\81¯ ã\83¯ã\82¤ã\83\89æ\96\87å­\97å\88\97 I<src> ã\82\92 "
+"I<dest> から始まるマルチバイト文字列に 変換する。I<dest> には最大で I<n> バイ"
+"ã\83\88ã\81\8cæ\9b¸ã\81\8dè¾¼ã\81¾ã\82\8cã\82\8bã\80\82 å¤\89æ\8f\9bã\81¯å\88\9dæ\9c\9fç\8a¶æ\85\8bã\81§é\96\8bå§\8bã\81\95ã\82\8cã\82\8bã\80\82å¤\89æ\8f\9bã\81¯ä»¥ä¸\8bã\81®3ã\81¤ã\81®ç\90\86ç\94±ã\81«ã\82\88ã\82\8aå\81\9c"
+"止する。"
 
 #. type: Plain text
-#: build/C/man3/wcstombs.3:39
+#: build/C/man3/wcstombs.3:48
 msgid ""
 "1. A wide character has been encountered that can not be represented as a "
-"multibyte sequence (according to the current locale).  In this case I<"
-"(size_t)\\ -1> is returned."
+"multibyte sequence (according to the current locale).  In this case"
+"I<(size_t)\\ -1> is returned."
 msgstr ""
 "1. (現在のロケールにおける)マルチバイト列で表現できないワイド文字に 遭遇した"
 "場合。この場合には I<(size_t)\\ -1> が返される。"
 
 #. type: Plain text
-#: build/C/man3/wcstombs.3:43
+#: build/C/man3/wcstombs.3:53
 msgid ""
-"2. The length limit forces a stop.  In this case the number of bytes written "
-"to I<dest> is returned, but the shift state at this point is lost."
+"2. The length limit forces a stop.  In this case, the number of bytes "
+"written to I<dest> is returned, but the shift state at this point is lost."
 msgstr ""
 "2. 長さ制限によって強制停止させられた場合。この場合には I<dest> に 書き込まれ"
 "たバイト数が返される。しかしこの時点でのシフト状態は失われる。"
 
 #. type: Plain text
-#: build/C/man3/wcstombs.3:49
+#: build/C/man3/wcstombs.3:60
 msgid ""
 "3. The wide-character string has been completely converted, including the "
-"terminating null wide character (L\\(aq\\e0\\(aq).  In this case the "
+"terminating null wide character (L\\(aq\\e0\\(aq).  In this case, the "
 "conversion ends in the initial state.  The number of bytes written to "
 "I<dest>, excluding the terminating null byte (\\(aq\\e0\\(aq), is returned."
 msgstr ""
-"3. ワイド文字列が終端の NULL ワイド文字 (L\\(aq\\e0\\(aq) を含めて完全に変換された場合。\n"
-"ã\81\93ã\81®å ´å\90\88ã\81«ã\81¯å¤\89æ\8f\9bã\81¯å\88\9dæ\9c\9fç\8a¶æ\85\8bã\81§çµ\82äº\86ã\81\97ã\80\81 I<dest> ã\81«æ\9b¸ã\81\8dè¾¼ã\81¾ã\82\8cã\81\9fã\83\90ã\82¤ã\83\88æ\95°ã\82\92è¿\94ã\81\99\n"
-"(終端の NULL バイト (\\(aq\\e0\\(aq) は含まれない)。"
+"3. ワイド文字列が終端のヌルワイド文字 (L\\(aq\\e0\\(aq) を含めて完全に変換さ"
+"ã\82\8cã\81\9få ´å\90\88ã\80\82 ã\81\93ã\81®å ´å\90\88ã\81«ã\81¯å¤\89æ\8f\9bã\81¯å\88\9dæ\9c\9fç\8a¶æ\85\8bã\81§çµ\82äº\86ã\81\97ã\80\81 I<dest> ã\81«æ\9b¸ã\81\8dè¾¼ã\81¾ã\82\8cã\81\9fã\83\90ã\82¤ã\83\88"
+"数を返す (終端のヌルバイト (\\(aq\\e0\\(aq) は含まれない)。"
 
 #. type: Plain text
-#: build/C/man3/wcstombs.3:52
+#: build/C/man3/wcstombs.3:66
 msgid ""
 "The programmer must ensure that there is room for at least I<n> bytes at "
 "I<dest>."
@@ -6105,38 +8308,38 @@ msgstr ""
 "ばならない。"
 
 #. type: Plain text
-#: build/C/man3/wcstombs.3:56
+#: build/C/man3/wcstombs.3:74
 msgid ""
 "If I<dest> is NULL, I<n> is ignored, and the conversion proceeds as above, "
-"except that the converted bytes are not written out to memory, and that no "
-"length limit exists."
+"except that the converted bytes are not written out to memory, and no length "
+"limit exists."
 msgstr ""
 "I<dest> が NULL の場合、I<n> は無視される。上記と同様に変換が行 なわれるが変"
 "換結果のバイト列はメモリには書き込まれない。 また長さの上限が存在しない。"
 
 #. type: Plain text
-#: build/C/man3/wcstombs.3:59
+#: build/C/man3/wcstombs.3:79
 msgid ""
 "In order to avoid the case 2 above, the programmer should make sure I<n> is "
-"greater or equal to I<wcstombs(NULL,src,0)+1>."
+"greater than or equal to I<wcstombs(NULL,src,0)+1>."
 msgstr ""
 "上記の 2. の場合を避けるために、プログラマーは I<n> が I<wcstombs(NULL,"
 "src,0)+1> 以上であることを保証しなければならない。"
 
 #. type: Plain text
-#: build/C/man3/wcstombs.3:68
+#: build/C/man3/wcstombs.3:89
 msgid ""
 "The B<wcstombs>()  function returns the number of bytes that make up the "
-"converted part of multibyte sequence, not including the terminating null "
-"byte.  If a wide character was encountered which could not be converted, I<"
-"(size_t)\\ -1> is returned."
+"converted part of multibyte sequence, not including the terminating null "
+"byte.  If a wide character was encountered which could not be converted, "
+"I<(size_t)\\ -1> is returned."
 msgstr ""
-"B<wcstombs>()  é\96¢æ\95°ã\81¯ç\94\9fæ\88\90ã\81\97ã\81\9fã\83\9eã\83«ã\83\81ã\83\90ã\82¤ã\83\88å\88\97ã\81®ã\83\90ã\82¤ã\83\88æ\95°ã\82\92è¿\94ã\81\99ã\80\82çµ\82端ã\81® ã\83\8aル文字"
+"B<wcstombs>()  é\96¢æ\95°ã\81¯ç\94\9fæ\88\90ã\81\97ã\81\9fã\83\9eã\83«ã\83\81ã\83\90ã\82¤ã\83\88å\88\97ã\81®ã\83\90ã\82¤ã\83\88æ\95°ã\82\92è¿\94ã\81\99ã\80\82çµ\82端ã\81® ã\83\8cル文字"
 "は含まない。もし変換できないワイド文字に遭遇した場合には I<(size_t)\\ -1> を"
 "返す。"
 
 #. type: Plain text
-#: build/C/man3/wcstombs.3:77
+#: build/C/man3/wcstombs.3:98
 msgid ""
 "The behavior of B<wcstombs>()  depends on the B<LC_CTYPE> category of the "
 "current locale."
@@ -6144,7 +8347,7 @@ msgstr ""
 "B<wcstombs>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
 
 #. type: Plain text
-#: build/C/man3/wcstombs.3:82
+#: build/C/man3/wcstombs.3:103
 msgid ""
 "The function B<wcsrtombs>(3)  provides a thread safe interface to the same "
 "functionality."
@@ -6153,36 +8356,37 @@ msgstr ""
 "供する。"
 
 #. type: Plain text
-#: build/C/man3/wcstombs.3:84
-msgid "B<mbstowcs>(3), B<wcsrtombs>(3)"
-msgstr "B<mbstowcs>(3), B<wcsrtombs>(3)"
+#: build/C/man3/wcstombs.3:109
+msgid "B<mblen>(3), B<mbtowc>(3), B<mbstowcs>(3), B<wcsrtombs>(3)  B<wctom>(3)"
+msgstr ""
+"B<mblen>(3), B<mbtowc>(3), B<mbstowcs>(3), B<wcsrtombs>(3)  B<wctom>(3)"
 
 #. type: TH
-#: build/C/man3/wctomb.3:14
+#: build/C/man3/wctomb.3:16
 #, no-wrap
 msgid "WCTOMB"
 msgstr "WCTOMB"
 
 #. type: Plain text
-#: build/C/man3/wctomb.3:17
+#: build/C/man3/wctomb.3:19
 msgid "wctomb - convert a wide character to a multibyte sequence"
 msgstr "wctomb - ワイド文字をマルチバイト列に変換する。"
 
 #. type: Plain text
-#: build/C/man3/wctomb.3:22
+#: build/C/man3/wctomb.3:24
 #, no-wrap
 msgid "B<int wctomb(char *>I<s>B<, wchar_t >I<wc>B<);>\n"
 msgstr "B<int wctomb(char *>I<s>B<, wchar_t >I<wc>B<);>\n"
 
 #. type: Plain text
-#: build/C/man3/wctomb.3:36
+#: build/C/man3/wctomb.3:45
 msgid ""
 "If I<s> is not NULL, the B<wctomb>()  function converts the wide character "
 "I<wc> to its multibyte representation and stores it at the beginning of the "
 "character array pointed to by I<s>.  It updates the shift state, which is "
-"stored in a static anonymous variable only known to the wctomb function, and "
-"returns the length of said multibyte representation, that is, the number of "
-"bytes written at I<s>."
+"stored in a static anonymous variable known only to the B<wctomb>()  "
+"function, and returns the length of said multibyte representation, that is, "
+"the number of bytes written at I<s>."
 msgstr ""
 "I<s> が NULL でなければ、 B<wctomb>()  関数はワイド文字 I<wc> を マルチバイト"
 "表現に変換して I<s> の指す文字配列に格納する。 同時に wctomb 関数のみが使用す"
@@ -6190,7 +8394,7 @@ msgstr ""
 "なわち I<s> に書き込まれた バイト数を返す。"
 
 #. type: Plain text
-#: build/C/man3/wctomb.3:40
+#: build/C/man3/wctomb.3:51
 msgid ""
 "The programmer must ensure that there is room for at least B<MB_CUR_MAX> "
 "bytes at I<s>."
@@ -6201,10 +8405,10 @@ msgstr ""
 #.  The Dinkumware doc and the Single UNIX specification say this, but
 #.  glibc doesn't implement this.
 #. type: Plain text
-#: build/C/man3/wctomb.3:50
+#: build/C/man3/wctomb.3:63
 msgid ""
-"If I<s> is NULL, the B<wctomb>()  function resets the shift state, only "
-"known to this function, to the initial state, and returns nonzero if the "
+"If I<s> is NULL, the B<wctomb>()  function resets the shift state, known "
+"only to this function, to the initial state, and returns nonzero if the "
 "encoding has nontrivial shift state, or zero if the encoding is stateless."
 msgstr ""
 "I<s> が NULL ならば、 B<wctomb>()  関数は自分のみが使用するシフト状態を 初期"
@@ -6212,7 +8416,7 @@ msgstr ""
 "依存しない場合にはゼロを返す。"
 
 #. type: Plain text
-#: build/C/man3/wctomb.3:59
+#: build/C/man3/wctomb.3:77
 msgid ""
 "If I<s> is not NULL, the B<wctomb>()  function returns the number of bytes "
 "that have been written to the byte array at I<s>.  If I<wc> can not be "
@@ -6224,7 +8428,7 @@ msgstr ""
 "場合には -1 を返す。"
 
 #. type: Plain text
-#: build/C/man3/wctomb.3:64
+#: build/C/man3/wctomb.3:84
 msgid ""
 "If I<s> is NULL, the B<wctomb>()  function returns nonzero if the encoding "
 "has nontrivial shift state, or zero if the encoding is stateless."
@@ -6233,7 +8437,12 @@ msgstr ""
 "合にはゼロ以外、シフト状態に依存しない場合はゼロを返す。"
 
 #. type: Plain text
-#: build/C/man3/wctomb.3:73
+#: build/C/man3/wctomb.3:89
+msgid "The B<wctomb>()  function is not thread-safe."
+msgstr "B<wctomb>() 関数はスレッドセーフではない。"
+
+#. type: Plain text
+#: build/C/man3/wctomb.3:98
 msgid ""
 "The behavior of B<wctomb>()  depends on the B<LC_CTYPE> category of the "
 "current locale."
@@ -6242,36 +8451,99 @@ msgstr ""
 "る。"
 
 #. type: Plain text
-#: build/C/man3/wctomb.3:79
+#: build/C/man3/wctomb.3:103
 msgid ""
-"This function is not multithread safe.  The function B<wcrtomb>(3)  provides "
-"a better interface to the same functionality."
-msgstr ""
-"この関数はマルチスレッドでは安全ではない。 B<wcrtomb>(3)  関数は 同じ機能のよ"
-"り良いインターフェースを提供する。"
+"The function B<wcrtomb>(3)  provides a better interface to the same "
+"functionality."
+msgstr "B<wcrtomb>(3)  関数は同じ機能のより良いインタフェースを提供する。"
 
 #. type: Plain text
-#: build/C/man3/wctomb.3:82
-msgid "B<MB_CUR_MAX>(3), B<wcrtomb>(3), B<wcstombs>(3)"
-msgstr "B<MB_CUR_MAX>(3), B<wcrtomb>(3), B<wcstombs>(3)"
+#: build/C/man3/wctomb.3:110
+msgid ""
+"B<MB_CUR_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcrtomb>(3), "
+"B<wcstombs>(3)"
+msgstr ""
+"B<MB_CUR_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcrtomb>(3), "
+"B<wcstombs>(3)"
+
+#~ msgid ""
+#~ "B<system>()  executes a command specified in I<command> by calling B</bin/"
+#~ "sh -c> I<command>, and returns after the command has been completed.  "
+#~ "During execution of the command, B<SIGCHLD> will be blocked, and "
+#~ "B<SIGINT> and B<SIGQUIT> will be ignored."
+#~ msgstr ""
+#~ "B<system>()  は I<command> で指定したコマンドを B</bin/sh -c> I<command> "
+#~ "の形で実行する。指定したコマンドが終了すればこの関数も終了する。 コマンド"
+#~ "実行中は、 B<SIGCHLD> はブロックされ、 B<SIGINT> と B<SIGQUIT> は無視され"
+#~ "る。"
+
+#~ msgid ""
+#~ "The value returned is -1 on error (e.g., B<fork>(2)  failed), and the "
+#~ "return status of the command otherwise.  This latter return status is in "
+#~ "the format specified in B<wait>(2).  Thus, the exit code of the command "
+#~ "will be I<WEXITSTATUS(status)>.  In case I</bin/sh> could not be "
+#~ "executed, the exit status will be that of a command that does "
+#~ "I<exit(127)>."
+#~ msgstr ""
+#~ "エラーが発生した場合 (B<fork>(2)  に失敗した場合など)、-1 を返す。 そうで"
+#~ "なければ、コマンドのステータスを返す。 後者の場合、ステータスは "
+#~ "B<wait>(2)  で定義されているフォーマットで返ってくる。 従って、コマンドの"
+#~ "終了コードは I<WEXITSTATUS(status)> で得ることが出来る。 I</bin/sh> が実行"
+#~ "出来なかった場合、 終了ステータスはコマンドが I<exit(127)> を実行した場合"
+#~ "と同じになる。"
+
+#~ msgid ""
+#~ "It is possible for the shell command to return 127, so that code is not a "
+#~ "sure indication that the B<execve>(2)  call failed."
+#~ msgstr ""
+#~ "実行したシェルコマンドが 127 (B</bin/sh> の呼び出しに失敗した時に返す値) "
+#~ "を返すことも考えられる。 そのため、プログラムは (リターンコードを見るだけ"
+#~ "では)  B<execve>(2)  の呼び出しが失敗したことを確実に知ることはできない。"
+
+#~ msgid ""
+#~ "The B<mkostemp>()  function is like B<mkstemp>(), with the difference "
+#~ "that flags as for B<open>(2)  may be specified in I<flags> (e.g., "
+#~ "B<O_APPEND>, B<O_SYNC>)."
+#~ msgstr ""
+#~ "B<mkostemp>() 関数は B<mkstemp>() と同様だが、B<open>(2) に渡される\n"
+#~ "フラグ O_APPENDB<,> B<O_SYNC> など) を I<flags> で指定できる点が異なる"
+
+#~ msgid ""
+#~ "This function is not multithread safe.  The function B<wcrtomb>(3)  "
+#~ "provides a better interface to the same functionality."
+#~ msgstr ""
+#~ "この関数はマルチスレッドでは安全ではない。 B<wcrtomb>(3)  関数は 同じ機能"
+#~ "のより良いインターフェースを提供する。"
+
+#~ msgid ""
+#~ "The B<putenv>()  function returns zero on success, or nonzero if an error "
+#~ "occurs."
+#~ msgstr ""
+#~ "B<putenv>()  関数は、成功した場合 0 を、 エラーが発生した場合 0 以外を返"
+#~ "す。"
+
+#~ msgid ""
+#~ "The B<random>()  function returns a value between 0 and B<RAND_MAX>.  The "
+#~ "B<srandom>()  function returns no value.  The B<initstate>()  function "
+#~ "returns a pointer to the previous state array.  The B<setstate>()  "
+#~ "function returns a pointer to the previous state array, or NULL on error."
+#~ msgstr ""
+#~ "B<random>()  関数は 0 と B<RAND_MAX> の間の値を返す。 B<srandom>()  関数は"
+#~ "値を返さない。 B<initstate>()  関数は直前の状態配列へのポインタを返す。 "
+#~ "B<setstate>()  関数は直前の状態配列へのポインタを返し、 エラーの場合は "
+#~ "NULL を返す。"
 
-#~ msgid "COLOPHON"
-#~ msgstr "ã\81\93ã\81®æ\96\87æ\9b¸ã\81«ã\81¤ã\81\84ã\81¦"
+#~ msgid "All of these functions return 0 on success, or -1 on error."
+#~ msgstr "ã\81\93ã\82\8cã\82\89ã\81®é\96¢æ\95°ã\81¯ã\80\81æ\88\90å\8a\9fã\81\99ã\82\8bã\81¨ 0 ã\82\92è¿\94ã\81\97ã\80\81 ã\82¨ã\83©ã\83¼ã\81®å ´å\90\88ã\81¯ -1 ã\82\92è¿\94ã\81\99ã\80\82"
 
-#, fuzzy
-#~| msgid ""
-#~| "This page is part of release 3.37 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/."
 #~ msgid ""
-#~ "This page is part of release 3.38 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/."
+#~ "In locales other than the \"C\" locale, other strings may also be "
+#~ "accepted.  (For example, the thousands separator of the current locale "
+#~ "may be supported.)"
 #~ msgstr ""
-#~ "この man ページは Linux I<man-pages> プロジェクトのリリース 3.37 の一部で"
-#~ "ある。\n"
-#~ "プロジェクトの説明とバグ報告に関する情報は\n"
-#~ "http://www.kernel.org/doc/man-pages/ に書かれている。"
+#~ "\"C\" 以外のロケールの場合、その他の文字列も受け付けられるかもしれない。 "
+#~ "(例えば、現在のロケールの 1000 毎の区切り文字がサポートされているかもしれ"
+#~ "ない。)"
 
 #~ msgid ""
 #~ "Recent versions of Linux libc (later than 5.4.23) and glibc (2.x)  "
@@ -6303,42 +8575,3 @@ msgstr "B<MB_CUR_MAX>(3), B<wcrtomb>(3), B<wcstombs>(3)"
 #~ "終了 (abort) される。 B<MALLOC_CHECK_> に 0 以外の値をセットして役に立つ状"
 #~ "況としては、 実際のプロセスのクラッシュがずっと後に起こり、 本当の原因を探"
 #~ "し出すのが非常に困難な場合などが挙げられるだろう。"
-
-#~ msgid "2009-01-13"
-#~ msgstr "2009-01-13"
-
-#~ msgid "B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
-#~ msgstr "B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
-
-#~ msgid "B<void *malloc(size_t >I<size>B<);>\n"
-#~ msgstr "B<void *malloc(size_t >I<size>B<);>\n"
-
-#~ msgid "B<void free(void >I<*ptr>B<);>\n"
-#~ msgstr "B<void free(void >I<*ptr>B<);>\n"
-
-#~ msgid "B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
-#~ msgstr "B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
-
-#~ msgid "#B< echo 2 E<gt> /proc/sys/vm/overcommit_memory>\n"
-#~ msgstr "#B< echo 2 E<gt> /proc/sys/vm/overcommit_memory>\n"
-
-#~ msgid ""
-#~ "See also the kernel Documentation directory, files I<vm/overcommit-"
-#~ "accounting> and I<sysctl/vm.txt>."
-#~ msgstr ""
-#~ "カーネルの付属文書の I<vm/overcommit-accounting> と I<sysctl/vm.txt> も参"
-#~ "照のこと。"
-
-#~ msgid "2008-06-19"
-#~ msgstr "2008-06-19"
-
-#~ msgid ""
-#~ "B<mkstemp>(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
-#~ msgstr ""
-#~ "B<mkstemp>(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
-
-#~ msgid "B<mkostemp>()  is available since glibc 2.7."
-#~ msgstr "B<mkostemp>()  は glibc 2.7 以降で利用可能である。"
-
-#~ msgid "2008-08-29"
-#~ msgstr "2008-08-29"