summaryrefslogtreecommitdiffstats
path: root/po/ru/man3/malloc.3.po
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
commitfc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch)
treece1e3bce06471410239a6f41282e328770aa404a /po/ru/man3/malloc.3.po
parentInitial commit. (diff)
downloadmanpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz
manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'po/ru/man3/malloc.3.po')
-rw-r--r--po/ru/man3/malloc.3.po1074
1 files changed, 1074 insertions, 0 deletions
diff --git a/po/ru/man3/malloc.3.po b/po/ru/man3/malloc.3.po
new file mode 100644
index 00000000..e7319feb
--- /dev/null
+++ b/po/ru/man3/malloc.3.po
@@ -0,0 +1,1074 @@
+# Russian translation of manpages
+# This file is distributed under the same license as the manpages-l10n package.
+# Copyright © of this file:
+# aereiae <aereiae@gmail.com>, 2014.
+# Alexey <a.chepugov@gmail.com>, 2015.
+# Azamat Hackimov <azamat.hackimov@gmail.com>, 2013-2017.
+# Dmitriy S. Seregin <dseregin@59.ru>, 2013.
+# Dmitry Bolkhovskikh <d20052005@yandex.ru>, 2017.
+# ITriskTI <ITriskTI@gmail.com>, 2013.
+# Max Is <ismax799@gmail.com>, 2016.
+# Yuri Kozlov <yuray@komyakino.ru>, 2011-2019.
+# Иван Павлов <pavia00@gmail.com>, 2017.
+# Малянов Евгений Викторович <maljanow@outlook.com>, 2014.
+msgid ""
+msgstr ""
+"Project-Id-Version: manpages-l10n\n"
+"POT-Creation-Date: 2024-03-01 17:01+0100\n"
+"PO-Revision-Date: 2019-10-06 08:59+0300\n"
+"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
+"Language-Team: Russian <man-pages-ru-talks@lists.sourceforge.net>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
+"(n%100>=11 && n%100<=14)? 2 : 3);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: TH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "B<malloc>(3)"
+msgid "malloc"
+msgstr "B<malloc>(3)"
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "2023-10-31"
+msgstr "31 октября 2023 г."
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "Linux man-pages 6.06"
+msgstr "Linux man-pages 6.06"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NAME"
+msgstr "ИМЯ"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid "malloc, free, calloc, realloc - allocate and free dynamic memory"
+msgid ""
+"malloc, free, calloc, realloc, reallocarray - allocate and free dynamic "
+"memory"
+msgstr ""
+"malloc, free, calloc, realloc - распределяет и освобождает динамическую "
+"память"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "LIBRARY"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Standard C library (I<libc>, I<-lc>)"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SYNOPSIS"
+msgstr "СИНТАКСИС"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<#include E<lt>stdlib.hE<gt>>\n"
+msgstr "B<#include E<lt>stdlib.hE<gt>>\n"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, fuzzy, 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"
+#| "B<void *reallocarray(void >I<*ptr>B<, size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
+msgid ""
+"B<void *malloc(size_t >I<size>B<);>\n"
+"B<void free(void *_Nullable >I<ptr>B<);>\n"
+"B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
+"B<void *realloc(void *_Nullable >I<ptr>B<, size_t >I<size>B<);>\n"
+"B<void *reallocarray(void *_Nullable >I<ptr>B<, size_t >I<nmemb>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"
+"B<void *reallocarray(void >I<*ptr>B<, size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
+msgstr ""
+"Требования макроса тестирования свойств для glibc (см. "
+"B<feature_test_macros>(7)):"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "B<reallocarray>():"
+msgstr "B<reallocarray>():"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid ""
+#| "_GNU_SOURCE\n"
+#| " Since glibc 2.29:\n"
+#| " _DEFAULT_SOURCE\n"
+#| " Glibc 2.28 and earlier:\n"
+#| " _GNU_SOURCE\n"
+msgid ""
+" Since glibc 2.29:\n"
+" _DEFAULT_SOURCE\n"
+" glibc 2.28 and earlier:\n"
+" _GNU_SOURCE\n"
+msgstr ""
+"_GNU_SOURCE\n"
+" Начиная с glibc 2.29:\n"
+" _DEFAULT_SOURCE\n"
+" В glibc 2.28 и старее:\n"
+" _GNU_SOURCE\n"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr "ОПИСАНИЕ"
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "B<malloc>(3)"
+msgid "malloc()"
+msgstr "B<malloc>(3)"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| 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>()."
+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 a unique pointer value that can later be "
+"successfully passed to B<free>(). (See \"Nonportable behavior\" for "
+"portability issues.)"
+msgstr ""
+"Функция B<malloc>() распределяет I<size> байтов и возвращает указатель на "
+"распределённую память. I<Память при этом не инициализируется>. Если значение "
+"I<size> равно 0, то B<malloc>() возвращает или NULL, или уникальный "
+"указатель, который можно без опасений передавать B<free>()."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "free()"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| 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."
+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>() or related "
+"functions. Otherwise, or if I<ptr> has already been freed, undefined "
+"behavior occurs. If I<ptr> is NULL, no operation is performed."
+msgstr ""
+"Функция B<free>() освобождает место в памяти, указанное в I<ptr>, которое "
+"должно быть получено ранее вызовом функции B<malloc>(), B<calloc>() или "
+"B<realloc>(). Иначе (или если вызов I<free(ptr)> уже выполнялся) дальнейшее "
+"поведение не определено. Если значение I<ptr> равно NULL, то не выполняется "
+"никаких действий."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "B<malloc>(3)"
+msgid "calloc()"
+msgstr "B<malloc>(3)"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| 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>()."
+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 a unique pointer value that can later be successfully passed to "
+"B<free>()."
+msgstr ""
+"Функция B<malloc>() распределяет I<size> байтов и возвращает указатель на "
+"распределённую память. I<Память при этом не инициализируется>. Если значение "
+"I<size> равно 0, то B<malloc>() возвращает или NULL, или уникальный "
+"указатель, который можно без опасений передавать B<free>()."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| 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>(). If the multiplication of "
+#| "I<nmemb> and I<size> would result in integer overflow, then B<calloc>() "
+#| "returns an error. By contrast, an integer overflow would not be detected "
+#| "in the following call to B<malloc>(), with the result that an incorrectly "
+#| "sized block of memory would be allocated:"
+msgid ""
+"If the multiplication of I<nmemb> and I<size> would result in integer "
+"overflow, then B<calloc>() returns an error. By contrast, an integer "
+"overflow would not be detected in the following call to B<malloc>(), with "
+"the result that an incorrectly sized block of memory would be allocated:"
+msgstr ""
+"Функция B<сalloc>() распределяет память для массива размером I<nmemb> "
+"элементов по I<size> байтов каждый и возвращает указатель на распределённую "
+"память. Данные в выделенной памяти при этом обнуляются. Если значение "
+"I<nmemb> или I<size> равно 0, то B<calloc>() возвращает NULL или уникальный "
+"указатель, который можно без опасений передавать B<free>(). Если "
+"перемножение I<nmemb> и I<size> приводит к целочисленному переполнению, то "
+"B<calloc>() возвращает ошибку. Это отличает её от B<malloc>(), которая не "
+"обнаруживает целочисленное переполнение и возвращает блок памяти "
+"неправильного размера:"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "malloc(nmemb * size);\n"
+msgstr "malloc(nmemb * size);\n"
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "B<reallocarray>():"
+msgid "realloc()"
+msgstr "B<reallocarray>():"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| 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."
+msgid ""
+"The B<realloc>() function changes the size of the memory block pointed to "
+"by I<ptr> to I<size> bytes. The contents of the memory 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."
+msgstr ""
+"Функция B<realloc>() меняет размер блока памяти, на который указывает "
+"I<ptr>, на размер, равный I<size> байт. Содержимое памяти не будет изменено "
+"от начала области в пределах наименьшего из старого и нового размеров. Если "
+"новый размер больше старого, то добавленная память I<не> будет "
+"инициализирована. Если значение I<ptr> равно NULL, то вызов эквивалентен "
+"I<malloc(size)> для всех значений I<size>; если значение I<size> равно нулю "
+"и I<ptr> не равно NULL, то вызов эквивалентен I<free(ptr)>. Если только "
+"значение I<ptr> не равно NULL, то должно быть возвращено ранее полученное "
+"значение от B<malloc>(), B<calloc>() или B<realloc>(). Если область была "
+"перемещена, то выполняется I<free(ptr)>."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If I<ptr> is NULL, then the call is equivalent to I<malloc(size)>, for all "
+"values of I<size>."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If I<size> is equal to zero, and I<ptr> is not NULL, then the call is "
+"equivalent to I<free(ptr)> (but see \"Nonportable behavior\" for portability "
+"issues)."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Unless I<ptr> is NULL, it must have been returned by an earlier call to "
+"B<malloc> or related functions. If the area pointed to was moved, a "
+"I<free(ptr)> is done."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "B<reallocarray>():"
+msgid "reallocarray()"
+msgstr "B<reallocarray>():"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid ""
+#| "The B<reallocarray>() function changes the size of the memory block "
+#| "pointed to by I<ptr> to be large enough for an array of I<nmemb> "
+#| "elements, each of which is I<size> bytes. It is equivalent to the call"
+msgid ""
+"The B<reallocarray>() function changes the size of (and possibly moves) "
+"the memory block pointed to by I<ptr> to be large enough for an array of "
+"I<nmemb> elements, each of which is I<size> bytes. It is equivalent to the "
+"call"
+msgstr ""
+"Функция B<reallocarray>() изменяет размер блока памяти, на который указывает "
+"I<ptr>, таким образом, чтобы он смог вместить массив из I<nmemb> элементов, "
+"каждый из которых занимает I<size> байт. Она эквивалентна вызову"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid " realloc(ptr, nmemb * size);\n"
+msgid "realloc(ptr, nmemb * size);\n"
+msgstr " realloc(ptr, nmemb * size);\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid ""
+#| "However, unlike that B<realloc>() call, B<reallocarray>() fails safely "
+#| "in the case where the multiplication would overflow. If such an overflow "
+#| "occurs, B<reallocarray>() returns NULL, sets I<errno> to B<ENOMEM>, and "
+#| "leaves the original block of memory unchanged."
+msgid ""
+"However, unlike that B<realloc>() call, B<reallocarray>() fails safely in "
+"the case where the multiplication would overflow. If such an overflow "
+"occurs, B<reallocarray>() returns an error."
+msgstr ""
+"Однако в отличие от вызова B<realloc>(), функция B<reallocarray>() безопасно "
+"завершается ошибкой в случае возникновения переполнения умножения. Если это "
+"происходит, то B<reallocarray>() возвращает NULL, присваивает I<errno> "
+"значение B<ENOMEM> и оставляет первоначальный блок памяти в неизменном виде."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "RETURN VALUE"
+msgstr "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| 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."
+msgid ""
+"The B<malloc>(), B<calloc>(), B<realloc>(), and B<reallocarray>() functions "
+"return a pointer to the allocated memory, which is suitably aligned for any "
+"type that fits into the requested size or less. On error, these functions "
+"return NULL and set I<errno>. Attempting to allocate more than "
+"B<PTRDIFF_MAX> bytes is considered an error, as an object that large could "
+"cause later pointer subtraction to overflow."
+msgstr ""
+"Функции B<malloc>() и B<calloc>() возвращают указатель на распределённую "
+"память, выровненную должным образом для любого встроенного типа. При ошибке "
+"возвращается NULL. Значение NULL также может быть получено при успешной "
+"работе вызова B<malloc>(), если значение I<size> равно нулю, или B<calloc>() "
+"— если значение I<nmemb> или I<size> равно нулю."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid "The B<free>() function returns no value."
+msgid "The B<free>() function returns no value, and preserves I<errno>."
+msgstr "Функция B<free>() ничего не возвращает."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The B<realloc>() and B<reallocarray>() functions return NULL if I<ptr> is "
+"not NULL and the requested size is zero; this is not considered an error. "
+"(See \"Nonportable behavior\" for portability issues.) Otherwise, the "
+"returned pointer may be the same as I<ptr> if the allocation was not moved "
+"(e.g., there was room to expand the allocation in-place), or different from "
+"I<ptr> if the allocation was moved to a new address. If these functions "
+"fail, the original block is left untouched; it is not freed or moved."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "ERRORS"
+msgstr "ОШИБКИ"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<calloc>(), B<malloc>(), B<realloc>(), and B<reallocarray>() can fail with "
+"the following error:"
+msgstr ""
+"Функции B<calloc>(), B<malloc>(), B<realloc>() и B<reallocarray>() могут "
+"завершаться со следующей ошибкой:"
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ENOMEM>"
+msgstr "B<ENOMEM>"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, fuzzy
+#| msgid ""
+#| "Out of memory. Possibly, the application hit the B<RLIMIT_AS> or "
+#| "B<RLIMIT_DATA> limit described in B<getrlimit>(2)."
+msgid ""
+"Out of memory. Possibly, the application hit the B<RLIMIT_AS> or "
+"B<RLIMIT_DATA> limit described in B<getrlimit>(2). Another reason could be "
+"that the number of mappings created by the caller process exceeded the limit "
+"specified by I</proc/sys/vm/max_map_count>."
+msgstr ""
+"Не хватает памяти. Вероятно приложение достигнут лимит B<RLIMIT_AS> или "
+"B<RLIMIT_DATA>, описанный в B<getrlimit>(2)."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "ATTRIBUTES"
+msgstr "АТРИБУТЫ"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"For an explanation of the terms used in this section, see B<attributes>(7)."
+msgstr "Описание терминов данного раздела смотрите в B<attributes>(7)."
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Interface"
+msgstr "Интерфейс"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Attribute"
+msgstr "Атрибут"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Value"
+msgstr "Значение"
+
+#. type: tbl table
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ".na\n"
+msgstr ".na\n"
+
+#. type: tbl table
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ".nh\n"
+msgstr ".nh\n"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid ""
+#| "B<calloc>(),\n"
+#| "B<realloc>()"
+msgid ""
+"B<malloc>(),\n"
+"B<free>(),\n"
+"B<calloc>(),\n"
+"B<realloc>()"
+msgstr ""
+"B<calloc>(),\n"
+"B<realloc>()"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Thread safety"
+msgstr "Безвредность в нитях"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "MT-Safe"
+msgstr "MT-Safe"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "STANDARDS"
+msgstr "СТАНДАРТЫ"
+
+#. type: TP
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "B<malloc>(3)"
+msgid "B<malloc>()"
+msgstr "B<malloc>(3)"
+
+#. type: TQ
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "B<tee>(2)"
+msgid "B<free>()"
+msgstr "B<tee>(2)"
+
+#. type: TQ
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "B<malloc>(3)"
+msgid "B<calloc>()"
+msgstr "B<malloc>(3)"
+
+#. type: TQ
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "B<reallocarray>():"
+msgid "B<realloc>()"
+msgstr "B<reallocarray>():"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "C11, POSIX.1-2008."
+msgstr "C11, POSIX.1-2008."
+
+#. type: TP
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "B<reallocarray>():"
+msgid "B<reallocarray>()"
+msgstr "B<reallocarray>():"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid "None"
+msgid "None."
+msgstr "None"
+
+#. type: SH
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "HISTORY"
+msgstr "ИСТОРИЯ"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "POSIX.1-2001, C89."
+msgstr "POSIX.1-2001, C89."
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "glibc 2.26. OpenBSD 5.6, FreeBSD 11.0."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<malloc>() and related functions rejected sizes greater than "
+"B<PTRDIFF_MAX> starting in glibc 2.30."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "B<free>() preserved I<errno> starting in glibc 2.33."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NOTES"
+msgstr "ЗАМЕЧАНИЯ"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"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.rst>."
+msgstr ""
+"По умолчанию, Linux придерживается оптимистичной стратегии распределения "
+"памяти. Это означает, что когда B<malloc>() возвращает значение не NULL, то "
+"нет никаких гарантий, что память в действительности доступна. Если "
+"обнаружится, что системе не хватает памяти, то один или несколько процессов "
+"будут завершены OOM. Дополнительную информацию можно получить из описания I</"
+"proc/sys/vm/overcommit_memory> и I</proc/sys/vm/oom_adj> в B<proc>(5) и "
+"файле из исходного кода ядра Linux I<Documentation/vm/overcommit-accounting."
+"rst>."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+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). Prior to Linux 4.7 allocations performed using B<mmap>(2) "
+"were unaffected by the B<RLIMIT_DATA> resource limit; since Linux 4.7, this "
+"limit is also enforced for allocations performed using B<mmap>(2)."
+msgstr ""
+"Обычно, B<malloc>() выделяет память из кучи и подгоняет размер кучи "
+"соответствующим образом с помощью B<sbrk>(2). Если выделяемый блок памяти "
+"больше чем B<MMAP_THRESHOLD> байт, то реализация B<malloc>() в glibc "
+"выделяет память с помощью B<mmap>(2) в виде частного анонимного отображения. "
+"По умолчанию, значение B<MMAP_THRESHOLD> равно 128\\ КБ, но его можно "
+"изменить с помощью B<mallopt>(3). До Linux 4.7 на выделения, выполняемые с "
+"помощью B<mmap>(2), не влияет ограничитель ресурса B<RLIMIT_DATA>; начиная с "
+"Linux 4.7 это ограничение также применяется к выделениям, созданным с "
+"помощью B<mmap>(2)."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+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 ""
+"Внутри данных функций для защиты от повреждений выделяемых структур данных "
+"управления памятью, используются мьютексы. В многонитевых приложениях, в "
+"которых нити одновременно выделяют и освобождают память, может возникнуть "
+"конфликт за обладание этими мьютексами. Чтобы расширить обработку выделения "
+"памяти в многонитевых приложениях библиотека glibc создаёт дополнительные "
+"I<области выделения памяти> (memory allocation arenas), если обнаруживается "
+"конфликт. Каждая область представляет собой большой кусок памяти, который "
+"внутренне выделен системой (с помощью B<brk>(2) или B<mmap>(2)) и "
+"управляется своими собственными мьютексами."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If your program uses a private memory allocator, it should do so by "
+"replacing B<malloc>(), B<free>(), B<calloc>(), and B<realloc>(). The "
+"replacement functions must implement the documented glibc behaviors, "
+"including I<errno> handling, size-zero allocations, and overflow checking; "
+"otherwise, other library routines may crash or operate incorrectly. For "
+"example, if the replacement I<free>() does not preserve I<errno>, then "
+"seemingly unrelated library routines may fail without having a valid reason "
+"in I<errno>. Private memory allocators may also need to replace other glibc "
+"functions; see \"Replacing malloc\" in the glibc manual for details."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| 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."
+msgid ""
+"Crashes in memory allocators 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>() "
+"почти всегда связаны с повреждением кучи, например, с переполнением больших "
+"распределённых участков памяти или освобождением одного и того же указателя "
+"дважды."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The B<malloc>() implementation is tunable via environment variables; see "
+"B<mallopt>(3) for details."
+msgstr ""
+"Реализация B<malloc>() настраивается с помощью переменных окружения; "
+"подробности смотрите в B<mallopt>(3)."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Nonportable behavior"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The behavior of these functions when the requested size is zero is glibc "
+"specific; other implementations may return NULL without setting I<errno>, "
+"and portable POSIX programs should tolerate such behavior. See "
+"B<realloc>(3p)."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"POSIX requires memory allocators to set I<errno> upon failure. However, the "
+"C standard does not require this, and applications portable to non-POSIX "
+"platforms should not assume this."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Portable programs should not use private memory allocators, as POSIX and the "
+"C standard do not allow replacement of B<malloc>(), B<free>(), B<calloc>(), "
+"and B<realloc>()."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "EXAMPLES"
+msgstr "ПРИМЕРЫ"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"#include E<lt>err.hE<gt>\n"
+"#include E<lt>stddef.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"\\&\n"
+"#define MALLOCARRAY(n, type) ((type *) my_mallocarray(n, sizeof(type)))\n"
+"#define MALLOC(type) MALLOCARRAY(1, type)\n"
+"\\&\n"
+"static inline void *my_mallocarray(size_t nmemb, size_t size);\n"
+"\\&\n"
+"int\n"
+"main(void)\n"
+"{\n"
+" char *p;\n"
+"\\&\n"
+" p = MALLOCARRAY(32, char);\n"
+" if (p == NULL)\n"
+" err(EXIT_FAILURE, \"malloc\");\n"
+"\\&\n"
+" strlcpy(p, \"foo\", 32);\n"
+" puts(p);\n"
+"}\n"
+"\\&\n"
+"static inline void *\n"
+"my_mallocarray(size_t nmemb, size_t size)\n"
+"{\n"
+" return reallocarray(NULL, nmemb, size);\n"
+"}\n"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SEE ALSO"
+msgstr "СМ. ТАКЖЕ"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<valgrind>(1), 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<valgrind>(1), 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: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"For details of the GNU C library implementation, see E<.UR https://"
+"sourceware.org/glibc/wiki/MallocInternals> E<.UE .>"
+msgstr ""
+"Информацию о реализации в библиотеке GNU C смотрите в E<.UR https://"
+"sourceware.org/glibc/wiki/MallocInternals> E<.UE .>"
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "2023-02-05"
+msgstr "5 февраля 2023 г."
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "Linux man-pages 6.03"
+msgstr "Linux man-pages 6.03"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, 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"
+"B<void *reallocarray(void >I<*ptr>B<, size_t >I<nmemb>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"
+"B<void *reallocarray(void >I<*ptr>B<, size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+msgid ""
+"Out of memory. Possibly, the application hit the B<RLIMIT_AS> or "
+"B<RLIMIT_DATA> limit described in B<getrlimit>(2)."
+msgstr ""
+"Не хватает памяти. Вероятно приложение достигнут лимит B<RLIMIT_AS> или "
+"B<RLIMIT_DATA>, описанный в B<getrlimit>(2)."
+
+#. type: SH
+#: debian-bookworm
+#, no-wrap
+msgid "VERSIONS"
+msgstr "ВЕРСИИ"
+
+#. type: Plain text
+#: debian-bookworm
+#, fuzzy
+#| msgid "B<memrchr>() first appeared in glibc in version 2.2."
+msgid "B<reallocarray>() was added in glibc 2.26."
+msgstr "Функция B<memrchr>() впервые появилась в glibc 2.2."
+
+#. type: Plain text
+#: debian-bookworm
+#, fuzzy
+#| msgid ""
+#| "B<malloc>(), B<free>(), B<calloc>(), B<realloc>(): POSIX.1-2001, "
+#| "POSIX.1-2008, C89, C99."
+msgid ""
+"B<malloc>(), B<free>(), B<calloc>(), B<realloc>(): POSIX.1-2001, "
+"POSIX.1-2008, C99."
+msgstr ""
+"B<malloc>(), B<free>(), B<calloc>(), B<realloc>(): POSIX.1-2001, "
+"POSIX.1-2008, C89, C99."
+
+#. type: Plain text
+#: debian-bookworm
+msgid ""
+"B<reallocarray>() is a nonstandard extension that first appeared in OpenBSD "
+"5.6 and FreeBSD 11.0."
+msgstr ""
+"Функция B<reallocarray>() является нестандартным расширением, впервые "
+"появилась в OpenBSD 5.6 и FreeBSD 11.0."
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "2023-07-20"
+msgstr "20 июля 2023 г."
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "Linux man-pages 6.05.01"
+msgstr "Linux man-pages 6.05.01"
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "2023-03-30"
+msgstr "30 марта 2023 г."
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "Linux man-pages 6.04"
+msgstr "Linux man-pages 6.04"
+
+#. type: Plain text
+#: opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| "#include E<lt>errno.hE<gt>\n"
+#| "#include E<lt>pthread.hE<gt>\n"
+#| "#include E<lt>stdio.hE<gt>\n"
+#| "#include E<lt>stdlib.hE<gt>\n"
+#| "#include E<lt>unistd.hE<gt>\n"
+msgid ""
+"#include E<lt>err.hE<gt>\n"
+"#include E<lt>stddef.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+msgstr ""
+"#include E<lt>errno.hE<gt>\n"
+"#include E<lt>pthread.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+
+#. type: Plain text
+#: opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"#define MALLOCARRAY(n, type) ((type *) my_mallocarray(n, sizeof(type)))\n"
+"#define MALLOC(type) MALLOCARRAY(1, type)\n"
+msgstr ""
+
+#. type: Plain text
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "static inline void *my_mallocarray(size_t nmemb, size_t size);\n"
+msgstr ""
+
+#. type: Plain text
+#: opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| "int\n"
+#| "main(int argc, char *argv[])\n"
+#| "{\n"
+#| " char *p;\n"
+msgid ""
+"int\n"
+"main(void)\n"
+"{\n"
+" char *p;\n"
+msgstr ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" char *p;\n"
+
+#. type: Plain text
+#: opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" p = MALLOCARRAY(32, char);\n"
+" if (p == NULL)\n"
+" err(EXIT_FAILURE, \"malloc\");\n"
+msgstr ""
+
+#. type: Plain text
+#: opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" strlcpy(p, \"foo\", 32);\n"
+" puts(p);\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"static inline void *\n"
+"my_mallocarray(size_t nmemb, size_t size)\n"
+"{\n"
+" return reallocarray(NULL, nmemb, size);\n"
+"}\n"
+msgstr ""