# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2024-03-01 17:09+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "stpncpy" msgstr "" #. type: TH #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2024-02-12" msgstr "" #. type: TH #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "" #. type: Plain text #: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" "stpncpy, strncpy - fill a fixed-size buffer with non-null bytes from a " "string, padding with null bytes as needed" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "LIBRARY" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Standard C library (I, 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 Estring.hE>\n" msgstr "" #. type: Plain text #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "" "BIB<[restrict .>IB<], const char *restrict >IB<,>\n" "B< size_t >IB<);>\n" "BIB<[restrict .>IB<], const char *restrict >IB<,>\n" "B< size_t >IB<);>\n" msgstr "" #. 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(7)):" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B():" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" " Since glibc 2.10:\n" " _POSIX_C_SOURCE E= 200809L\n" " Before glibc 2.10:\n" " _GNU_SOURCE\n" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "DESCRIPTION" msgstr "" #. type: Plain text #: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" "These functions copy non-null bytes from the string pointed to by I " "into the array pointed to by I. If the source has too few non-null " "bytes to fill the destination, the functions pad the destination with " "trailing null bytes. If the destination buffer, limited by its size, isn't " "large enough to hold the copy, the resulting character sequence is " "truncated. For the difference between the two functions, see RETURN VALUE." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "An implementation of these functions might be:" msgstr "" #. type: Plain text #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "" "char *\n" "strncpy(char *restrict dst, const char *restrict src, size_t dsize)\n" "{\n" " stpncpy(dst, src, dsize);\n" " return dst;\n" "}\n" "\\&\n" "char *\n" "stpncpy(char *restrict dst, const char *restrict src, size_t dsize)\n" "{\n" " size_t dlen;\n" "\\&\n" " dlen = strnlen(src, dsize);\n" " return memset(mempcpy(dst, src, dlen), 0, dsize - dlen);\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 "RETURN VALUE" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "returns I." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "returns a pointer to one after the last character in the destination " "character sequence." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ATTRIBUTES" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For an explanation of the terms used in this section, see B(7)." msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Interface" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Attribute" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Value" msgstr "" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".na\n" msgstr "" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".nh\n" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "B(),\n" "B()" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Thread safety" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "MT-Safe" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "STANDARDS" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "C11, POSIX.1-2008." msgstr "" #. #-#-#-#-# archlinux: stpncpy.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: Plain text #. #-#-#-#-# debian-bookworm: stpncpy.3.pot (PACKAGE VERSION) #-#-#-#-# #. Before that, it was a GNU extension. #. It first appeared in glibc 1.07 in 1993. #. type: Plain text #. #-#-#-#-# debian-unstable: stpncpy.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: Plain text #. #-#-#-#-# fedora-40: stpncpy.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: Plain text #. #-#-#-#-# fedora-rawhide: stpncpy.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: Plain text #. #-#-#-#-# mageia-cauldron: stpncpy.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: Plain text #. #-#-#-#-# opensuse-leap-15-6: stpncpy.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: Plain text #. #-#-#-#-# opensuse-tumbleweed: stpncpy.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "POSIX.1-2008." msgstr "" #. type: SH #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "HISTORY" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "C89, POSIX.1-2001, SVr4, 4.3BSD." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "glibc 1.07. POSIX.1-2008." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "CAVEATS" msgstr "" #. type: Plain text #: archlinux fedora-40 fedora-rawhide mageia-cauldron msgid "" "The name of these functions is confusing. These functions produce a null-" "padded character sequence, not a string (see B(7)). For " "example:" msgstr "" #. type: Plain text #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "" "strncpy(buf, \"1\", 5); // { \\[aq]1\\[aq], 0, 0, 0, 0 }\n" "strncpy(buf, \"1234\", 5); // { \\[aq]1\\[aq], \\[aq]2\\[aq], \\[aq]3\\[aq], \\[aq]4\\[aq], 0 }\n" "strncpy(buf, \"12345\", 5); // { \\[aq]1\\[aq], \\[aq]2\\[aq], \\[aq]3\\[aq], \\[aq]4\\[aq], \\[aq]5\\[aq] }\n" "strncpy(buf, \"123456\", 5); // { \\[aq]1\\[aq], \\[aq]2\\[aq], \\[aq]3\\[aq], \\[aq]4\\[aq], \\[aq]5\\[aq] }\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "It's impossible to distinguish truncation by the result of the call, from a " "character sequence that just fits the destination buffer; truncation should " "be detected by comparing the length of the input string with the size of the " "destination buffer." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If you're going to use this function in chained calls, it would be useful to " "develop a similar function that accepts a pointer to the end (one after the " "last element) of the destination buffer instead of its size." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "" #. type: Plain text #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "" "#include Eerr.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "\\&\n" "int\n" "main(void)\n" "{\n" " char *p;\n" " char buf1[20];\n" " char buf2[20];\n" " size_t len;\n" "\\&\n" " if (sizeof(buf2) E strlen(\"Hello world!\"))\n" " errx(\"strncpy: truncating character sequence\");\n" " strncpy(buf2, \"Hello world!\", sizeof(buf2));\n" " len = strnlen(buf2, sizeof(buf2));\n" "\\&\n" " printf(\"[len = %zu]: \", len);\n" " fwrite(buf2, 1, len, stdout);\n" " putchar(\\[aq]\\en\\[aq]);\n" "\\&\n" " if (sizeof(buf1) E strlen(\"Hello world!\"))\n" " errx(\"stpncpy: truncating character sequence\");\n" " p = stpncpy(buf1, \"Hello world!\", sizeof(buf1));\n" " len = p - buf1;\n" "\\&\n" " printf(\"[len = %zu]: \", len);\n" " fwrite(buf1, 1, len, stdout);\n" " putchar(\\[aq]\\en\\[aq]);\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. SRC END #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SEE ALSO" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B(3), B(7)" msgstr "" #. type: TH #: debian-bookworm #, no-wrap msgid "2023-01-26" msgstr "" #. type: TH #: debian-bookworm #, no-wrap msgid "Linux man-pages 6.03" msgstr "" #. type: Plain text #: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed msgid "" "stpncpy, strncpy - zero a fixed-width buffer and copy a string into a " "character sequence with truncation and zero the rest of it" msgstr "" #. type: Plain text #: debian-bookworm #, no-wrap msgid "" "BIB<[restrict .>IB<], const char *restrict >IB<,>\n" "B< size_t >IB<);>\n" "BIB<[restrict .>IB<], const char *restrict >IB<,>\n" "B< size_t >IB<);>\n" msgstr "" #. type: Plain text #: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed msgid "" "These functions copy the string pointed to by I into a null-padded " "character sequence at the fixed-width buffer pointed to by I. If the " "destination buffer, limited by its size, isn't large enough to hold the " "copy, the resulting character sequence is truncated. For the difference " "between the two functions, see RETURN VALUE." msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "char *\n" "stpncpy(char *restrict dst, const char *restrict src, size_t sz)\n" "{\n" " bzero(dst, sz);\n" " return mempcpy(dst, src, strnlen(src, sz));\n" "}\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "char *\n" "strncpy(char *restrict dst, const char *restrict src, size_t sz)\n" "{\n" " stpncpy(dst, src, sz);\n" " return dst;\n" "}\n" msgstr "" #. type: Plain text #: debian-bookworm msgid "POSIX.1-2001, POSIX.1-2008, C99, SVr4, 4.3BSD." msgstr "" #. type: Plain text #: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The name of these functions is confusing. These functions produce a null-" "padded character sequence, not a string (see B(7))." msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#include Eerr.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(void)\n" "{\n" " char *p;\n" " char buf1[20];\n" " char buf2[20];\n" " size_t len;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (sizeof(buf1) E strlen(\"Hello world!\"))\n" " warnx(\"stpncpy: truncating character sequence\");\n" " p = stpncpy(buf1, \"Hello world!\", sizeof(buf1));\n" " len = p - buf1;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " printf(\"[len = %zu]: \", len);\n" " printf(\"%.*s\\en\", (int) len, buf1); // \"Hello world!\"\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (sizeof(buf2) E strlen(\"Hello world!\"))\n" " warnx(\"strncpy: truncating character sequence\");\n" " strncpy(buf2, \"Hello world!\", sizeof(buf2));\n" " len = strnlen(buf2, sizeof(buf2));\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " printf(\"[len = %zu]: \", len);\n" " printf(\"%.*s\\en\", (int) len, buf2); // \"Hello world!\"\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. type: TH #: debian-unstable opensuse-tumbleweed #, no-wrap msgid "2023-07-20" msgstr "" #. type: TH #: debian-unstable opensuse-tumbleweed #, no-wrap msgid "Linux man-pages 6.05.01" msgstr "" #. type: Plain text #: debian-unstable opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BIB<[restrict .>IB<], const char *restrict >IB<,>\n" "B< size_t >IB<);>\n" "BIB<[restrict .>IB<], const char *restrict >IB<,>\n" "B< size_t >IB<);>\n" msgstr "" #. type: Plain text #: debian-unstable opensuse-tumbleweed #, no-wrap msgid "" "char *\n" "strncpy(char *restrict dst, const char *restrict src, size_t sz)\n" "{\n" " stpncpy(dst, src, sz);\n" " return dst;\n" "}\n" "\\&\n" "char *\n" "stpncpy(char *restrict dst, const char *restrict src, size_t sz)\n" "{\n" " bzero(dst, sz);\n" " return mempcpy(dst, src, strnlen(src, sz));\n" "}\n" msgstr "" #. type: Plain text #: debian-unstable opensuse-tumbleweed #, no-wrap msgid "" "#include Eerr.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "\\&\n" "int\n" "main(void)\n" "{\n" " char *p;\n" " char buf1[20];\n" " char buf2[20];\n" " size_t len;\n" "\\&\n" " if (sizeof(buf2) E strlen(\"Hello world!\"))\n" " warnx(\"strncpy: truncating character sequence\");\n" " strncpy(buf2, \"Hello world!\", sizeof(buf2));\n" " len = strnlen(buf2, sizeof(buf2));\n" "\\&\n" " printf(\"[len = %zu]: \", len);\n" " printf(\"%.*s\\en\", (int) len, buf2); // \"Hello world!\"\n" "\\&\n" " if (sizeof(buf1) E strlen(\"Hello world!\"))\n" " warnx(\"stpncpy: truncating character sequence\");\n" " p = stpncpy(buf1, \"Hello world!\", sizeof(buf1));\n" " len = p - buf1;\n" "\\&\n" " printf(\"[len = %zu]: \", len);\n" " printf(\"%.*s\\en\", (int) len, buf1); // \"Hello world!\"\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "2023-03-30" msgstr "" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr ""