# 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-06-01 05:52+0200\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 "getopt" msgstr "" #. type: TH #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "" #. type: TH #: archlinux debian-unstable #, no-wrap msgid "Linux man-pages 6.8" 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 debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "getopt, getopt_long, getopt_long_only, optarg, optind, opterr, optopt - " "Parse command-line options" 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 Eunistd.hE>\n" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BIB<, char *>IB<[],>\n" "B< const char *>IB<);>\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BIB<;>\n" "BIB<, >IB<, >IB<;>\n" 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 Egetopt.hE>\n" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BIB<, char *>IB<[],>\n" "B< const char *>IB<,>\n" "B< const struct option *>IB<, int *>IB<);>\n" "BIB<, char *>IB<[],>\n" "B< const char *>IB<,>\n" "B< const struct option *>IB<, int *>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 "" #. #-#-#-#-# archlinux: getopt.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: Plain text #. #-#-#-#-# debian-bookworm: getopt.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: TP #. #-#-#-#-# debian-unstable: getopt.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: Plain text #. #-#-#-#-# fedora-40: getopt.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: Plain text #. #-#-#-#-# fedora-rawhide: getopt.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: Plain text #. #-#-#-#-# mageia-cauldron: getopt.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: Plain text #. #-#-#-#-# opensuse-leap-15-6: getopt.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: Plain text #. #-#-#-#-# opensuse-tumbleweed: getopt.3.pot (PACKAGE VERSION) #-#-#-#-# #. type: Plain text #: 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 #, no-wrap msgid " _POSIX_C_SOURCE E= 2 || _XOPEN_SOURCE\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B(), 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 " _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 debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() function parses the command-line arguments. Its arguments " "I and I are the argument count and array as passed to the " "I
() function on program invocation. An element of I that " "starts with \\[aq]-\\[aq] (and is not exactly \"-\" or \"--\") is an option " "element. The characters of this element (aside from the initial \\[aq]-" "\\[aq]) are option characters. If B() is called repeatedly, it " "returns successively each of the option characters from each of the option " "elements." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The variable I is the index of the next element to be processed in " "I. The system initializes this value to 1. The caller can reset it " "to 1 to restart scanning of the same I, or when scanning a new " "argument vector." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If B() finds another option character, it returns that character, " "updating the external variable I and a static variable I " "so that the next call to B() can resume the scan with the following " "option character or I-element." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If there are no more option characters, B() returns -1. Then " "I is the index in I of the first I-element that is not " "an option." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is a string containing the legitimate option characters. A " "legitimate option character is any visible one byte B(7) character " "(for which B(3) would return nonzero) that is not \\[aq]-\\[aq], " "\\[aq]:\\[aq], or \\[aq];\\[aq]. If such a character is followed by a " "colon, the option requires an argument, so B() places a pointer to " "the following text in the same I-element, or the text of the following " "I-element, in I. Two colons mean an option takes an optional " "arg; if there is text in the current I-element (i.e., in the same word " "as the option name itself, for example, \"-oarg\"), then it is returned in " "I, otherwise I is set to zero. This is a GNU extension. If " "I contains B followed by a semicolon, then B<-W foo> is " "treated as the long option B<--foo>. (The B<-W> option is reserved by " "POSIX.2 for implementation extensions.) This behavior is a GNU extension, " "not available with libraries before glibc 2." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "By default, B() permutes the contents of I as it scans, so " "that eventually all the nonoptions are at the end. Two other scanning modes " "are also implemented. If the first character of I is \\[aq]+" "\\[aq] or the environment variable B is set, then option " "processing stops as soon as a nonoption argument is encountered. If \\[aq]+" "\\[aq] is not the first character of I, it is treated as a normal " "option. If B behaviour is required in this case " "I will contain two \\[aq]+\\[aq] symbols. If the first character " "of I is \\[aq]-\\[aq], then each nonoption I-element is " "handled as if it were the argument of an option with character code 1. " "(This is used by programs that were written to expect options and other " "I-elements in any order and that care about the ordering of the two.) " "The special argument \"--\" forces an end of option-scanning regardless of " "the scanning mode." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "While processing the option list, B() can detect two kinds of " "errors: (1) an option character that was not specified in I and " "(2) a missing option argument (i.e., an option at the end of the command " "line without an expected argument). Such errors are handled and reported as " "follows:" 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 "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "By default, B() prints an error message on standard error, places " "the erroneous option character in I, and returns \\[aq]?\\[aq] as " "the function result." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the caller has set the global variable I to zero, then " "B() does not print an error message. The caller can determine that " "there was an error by testing whether the function return value is \\[aq]?" "\\[aq]. (By default, I has a nonzero value.)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the first character (following any optional \\[aq]+\\[aq] or \\[aq]-" "\\[aq] described above) of I is a colon (\\[aq]:\\[aq]), then " "B() likewise does not print an error message. In addition, it " "returns \\[aq]:\\[aq] instead of \\[aq]?\\[aq] to indicate a missing option " "argument. This allows the caller to distinguish the two different types of " "errors." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "getopt_long() and getopt_long_only()" 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 works like B() except that it also " "accepts long options, started with two dashes. (If the program accepts only " "long options, then I should be specified as an empty string " "(\"\"), not NULL.) Long option names may be abbreviated if the abbreviation " "is unique or is an exact match for some defined option. A long option may " "take a parameter, of the form B<--arg=param> or B<--arg param>." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is a pointer to the first element of an array of I declared in Igetopt.hE> as" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "struct option {\n" " const char *name;\n" " int has_arg;\n" " int *flag;\n" " int val;\n" "};\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The meanings of the different fields are:" 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 "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "is the name of the long option." 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 "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "is: B (or 0) if the option does not take an argument; " "B (or 1) if the option requires an argument; or " "B (or 2) if the option takes an optional argument." 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 "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "specifies how results are returned for a long option. If I is NULL, " "then B() returns I. (For example, the calling program " "may set I to the equivalent short option character.) Otherwise, " "B() returns 0, and I points to a variable which is set " "to I if the option is found, but left unchanged if the option is not " "found." 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 "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "is the value to return, or to load into the variable pointed to by I." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The last element of the array has to be filled with zeros." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If I is not NULL, it points to a variable which is set to the " "index of the long option relative to I." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() is like B(), but \\[aq]-\\[aq] as well " "as \"--\" can indicate a long option. If an option that starts with \\[aq]-" "\\[aq] (not \"--\") doesn't match a long option, but does match a short " "option, it is parsed as a short option instead." 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: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If an option was successfully found, then B() returns the option " "character. If all command-line options have been parsed, then B() " "returns -1. If B() encounters an option character that was not in " "I, then \\[aq]?\\[aq] is returned. If B() encounters an " "option with a missing argument, then the return value depends on the first " "character in I: if it is \\[aq]:\\[aq], then \\[aq]:\\[aq] is " "returned; otherwise \\[aq]?\\[aq] is returned." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() and B() also return the option " "character when a short option is recognized. For a long option, they return " "I if I is NULL, and 0 otherwise. Error and -1 returns are the " "same as for B(), plus \\[aq]?\\[aq] for an ambiguous match or an " "extraneous parameter." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ENVIRONMENT" 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 "" "If this is set, then option processing stops as soon as a nonoption argument " "is encountered." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B<_EPIDE_GNU_nonoption_argv_flags_>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This variable was used by B(1) 2.0 to communicate to glibc which " "arguments are the results of wildcard expansion and so should not be " "considered as options. This behavior was removed in B(1) 2.01, but " "the support remains in glibc." 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(),\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-Unsafe race:getopt env" msgstr "" #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "VERSIONS" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "POSIX specifies that the I array argument should be I, but " "these functions permute its elements unless the environment variable " "B is set. I is used in the actual prototype to be " "compatible with other systems; however, this page doesn't show the " "qualifier, to avoid confusing readers." 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: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "POSIX.1-2008." msgstr "" #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "" #. type: TQ #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "GNU." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The use of \\[aq]+\\[aq] and \\[aq]-\\[aq] in I is a GNU " "extension." msgstr "" #. 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, and POSIX.2." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On some older implementations, B() was declared in Istdio." "hE>. SUSv1 permitted the declaration to appear in either Iunistd." "hE> or Istdio.hE>. POSIX.1-1996 marked the use of " "Istdio.hE> for this purpose as LEGACY. POSIX.1-2001 does not " "require the declaration to appear in Istdio.hE>." 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 "" "A program that scans multiple argument vectors, or rescans the same vector " "more than once, and wants to make use of GNU extensions such as \\[aq]+" "\\[aq] and \\[aq]-\\[aq] at the start of I, or changes the value " "of B between scans, must reinitialize B() by " "resetting I to 0, rather than the traditional value of 1. " "(Resetting to 0 forces the invocation of an internal initialization routine " "that rechecks B and checks for GNU extensions in " "I.)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Command-line arguments are parsed in strict order meaning that an option " "requiring an argument will consume the next argument, regardless of whether " "that argument is the correctly specified option argument or simply the next " "option (in the scenario the user mis-specifies the command line). For " "example, if I is specified as \"1n:\" and the user specifies the " "command line arguments incorrectly as I, the I<-n> option " "will be given the B value \"-1\", and the I<-1> option will be " "considered to have not been specified." 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: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "getopt()" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following trivial example program uses B() to handle two " "program options: I<-n>, with no associated value; and I<-t val>, which " "expects an associated value." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Eunistd.hE\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " int flags, opt;\n" " int nsecs, tfnd;\n" "\\&\n" " nsecs = 0;\n" " tfnd = 0;\n" " flags = 0;\n" " while ((opt = getopt(argc, argv, \"nt:\")) != -1) {\n" " switch (opt) {\n" " case \\[aq]n\\[aq]:\n" " flags = 1;\n" " break;\n" " case \\[aq]t\\[aq]:\n" " nsecs = atoi(optarg);\n" " tfnd = 1;\n" " break;\n" " default: /* \\[aq]?\\[aq] */\n" " fprintf(stderr, \"Usage: %s [-t nsecs] [-n] name\\en\",\n" " argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" " }\n" "\\&\n" " printf(\"flags=%d; tfnd=%d; nsecs=%d; optind=%d\\en\",\n" " flags, tfnd, nsecs, optind);\n" "\\&\n" " if (optind E= argc) {\n" " fprintf(stderr, \"Expected argument after options\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " printf(\"name argument = %s\\en\", argv[optind]);\n" "\\&\n" " /* Other code omitted */\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. SRC END #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "getopt_long()" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following example program illustrates the use of B() with " "most of its features." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "#include Egetopt.hE\n" "#include Estdio.hE /* for printf */\n" "#include Estdlib.hE /* for exit */\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " int c;\n" " int digit_optind = 0;\n" "\\&\n" " while (1) {\n" " int this_option_optind = optind ? optind : 1;\n" " int option_index = 0;\n" " static struct option long_options[] = {\n" " {\"add\", required_argument, 0, 0 },\n" " {\"append\", no_argument, 0, 0 },\n" " {\"delete\", required_argument, 0, 0 },\n" " {\"verbose\", no_argument, 0, 0 },\n" " {\"create\", required_argument, 0, \\[aq]c\\[aq]},\n" " {\"file\", required_argument, 0, 0 },\n" " {0, 0, 0, 0 }\n" " };\n" "\\&\n" " c = getopt_long(argc, argv, \"abc:d:012\",\n" " long_options, &option_index);\n" " if (c == -1)\n" " break;\n" "\\&\n" " switch (c) {\n" " case 0:\n" " printf(\"option %s\", long_options[option_index].name);\n" " if (optarg)\n" " printf(\" with arg %s\", optarg);\n" " printf(\"\\en\");\n" " break;\n" "\\&\n" " case \\[aq]0\\[aq]:\n" " case \\[aq]1\\[aq]:\n" " case \\[aq]2\\[aq]:\n" " if (digit_optind != 0 && digit_optind != this_option_optind)\n" " printf(\"digits occur in two different argv-elements.\\en\");\n" " digit_optind = this_option_optind;\n" " printf(\"option %c\\en\", c);\n" " break;\n" "\\&\n" " case \\[aq]a\\[aq]:\n" " printf(\"option a\\en\");\n" " break;\n" "\\&\n" " case \\[aq]b\\[aq]:\n" " printf(\"option b\\en\");\n" " break;\n" "\\&\n" " case \\[aq]c\\[aq]:\n" " printf(\"option c with value \\[aq]%s\\[aq]\\en\", optarg);\n" " break;\n" "\\&\n" " case \\[aq]d\\[aq]:\n" " printf(\"option d with value \\[aq]%s\\[aq]\\en\", optarg);\n" " break;\n" "\\&\n" " case \\[aq]?\\[aq]:\n" " break;\n" "\\&\n" " default:\n" " printf(\"?? getopt returned character code 0%o ??\\en\", c);\n" " }\n" " }\n" "\\&\n" " if (optind E argc) {\n" " printf(\"non-option ARGV-elements: \");\n" " while (optind E argc)\n" " printf(\"%s \", argv[optind++]);\n" " printf(\"\\en\");\n" " }\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(1), B(3)" msgstr "" #. type: TH #: debian-bookworm #, no-wrap msgid "2023-02-05" msgstr "" #. type: TH #: debian-bookworm #, no-wrap msgid "Linux man-pages 6.03" msgstr "" #. type: Plain text #: debian-bookworm #, no-wrap msgid "" "BIB<, char *const >IB<[],>\n" "B< const char *>IB<);>\n" msgstr "" #. type: Plain text #: debian-bookworm #, no-wrap msgid "" "BIB<, char *const >IB<[],>\n" "B< const char *>IB<,>\n" "B< const struct option *>IB<, int *>IB<);>\n" "BIB<, char *const >IB<[],>\n" "B< const char *>IB<,>\n" "B< const struct option *>IB<, int *>IB<);>\n" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "POSIX.1-2001, POSIX.1-2008, and POSIX.2, provided the environment variable " "B is set. Otherwise, the elements of I aren't really " "I, because these functions permute them. Nevertheless, I is " "used in the prototype to be compatible with other systems." msgstr "" #. type: TP #: debian-bookworm #, no-wrap msgid "B() and B():" msgstr "" #. type: Plain text #: debian-bookworm msgid "These functions are GNU extensions." msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Eunistd.hE\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " int flags, opt;\n" " int nsecs, tfnd;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " nsecs = 0;\n" " tfnd = 0;\n" " flags = 0;\n" " while ((opt = getopt(argc, argv, \"nt:\")) != -1) {\n" " switch (opt) {\n" " case \\[aq]n\\[aq]:\n" " flags = 1;\n" " break;\n" " case \\[aq]t\\[aq]:\n" " nsecs = atoi(optarg);\n" " tfnd = 1;\n" " break;\n" " default: /* \\[aq]?\\[aq] */\n" " fprintf(stderr, \"Usage: %s [-t nsecs] [-n] name\\en\",\n" " argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" " }\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " printf(\"flags=%d; tfnd=%d; nsecs=%d; optind=%d\\en\",\n" " flags, tfnd, nsecs, optind);\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (optind E= argc) {\n" " fprintf(stderr, \"Expected argument after options\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " printf(\"name argument = %s\\en\", argv[optind]);\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Other code omitted */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#include Egetopt.hE\n" "#include Estdio.hE /* for printf */\n" "#include Estdlib.hE /* for exit */\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " int c;\n" " int digit_optind = 0;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " while (1) {\n" " int this_option_optind = optind ? optind : 1;\n" " int option_index = 0;\n" " static struct option long_options[] = {\n" " {\"add\", required_argument, 0, 0 },\n" " {\"append\", no_argument, 0, 0 },\n" " {\"delete\", required_argument, 0, 0 },\n" " {\"verbose\", no_argument, 0, 0 },\n" " {\"create\", required_argument, 0, \\[aq]c\\[aq]},\n" " {\"file\", required_argument, 0, 0 },\n" " {0, 0, 0, 0 }\n" " };\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " c = getopt_long(argc, argv, \"abc:d:012\",\n" " long_options, &option_index);\n" " if (c == -1)\n" " break;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " switch (c) {\n" " case 0:\n" " printf(\"option %s\", long_options[option_index].name);\n" " if (optarg)\n" " printf(\" with arg %s\", optarg);\n" " printf(\"\\en\");\n" " break;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " case \\[aq]0\\[aq]:\n" " case \\[aq]1\\[aq]:\n" " case \\[aq]2\\[aq]:\n" " if (digit_optind != 0 && digit_optind != this_option_optind)\n" " printf(\"digits occur in two different argv-elements.\\en\");\n" " digit_optind = this_option_optind;\n" " printf(\"option %c\\en\", c);\n" " break;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " case \\[aq]a\\[aq]:\n" " printf(\"option a\\en\");\n" " break;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " case \\[aq]b\\[aq]:\n" " printf(\"option b\\en\");\n" " break;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " case \\[aq]c\\[aq]:\n" " printf(\"option c with value \\[aq]%s\\[aq]\\en\", optarg);\n" " break;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " case \\[aq]d\\[aq]:\n" " printf(\"option d with value \\[aq]%s\\[aq]\\en\", optarg);\n" " break;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " case \\[aq]?\\[aq]:\n" " break;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " default:\n" " printf(\"?? getopt returned character code 0%o ??\\en\", c);\n" " }\n" " }\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (optind E argc) {\n" " printf(\"non-option ARGV-elements: \");\n" " while (optind E argc)\n" " printf(\"%s \", argv[optind++]);\n" " printf(\"\\en\");\n" " }\n" msgstr "" #. type: TH #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "" #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "" #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "2023-04-03" msgstr "" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr "" #. type: TH #: opensuse-tumbleweed #, no-wrap msgid "Linux man-pages (unreleased)" msgstr ""