# Russian translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Azamat Hackimov , 2017. # Dmitry Bolkhovskikh , 2017. # Yuri Kozlov , 2011-2019. # Иван Павлов , 2017. msgid "" msgstr "" "Project-Id-Version: manpages-l10n\n" "POT-Creation-Date: 2024-06-01 05:50+0200\n" "PO-Revision-Date: 2019-09-27 19:31+0300\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \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()" msgid "fopencookie" msgstr "B()" #. type: TH #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "2 мая 2024 г." #. type: TH #: archlinux debian-unstable #, fuzzy, no-wrap #| msgid "Linux man-pages 6.7" msgid "Linux man-pages 6.8" msgstr "Linux man-pages 6.7" #. 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-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, fuzzy #| msgid "fopencookie - opening a custom stream" msgid "fopencookie - open a custom stream" msgstr "fopencookie - открывает нестандартный поток" #. 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, 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-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "" #| "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" #| "B<#include Estdio.hE>\n" msgid "" "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" "B<#define _FILE_OFFSET_BITS 64>\n" "B<#include Estdio.hE>\n" msgstr "" "B<#define _GNU_SOURCE> /* см. feature_test_macros(7) */\n" "B<#include Estdio.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "" #| "BIB<, const char *>IB<,>\n" #| "B< cookie_io_functions_t >IB<);>\n" msgid "" "BIB<, const char *restrict >IB<,>\n" "B< cookie_io_functions_t >IB<);>\n" msgstr "" "BIB<, const char *>IB<,>\n" "B< cookie_io_functions_t >IB<);>\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: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() function allows the programmer to create a custom " "implementation for a standard I/O stream. This implementation can store the " "stream's data at a location of its own choosing; for example, " "B() is used to implement B(3), which provides a " "stream interface to data that is stored in a buffer in memory." msgstr "" "Функция B() позволяет программисту создать нестандартную " "реализацию стандартного потока ввода-вывода. Эта реализация может хранить " "данные потока в расположении по своему выбору; например, B() " "используется для реализации функции B(3), которая предоставляет " "потоковый интерфейс для данных, хранящихся в буфере в памяти." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "In order to create a custom stream the programmer must:" msgstr "Для создания нестандартного потока программист должен:" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "\\[bu]" msgstr "\\[bu]" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Implement four \"hook\" functions that are used internally by the standard I/" "O library when performing I/O on the stream." msgstr "" "Реализовать четыре «обрабатывающих» (hook) функции, которые используются " "внутри стандартной библиотеки ввода-вывода при операциях ввода-вывода над " "потоком." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "Define a \"cookie\" data type, a structure that provides bookkeeping " #| "information (e.g., where to store data) used by the aforementioned hook " #| "functions. The standard I/O package knows nothing about the contents of " #| "this cookie (thus it is typed as I when passed to " #| "B()), but automatically supplies the cookie as the first " #| "argument when calling the hook functions." msgid "" "Define a \"cookie\" data type, a structure that provides bookkeeping " "information (e.g., where to store data) used by the aforementioned hook " "functions. The standard I/O package knows nothing about the contents of " "this cookie (thus it is typed as I when passed to " "B()), but automatically supplies the cookie as the first " "argument when calling the hook functions." msgstr "" "Определить тип данных «cookie» — структуру для учёта информации (например, " "где хранятся данные), используемую вышеупомянутыми обрабатывающими " "функциями. Стандартный пакет ввода-вывода ничего не знает о содержимом этого " "cookie (к нему обращаются как к I при передаче в " "B()), но автоматически передаёт cookie в первом аргументе при " "вызове обрабатывающих функций." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Call B() to open a new stream and associate the cookie and " "hook functions with that stream." msgstr "" "Вызвать B() для открытия нового потока и связывания cookie и " "обрабатывающими функциями с этим потоком." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() function serves a purpose similar to B(3): it " "opens a new stream and returns a pointer to a I object that is used to " "operate on that stream." msgstr "" "Функция B() подобна B(3): она открывает новый поток и " "возвращает указатель на объект I, который используется для работы с " "потоком." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I argument is a pointer to the caller's cookie structure that is " "to be associated with the new stream. This pointer is supplied as the first " "argument when the standard I/O library invokes any of the hook functions " "described below." msgstr "" "Аргумент I — это указатель на структуру cookie вызывающего, которая " "связывается с новым потоком. Данный указатель передаётся в первом аргументе " "в моменты, когда стандартная библиотека ввода-вывода вызывает одну из " "обрабатывающих функций, описанных ниже." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I argument serves the same purpose as for B(3). The " "following modes are supported: I, I, I, I, I, and I. " "See B(3) for details." msgstr "" "Аргумент I служит той же цели что и для B(3). Поддерживаются " "следующие режимы: I, I, I, I, I и I. Подробности " "смотрите в B(3)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I argument is a structure that contains four fields pointing " "to the programmer-defined hook functions that are used to implement this " "stream. The structure is defined as follows" msgstr "" "Аргумент I — это структура, которая содержит четыре поля с " "задаваемыми программистом обрабатывающими функциями, которые используются " "для реализации этого потока. Структура определена как" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "typedef struct {\n" " cookie_read_function_t *read;\n" " cookie_write_function_t *write;\n" " cookie_seek_function_t *seek;\n" " cookie_close_function_t *close;\n" "} cookie_io_functions_t;\n" msgstr "" "typedef struct {\n" " cookie_read_function_t *read;\n" " cookie_write_function_t *write;\n" " cookie_seek_function_t *seek;\n" " cookie_close_function_t *close;\n" "} cookie_io_functions_t;\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The four fields are as follows:" msgstr "Поля:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This function implements read operations for the stream. When called, it " "receives three arguments:" msgstr "" "Эта функция реализует операции чтения из потока. Она вызывается с тремя " "аргументами:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid " ssize_t read(void *cookie, char *buf, size_t size);\n" msgid "ssize_t read(void *cookie, char *buf, size_t size);\n" msgstr " ssize_t read(void *cookie, char *buf, size_t size);\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I and I arguments are, respectively, a buffer into which " "input data can be placed and the size of that buffer. As its function " "result, the I function should return the number of bytes copied into " "I, 0 on end of file, or -1 on error. The I function should " "update the stream offset appropriately." msgstr "" "Аргументы I и I — буфер для получаемых данных и его размер. В " "качестве результата функция I возвращает количество байт, " "скопированных в I, 0 — при окончании файла и -1 при ошибке. Функция " "I обновляет смещение в потоке соответствующим образом." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If I<*read> is a null pointer, then reads from the custom stream always " "return end of file." msgstr "" "Если значение I<*read> равно null, то при чтении из нестандартного потока " "всегда возвращается конец файла." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This function implements write operations for the stream. When called, it " "receives three arguments:" msgstr "" "Эта функция реализует операции записи в поток. Она вызывается с тремя " "аргументами:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid " ssize_t write(void *cookie, const char *buf, size_t size);\n" msgid "ssize_t write(void *cookie, const char *buf, size_t size);\n" msgstr " ssize_t write(void *cookie, const char *buf, size_t size);\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I and I arguments are, respectively, a buffer of data to be " "output to the stream and the size of that buffer. As its function result, " "the I function should return the number of bytes copied from I, " "or 0 on error. (The function must not return a negative value.) The " "I function should update the stream offset appropriately." msgstr "" "Аргументы I и I — буфер для выходных данных и его размер (данные, " "записываемые в поток). В качестве результата функция I возвращает " "количество байт, скопированных из I, и 0 при ошибке (функция не должна " "возвращать отрицательное значение). Функция I обновляет смещение в " "потоке соответствующим образом." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "If I<*write> is a null pointer, then output to the stream is discarded." msgstr "Если значение I<*write> равно null, то вывод в поток отбрасывается." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This function implements seek operations on the stream. When called, it " "receives three arguments:" msgstr "" "Эта функция реализует операции смещения в потоке. Она вызывается с тремя " "аргументами:" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid " int seek(void *cookie, off64_t *offset, int whence);\n" msgid "int seek(void *cookie, off_t *offset, int whence);\n" msgstr " int seek(void *cookie, off64_t *offset, int whence);\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I<*offset> argument specifies the new file offset depending on which of " "the following three values is supplied in I:" msgstr "" "В аргументе I<*offset> указывается новое файловое смещение, зависящее от " "значения I:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The stream offset should be set I<*offset> bytes from the start of the " "stream." msgstr "Значение смещения приравнивается I<*offset> байт от начала потока." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I<*offset> should be added to the current stream offset." msgstr "" "Значение I<*offset> должно быть добавлено к текущему смещению в потоке." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The stream offset should be set to the size of the stream plus I<*offset>." msgstr "Значение смещения приравнивается к размеру потока плюс I<*offset>." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Before returning, the I function should update I<*offset> to indicate " "the new stream offset." msgstr "" "Перед возвратом функция I должна обновить I<*offset>, чтобы показать " "новое смещение в потоке." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "As its function result, the I function should return 0 on success, and " "-1 on error." msgstr "" "В качестве результата функция I должна возвращать 0 при успешном " "выполнении и -1 при ошибке." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If I<*seek> is a null pointer, then it is not possible to perform seek " "operations on the stream." msgstr "" "Если значение I<*seek> равно null, то операции смещения в потоке выполнить " "невозможно." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This function closes the stream. The hook function can do things such as " "freeing buffers allocated for the stream. When called, it receives one " "argument:" msgstr "" "Эта функция закрывает поток. Обрабатывающая функция может выполнить такие " "операции как освобождение буферов, выделенных для потока. При вызове она " "принимает один аргумент:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid " int close(void *cookie);\n" msgid "int close(void *cookie);\n" msgstr " int close(void *cookie);\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I argument is the cookie that the programmer supplied when " "calling B()." msgstr "" "Аргумент I — это cookie, которую программист передал при вызове " "B()." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "As its function result, the I function should return 0 on success, " "and B on error." msgstr "" "В качестве результата функция I должна возвращать 0 при успешном " "выполнении и B при ошибке." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If I<*close> is NULL, then no special action is performed when the stream is " "closed." msgstr "" "Если значение I<*close> равно NULL, то при закрытии потока не выполняется " "никаких действий." #. 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 "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" #. .SH ERRORS #. It's not clear if errno ever gets set... #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On success B() returns a pointer to the new stream. On error, " "NULL is returned." msgstr "" "При успешном выполнении B() возвращает указатель на новый " "поток. При ошибке возвращается NULL." #. 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(7)." msgstr "Описание терминов данного раздела смотрите в B(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 #, no-wrap msgid "B()" msgstr "B()" #. 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: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "GNU." msgstr "GNU." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "ПРИМЕРЫ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The program below implements a custom stream whose functionality is similar " "(but not identical) to that available via B(3). It implements a " "stream whose data is stored in a memory buffer. The program writes its " "command-line arguments to the stream, and then seeks through the stream " "reading two out of every five characters and writing them to standard " "output. The following shell session demonstrates the use of the program:" msgstr "" "Программа, представленная ниже, реализует нестандартный поток, свойства " "которого похожи (но не одинаковы) на свойство потока, получаемого от " "B(3). Она реализует поток, данные которого хранятся в буфере " "памяти. Программа записывает свои аргументы командной строки в поток, а " "затем перемещается по потоку, читая два из каждых пяти символов и записывая " "их в стандартный вывод. Сеанс оболочки, демонстрирующий использование " "программы:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "" #| "$B< ./a.out \\(aqhello world\\(aq>\n" #| "/he/\n" #| "/ w/\n" #| "/d/\n" #| "Reached end of file\n" msgid "" "$B< ./a.out \\[aq]hello world\\[aq]>\n" "/he/\n" "/ w/\n" "/d/\n" "Reached end of file\n" msgstr "" "$B< ./a.out \\(aqhello world\\(aq>\n" "/he/\n" "/ w/\n" "/d/\n" "Достигнут конец файла\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Note that a more general version of the program below could be improved to " "more robustly handle various error situations (e.g., opening a stream with a " "cookie that already has an open stream; closing a stream that has already " "been closed)." msgstr "" "Заметим, что представленную версию можно сильно улучшить, добавив обработку " "ошибок (например, открытие потока с cookie, которая уже имеет открытый " "поток; закрытие потока, который уже был закрыт)." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Program source" msgstr "Исходный код программы" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "#define _GNU_SOURCE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/types.hE\n" "#include Eunistd.hE\n" "\\&\n" "#define INIT_BUF_SIZE 4\n" "\\&\n" "struct memfile_cookie {\n" " char *buf; /* Dynamically sized buffer for data */\n" " size_t allocated; /* Size of buf */\n" " size_t endpos; /* Number of characters in buf */\n" " off_t offset; /* Current file offset in buf */\n" "};\n" "\\&\n" "ssize_t\n" "memfile_write(void *c, const char *buf, size_t size)\n" "{\n" " char *new_buff;\n" " struct memfile_cookie *cookie = c;\n" "\\&\n" " /* Buffer too small? Keep doubling size until big enough. */\n" "\\&\n" " while (size + cookie-Eoffset E cookie-Eallocated) {\n" " new_buff = realloc(cookie-Ebuf, cookie-Eallocated * 2);\n" " if (new_buff == NULL)\n" " return -1;\n" " cookie-Eallocated *= 2;\n" " cookie-Ebuf = new_buff;\n" " }\n" "\\&\n" " memcpy(cookie-Ebuf + cookie-Eoffset, buf, size);\n" "\\&\n" " cookie-Eoffset += size;\n" " if (cookie-Eoffset E cookie-Eendpos)\n" " cookie-Eendpos = cookie-Eoffset;\n" "\\&\n" " return size;\n" "}\n" "\\&\n" "ssize_t\n" "memfile_read(void *c, char *buf, size_t size)\n" "{\n" " ssize_t xbytes;\n" " struct memfile_cookie *cookie = c;\n" "\\&\n" " /* Fetch minimum of bytes requested and bytes available. */\n" "\\&\n" " xbytes = size;\n" " if (cookie-Eoffset + size E cookie-Eendpos)\n" " xbytes = cookie-Eendpos - cookie-Eoffset;\n" " if (xbytes E 0) /* offset may be past endpos */\n" " xbytes = 0;\n" "\\&\n" " memcpy(buf, cookie-Ebuf + cookie-Eoffset, xbytes);\n" "\\&\n" " cookie-Eoffset += xbytes;\n" " return xbytes;\n" "}\n" "\\&\n" "int\n" "memfile_seek(void *c, off_t *offset, int whence)\n" "{\n" " off_t new_offset;\n" " struct memfile_cookie *cookie = c;\n" "\\&\n" " if (whence == SEEK_SET)\n" " new_offset = *offset;\n" " else if (whence == SEEK_END)\n" " new_offset = cookie-Eendpos + *offset;\n" " else if (whence == SEEK_CUR)\n" " new_offset = cookie-Eoffset + *offset;\n" " else\n" " return -1;\n" "\\&\n" " if (new_offset E 0)\n" " return -1;\n" "\\&\n" " cookie-Eoffset = new_offset;\n" " *offset = new_offset;\n" " return 0;\n" "}\n" "\\&\n" "int\n" "memfile_close(void *c)\n" "{\n" " struct memfile_cookie *cookie = c;\n" "\\&\n" " free(cookie-Ebuf);\n" " cookie-Eallocated = 0;\n" " cookie-Ebuf = NULL;\n" "\\&\n" " return 0;\n" "}\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " cookie_io_functions_t memfile_func = {\n" " .read = memfile_read,\n" " .write = memfile_write,\n" " .seek = memfile_seek,\n" " .close = memfile_close\n" " };\n" " FILE *stream;\n" " struct memfile_cookie mycookie;\n" " size_t nread;\n" " char buf[1000];\n" "\\&\n" " /* Set up the cookie before calling fopencookie(). */\n" "\\&\n" " mycookie.buf = malloc(INIT_BUF_SIZE);\n" " if (mycookie.buf == NULL) {\n" " perror(\"malloc\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " mycookie.allocated = INIT_BUF_SIZE;\n" " mycookie.offset = 0;\n" " mycookie.endpos = 0;\n" "\\&\n" " stream = fopencookie(&mycookie, \"w+\", memfile_func);\n" " if (stream == NULL) {\n" " perror(\"fopencookie\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Write command-line arguments to our file. */\n" "\\&\n" " for (size_t j = 1; j E argc; j++)\n" " if (fputs(argv[j], stream) == EOF) {\n" " perror(\"fputs\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Read two bytes out of every five, until EOF. */\n" "\\&\n" " for (long p = 0; ; p += 5) {\n" " if (fseek(stream, p, SEEK_SET) == -1) {\n" " perror(\"fseek\");\n" " exit(EXIT_FAILURE);\n" " }\n" " nread = fread(buf, 1, 2, stream);\n" " if (nread == 0) {\n" " if (ferror(stream) != 0) {\n" " fprintf(stderr, \"fread failed\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" " printf(\"Reached end of file\\en\");\n" " break;\n" " }\n" "\\&\n" " printf(\"/%.*s/\\en\", (int) nread, buf);\n" " }\n" "\\&\n" " free(mycookie.buf);\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. SRC END #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "NOTES" msgstr "ПРИМЕЧАНИЯ" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "B<_FILE_OFFSET_BITS> should be defined to be 64 in code that uses non-null " "I or that takes the address of B, if the code is intended " "to be portable to traditional 32-bit x86 and ARM platforms where B's " "width defaults to 32 bits." msgstr "" #. #-#-#-#-# archlinux: fopencookie.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: SH #. #-#-#-#-# debian-bookworm: fopencookie.3.pot (PACKAGE VERSION) #-#-#-#-# #. SRC END #. type: SH #. #-#-#-#-# debian-unstable: fopencookie.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: SH #. #-#-#-#-# fedora-40: fopencookie.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: SH #. #-#-#-#-# fedora-rawhide: fopencookie.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: SH #. #-#-#-#-# mageia-cauldron: fopencookie.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: SH #. #-#-#-#-# opensuse-leap-15-6: fopencookie.3.pot (PACKAGE VERSION) #-#-#-#-# #. SRC END #. type: SH #. #-#-#-#-# opensuse-tumbleweed: fopencookie.3.pot (PACKAGE VERSION) #-#-#-#-# #. 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(3), B(3), B(3), B(3)" msgstr "B(3), B(3), B(3), B(3)" #. 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 msgid "fopencookie - opening a custom stream" msgstr "fopencookie - открывает нестандартный поток" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" "B<#include Estdio.hE>\n" msgstr "" "B<#define _GNU_SOURCE> /* см. feature_test_macros(7) */\n" "B<#include Estdio.hE>\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid " int seek(void *cookie, off64_t *offset, int whence);\n" msgid "int seek(void *cookie, off64_t *offset, int whence);\n" msgstr " int seek(void *cookie, off64_t *offset, int whence);\n" #. type: Plain text #: debian-bookworm msgid "This function is a nonstandard GNU extension." msgstr "Эта функция является нестандартным расширением GNU." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| "#define _GNU_SOURCE\n" #| "#include Esys/types.hE\n" #| "#include Estdio.hE\n" #| "#include Estdlib.hE\n" #| "#include Eunistd.hE\n" #| "#include Estring.hE\n" msgid "" "#define _GNU_SOURCE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/types.hE\n" "#include Eunistd.hE\n" msgstr "" "#define _GNU_SOURCE\n" "#include Esys/types.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Eunistd.hE\n" "#include Estring.hE\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "#define INIT_BUF_SIZE 4\n" msgstr "#define INIT_BUF_SIZE 4\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "struct memfile_cookie {\n" " char *buf; /* Dynamically sized buffer for data */\n" " size_t allocated; /* Size of buf */\n" " size_t endpos; /* Number of characters in buf */\n" " off_t offset; /* Current file offset in buf */\n" "};\n" msgstr "" "struct memfile_cookie {\n" " char *buf; /* динамически изменяемый буфер для данных */\n" " size_t allocated; /* размер буфера */\n" " size_t endpos; /* количество символов в буфере */\n" " off_t offset; /* текущее файловое смещение в буфере */\n" "};\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "ssize_t\n" "memfile_write(void *c, const char *buf, size_t size)\n" "{\n" " char *new_buff;\n" " struct memfile_cookie *cookie = c;\n" msgstr "" "ssize_t\n" "memfile_write(void *c, const char *buf, size_t size)\n" "{\n" " char *new_buff;\n" " struct memfile_cookie *cookie = c;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid " /* Buffer too small? Keep doubling size until big enough */\n" msgid " /* Buffer too small? Keep doubling size until big enough. */\n" msgstr " /* Буфер мал? Удваиваем размер, пока не станет достаточным */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " while (size + cookie-Eoffset E cookie-Eallocated) {\n" #| " new_buff = realloc(cookie-Ebuf, cookie-Eallocated * 2);\n" #| " if (new_buff == NULL) {\n" #| " return -1;\n" #| " } else {\n" #| " cookie-Eallocated *= 2;\n" #| " cookie-Ebuf = new_buff;\n" #| " }\n" #| " }\n" msgid "" " while (size + cookie-Eoffset E cookie-Eallocated) {\n" " new_buff = realloc(cookie-Ebuf, cookie-Eallocated * 2);\n" " if (new_buff == NULL)\n" " return -1;\n" " cookie-Eallocated *= 2;\n" " cookie-Ebuf = new_buff;\n" " }\n" msgstr "" " while (size + cookie-Eoffset E cookie-Eallocated) {\n" " new_buff = realloc(cookie-Ebuf, cookie-Eallocated * 2);\n" " if (new_buff == NULL) {\n" " return -1;\n" " } else {\n" " cookie-Eallocated *= 2;\n" " cookie-Ebuf = new_buff;\n" " }\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " memcpy(cookie-Ebuf + cookie-Eoffset, buf, size);\n" msgstr " memcpy(cookie-Ebuf + cookie-Eoffset, buf, size);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " cookie-Eoffset += size;\n" " if (cookie-Eoffset E cookie-Eendpos)\n" " cookie-Eendpos = cookie-Eoffset;\n" msgstr "" " cookie-Eoffset += size;\n" " if (cookie-Eoffset E cookie-Eendpos)\n" " cookie-Eendpos = cookie-Eoffset;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " return size;\n" "}\n" msgstr "" " return size;\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "ssize_t\n" "memfile_read(void *c, char *buf, size_t size)\n" "{\n" " ssize_t xbytes;\n" " struct memfile_cookie *cookie = c;\n" msgstr "" "ssize_t\n" "memfile_read(void *c, char *buf, size_t size)\n" "{\n" " ssize_t xbytes;\n" " struct memfile_cookie *cookie = c;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid " /* Fetch minimum of bytes requested and bytes available */\n" msgid " /* Fetch minimum of bytes requested and bytes available. */\n" msgstr " /* Выбираем минимум запрашиваемых и доступных байт */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " xbytes = size;\n" #| " if (cookie-Eoffset + size E cookie-Eendpos)\n" #| " xbytes = cookie-Eendpos - cookie-Eoffset;\n" #| " if (xbytes E 0) /* offset may be past endpos */\n" #| " xbytes = 0;\n" msgid "" " xbytes = size;\n" " if (cookie-Eoffset + size E cookie-Eendpos)\n" " xbytes = cookie-Eendpos - cookie-Eoffset;\n" " if (xbytes E 0) /* offset may be past endpos */\n" " xbytes = 0;\n" msgstr "" " xbytes = size;\n" " if (cookie-Eoffset + size E cookie-Eendpos)\n" " xbytes = cookie-Eendpos - cookie-Eoffset;\n" " if (xbytes E 0) /* смещение может быть за endpos */\n" " xbytes = 0;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " memcpy(buf, cookie-Ebuf + cookie-Eoffset, xbytes);\n" msgstr " memcpy(buf, cookie-Ebuf + cookie-Eoffset, xbytes);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " cookie-Eoffset += xbytes;\n" " return xbytes;\n" "}\n" msgstr "" " cookie-Eoffset += xbytes;\n" " return xbytes;\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "memfile_seek(void *c, off64_t *offset, int whence)\n" "{\n" " off64_t new_offset;\n" " struct memfile_cookie *cookie = c;\n" msgstr "" "int\n" "memfile_seek(void *c, off64_t *offset, int whence)\n" "{\n" " off64_t new_offset;\n" " struct memfile_cookie *cookie = c;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (whence == SEEK_SET)\n" " new_offset = *offset;\n" " else if (whence == SEEK_END)\n" " new_offset = cookie-Eendpos + *offset;\n" " else if (whence == SEEK_CUR)\n" " new_offset = cookie-Eoffset + *offset;\n" " else\n" " return -1;\n" msgstr "" " if (whence == SEEK_SET)\n" " new_offset = *offset;\n" " else if (whence == SEEK_END)\n" " new_offset = cookie-Eendpos + *offset;\n" " else if (whence == SEEK_CUR)\n" " new_offset = cookie-Eoffset + *offset;\n" " else\n" " return -1;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (new_offset E 0)\n" " return -1;\n" msgstr "" " if (new_offset E 0)\n" " return -1;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " cookie-Eoffset = new_offset;\n" " *offset = new_offset;\n" " return 0;\n" "}\n" msgstr "" " cookie-Eoffset = new_offset;\n" " *offset = new_offset;\n" " return 0;\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "memfile_close(void *c)\n" "{\n" " struct memfile_cookie *cookie = c;\n" msgstr "" "int\n" "memfile_close(void *c)\n" "{\n" " struct memfile_cookie *cookie = c;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " free(cookie-Ebuf);\n" " cookie-Eallocated = 0;\n" " cookie-Ebuf = NULL;\n" msgstr "" " free(cookie-Ebuf);\n" " cookie-Eallocated = 0;\n" " cookie-Ebuf = NULL;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " return 0;\n" "}\n" msgstr "" " return 0;\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| "int\n" #| "main(int argc, char *argv[])\n" #| "{\n" #| " cookie_io_functions_t memfile_func = {\n" #| " .read = memfile_read,\n" #| " .write = memfile_write,\n" #| " .seek = memfile_seek,\n" #| " .close = memfile_close\n" #| " };\n" #| " FILE *stream;\n" #| " struct memfile_cookie mycookie;\n" #| " ssize_t nread;\n" #| " long p;\n" #| " int j;\n" #| " char buf[1000];\n" msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " cookie_io_functions_t memfile_func = {\n" " .read = memfile_read,\n" " .write = memfile_write,\n" " .seek = memfile_seek,\n" " .close = memfile_close\n" " };\n" " FILE *stream;\n" " struct memfile_cookie mycookie;\n" " size_t nread;\n" " char buf[1000];\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " cookie_io_functions_t memfile_func = {\n" " .read = memfile_read,\n" " .write = memfile_write,\n" " .seek = memfile_seek,\n" " .close = memfile_close\n" " };\n" " FILE *stream;\n" " struct memfile_cookie mycookie;\n" " ssize_t nread;\n" " long p;\n" " int j;\n" " char buf[1000];\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid " /* Set up the cookie before calling fopencookie() */\n" msgid " /* Set up the cookie before calling fopencookie(). */\n" msgstr " /* Устанавливаем cookie перед вызовом fopencookie() */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " mycookie.buf = malloc(INIT_BUF_SIZE);\n" " if (mycookie.buf == NULL) {\n" " perror(\"malloc\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " mycookie.buf = malloc(INIT_BUF_SIZE);\n" " if (mycookie.buf == NULL) {\n" " perror(\"malloc\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " mycookie.allocated = INIT_BUF_SIZE;\n" " mycookie.offset = 0;\n" " mycookie.endpos = 0;\n" msgstr "" " mycookie.allocated = INIT_BUF_SIZE;\n" " mycookie.offset = 0;\n" " mycookie.endpos = 0;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " stream = fopencookie(&mycookie,\"w+\", memfile_func);\n" #| " if (stream == NULL) {\n" #| " perror(\"fopencookie\");\n" #| " exit(EXIT_FAILURE);\n" #| " }\n" msgid "" " stream = fopencookie(&mycookie, \"w+\", memfile_func);\n" " if (stream == NULL) {\n" " perror(\"fopencookie\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " stream = fopencookie(&mycookie,\"w+\", memfile_func);\n" " if (stream == NULL) {\n" " perror(\"fopencookie\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid " /* Write command-line arguments to our file */\n" msgid " /* Write command-line arguments to our file. */\n" msgstr " /* Записываем аргументы командной строки в файл */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " for (j = 1; j E argc; j++)\n" #| " if (fputs(argv[j], stream) == EOF) {\n" #| " perror(\"fputs\");\n" #| " exit(EXIT_FAILURE);\n" #| " }\n" msgid "" " for (size_t j = 1; j E argc; j++)\n" " if (fputs(argv[j], stream) == EOF) {\n" " perror(\"fputs\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " for (j = 1; j E argc; j++)\n" " if (fputs(argv[j], stream) == EOF) {\n" " perror(\"fputs\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid " /* Read two bytes out of every five, until EOF */\n" msgid " /* Read two bytes out of every five, until EOF. */\n" msgstr " /* Читаем два байта из пяти пока не получим EOF */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " for (p = 0; ; p += 5) {\n" #| " if (fseek(stream, p, SEEK_SET) == -1) {\n" #| " perror(\"fseek\");\n" #| " exit(EXIT_FAILURE);\n" #| " }\n" #| " nread = fread(buf, 1, 2, stream);\n" #| " if (nread == -1) {\n" #| " perror(\"fread\");\n" #| " exit(EXIT_FAILURE);\n" #| " }\n" #| " if (nread == 0) {\n" #| " printf(\"Reached end of file\\en\");\n" #| " break;\n" #| " }\n" msgid "" " for (long p = 0; ; p += 5) {\n" " if (fseek(stream, p, SEEK_SET) == -1) {\n" " perror(\"fseek\");\n" " exit(EXIT_FAILURE);\n" " }\n" " nread = fread(buf, 1, 2, stream);\n" " if (nread == 0) {\n" " if (ferror(stream) != 0) {\n" " fprintf(stderr, \"fread failed\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" " printf(\"Reached end of file\\en\");\n" " break;\n" " }\n" msgstr "" " for (p = 0; ; p += 5) {\n" " if (fseek(stream, p, SEEK_SET) == -1) {\n" " perror(\"fseek\");\n" " exit(EXIT_FAILURE);\n" " }\n" " nread = fread(buf, 1, 2, stream);\n" " if (nread == -1) {\n" " perror(\"fread\");\n" " exit(EXIT_FAILURE);\n" " }\n" " if (nread == 0) {\n" " printf(\"Достигнут конец файла\\en\");\n" " break;\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " printf(\"/%.*s/\\en\", nread, buf);\n" #| " }\n" msgid "" " printf(\"/%.*s/\\en\", (int) nread, buf);\n" " }\n" msgstr "" " printf(\"/%.*s/\\en\", nread, buf);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid " fclose(fp);\n" msgid " free(mycookie.buf);\n" msgstr " fclose(fp);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" " exit(EXIT_SUCCESS);\n" "}\n" #. type: TH #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-12-29" msgstr "29 декабря 2023 г." #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Linux man-pages 6.06" #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "Linux man-pages 6.7" #. 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: TH #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "Linux man-pages 6.7" msgid "Linux man-pages (unreleased)" msgstr "Linux man-pages 6.7"