diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2021-08-10 17:59:16 +0000 |
---|---|---|
committer | Laurent Bercot <ska@appnovation.com> | 2021-08-10 17:59:16 +0000 |
commit | b08261b5bb18d5c3f3fece09c5c582679f6c8bbc (patch) | |
tree | 799d6371a02c2a313eb00aa97c98e9c2d2a0d2e8 | |
parent | 064b149613eae9a74a6fa91f062f253b816785c3 (diff) | |
download | s6-portable-utils-b08261b5bb18d5c3f3fece09c5c582679f6c8bbc.tar.xz |
Prepare for 2.2.3.3 ; adapt to skalibs-2.11.0.0
Signed-off-by: Laurent Bercot <ska@appnovation.com>
37 files changed, 102 insertions, 47 deletions
diff --git a/CONTRIBUTING b/CONTRIBUTING new file mode 100644 index 0000000..6279422 --- /dev/null +++ b/CONTRIBUTING @@ -0,0 +1,5 @@ + Please add a Signed-Off-By: line at the end of your commit, +which certifies that you have the right and authority to pass +it on as an open-source patch, as explicited in the Developer's +Certificate of Origin available in this project's DCO file, +or at https://developercertificate.org/ @@ -0,0 +1,37 @@ +Developer Certificate of Origin +Version 1.1 + +Copyright (C) 2004, 2006 The Linux Foundation and its contributors. +1 Letterman Drive +Suite D4700 +San Francisco, CA, 94129 + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + + +Developer's Certificate of Origin 1.1 + +By making a contribution to this project, I certify that: + +(a) The contribution was created in whole or in part by me and I + have the right to submit it under the open source license + indicated in the file; or + +(b) The contribution is based upon previous work that, to the best + of my knowledge, is covered under an appropriate open source + license and I have the right under that license to submit that + work with modifications, whether created in whole or in part + by me, under the same open source license (unless I am + permitted to submit under a different license), as indicated + in the file; or + +(c) The contribution was provided directly to me by some other + person who certified (a), (b) or (c) and I have not modified + it. + +(d) I understand and agree that this project and the contribution + are public and that a record of the contribution (including all + personal information I submit with it, including my sign-off) is + maintained indefinitely and may be redistributed consistent with + this project or the open source license(s) involved. @@ -6,7 +6,7 @@ Build Instructions - A POSIX-compliant C development environment - GNU make version 3.81 or later - - skalibs version 2.10.0.3 or later: https://skarnet.org/software/skalibs/ + - skalibs version 2.11.0.0 or later: https://skarnet.org/software/skalibs/ This software will run on any operating system that implements POSIX.1-2008, available at: @@ -1,5 +1,11 @@ Changelog for s6-portable-utils. +In 2.2.3.3 +---------- + + - Adaptation to skalibs-2.11.0.0. + + In 2.2.3.2 ---------- diff --git a/doc/index.html b/doc/index.html index 6196fbe..7efa174 100644 --- a/doc/index.html +++ b/doc/index.html @@ -74,7 +74,7 @@ on the wrong page. I apologize for the confusion. <li> A POSIX-compliant system with a standard C development environment </li> <li> GNU make, version 3.81 or later </li> <li> <a href="//skarnet.org/software/skalibs/">skalibs</a> version -2.10.0.3 or later. It's a build-time requirement. It's also a run-time +2.11.0.0 or later. It's a build-time requirement. It's also a run-time requirement if you link against the shared version of the skalibs library. </li> </ul> @@ -90,7 +90,7 @@ library. </li> <ul> <li> The current released version of s6-portable-utils is -<a href="s6-portable-utils-2.2.3.2.tar.gz">2.2.3.2</a>. </li> +<a href="s6-portable-utils-2.2.3.3.tar.gz">2.2.3.3</a>. </li> <li> Alternatively, you can checkout a copy of the <a href="//git.skarnet.org/cgi-bin/cgit.cgi/s6-portable-utils/">s6-portable-utils git repository</a>: @@ -176,7 +176,7 @@ the previous versions of s6-portable-utils and the current one. </li> <ul> <li> <tt>s6-portable-utils</tt> is discussed on the -<a href="//skarnet.org/lists.html#skaware">skaware</a> mailing-list. </li> +<a href="//skarnet.org/lists/#skaware">skaware</a> mailing-list. </li> </ul> </body> diff --git a/doc/upgrade.html b/doc/upgrade.html index db27783..4c0f03b 100644 --- a/doc/upgrade.html +++ b/doc/upgrade.html @@ -18,6 +18,13 @@ <h1> What has changed in s6-portable-utils </h1> +<h2> in 2.2.3.3 </h2> + +<ul> + <li> <a href="//skarnet.org/software/skalibs/">skalibs</a> +dependency bumped to 2.11.0.0. </li> +</ul> + <h2> in 2.2.3.2 </h2> <ul> diff --git a/package/info b/package/info index 6cc7188..5c63ba4 100644 --- a/package/info +++ b/package/info @@ -1,4 +1,4 @@ package=s6-portable-utils -version=2.2.3.2 +version=2.2.3.3 category=admin package_macro_name=S6_PORTABLE_UTILS diff --git a/src/skaembutils/s6-basename.c b/src/skaembutils/s6-basename.c index 7122858..445c7b9 100644 --- a/src/skaembutils/s6-basename.c +++ b/src/skaembutils/s6-basename.c @@ -15,7 +15,7 @@ int main (int argc, char const *const *argv) int nl = 1 ; PROG = "s6-basename" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "n", &l) ; diff --git a/src/skaembutils/s6-chown.c b/src/skaembutils/s6-chown.c index 25db44f..510aadc 100644 --- a/src/skaembutils/s6-chown.c +++ b/src/skaembutils/s6-chown.c @@ -15,7 +15,7 @@ int main (int argc, char const *const *argv) gid_t gid = -1 ; PROG = "s6-chown" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "Uu:g:", &l) ; diff --git a/src/skaembutils/s6-clock.c b/src/skaembutils/s6-clock.c index 822500a..0ef5e82 100644 --- a/src/skaembutils/s6-clock.c +++ b/src/skaembutils/s6-clock.c @@ -18,7 +18,7 @@ static int getit (void) static int setit (char const *h) { - tain_t a ; + tain a ; if (!timestamp_scan(h, &a)) strerr_dieusage(100, USAGE) ; if (!tain_setnow(&a)) strerr_diefu1sys(111, "taia_setnow") ; return 0 ; diff --git a/src/skaembutils/s6-cut.c b/src/skaembutils/s6-cut.c index 934bb51..a56d402 100644 --- a/src/skaembutils/s6-cut.c +++ b/src/skaembutils/s6-cut.c @@ -148,7 +148,7 @@ int main (int argc, char const *const *argv) unsigned int what = 0 ; PROG = "s6-cut" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; int flagnodel = 1 ; for (;;) { diff --git a/src/skaembutils/s6-dirname.c b/src/skaembutils/s6-dirname.c index 9bc089d..7433413 100644 --- a/src/skaembutils/s6-dirname.c +++ b/src/skaembutils/s6-dirname.c @@ -15,7 +15,7 @@ int main (int argc, char const *const *argv) int nl = 1 ; PROG = "s6-dirname" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "n", &l) ; diff --git a/src/skaembutils/s6-dumpenv.c b/src/skaembutils/s6-dumpenv.c index 26d06b8..87950d0 100644 --- a/src/skaembutils/s6-dumpenv.c +++ b/src/skaembutils/s6-dumpenv.c @@ -19,7 +19,7 @@ int main (int argc, char const *const *argv, char const *const *envp) PROG = "s6-dumpenv" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "m:", &l) ; diff --git a/src/skaembutils/s6-echo.c b/src/skaembutils/s6-echo.c index 5d8f665..87e9321 100644 --- a/src/skaembutils/s6-echo.c +++ b/src/skaembutils/s6-echo.c @@ -12,7 +12,7 @@ int main (int argc, char const *const *argv) char donl = 1 ; PROG = "s6-echo" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "ns:", &l) ; diff --git a/src/skaembutils/s6-env.c b/src/skaembutils/s6-env.c index 6c039ba..77858cd 100644 --- a/src/skaembutils/s6-env.c +++ b/src/skaembutils/s6-env.c @@ -19,7 +19,7 @@ int main (int argc, char const *const *argv, char const *const *envp) char const *env_zero[1] = { 0 } ; PROG = "s6-env" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "i", &l) ; diff --git a/src/skaembutils/s6-grep.c b/src/skaembutils/s6-grep.c index d990e5b..7abdb76 100644 --- a/src/skaembutils/s6-grep.c +++ b/src/skaembutils/s6-grep.c @@ -42,7 +42,7 @@ int main (int argc, char const *const *argv) flags_t flags = FLAGS_ZERO ; PROG = "s6-grep" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "EFicnqv", &l) ; diff --git a/src/skaembutils/s6-head.c b/src/skaembutils/s6-head.c index 196f2c8..427d220 100644 --- a/src/skaembutils/s6-head.c +++ b/src/skaembutils/s6-head.c @@ -15,8 +15,8 @@ #define USAGE "s6-head [ -S ] [ -1..9 | -n lines | -c chars ] [ file... ]" #define dieusage() strerr_dieusage(100, USAGE) -typedef int headfunc_t (int, size_t) ; -typedef headfunc_t *headfunc_t_ref ; +typedef int hea$1_func (int, size_t) ; +typedef hea$1_func *hea$1_func_ref ; static int dolines (int fd, size_t lines) { @@ -76,12 +76,12 @@ static int safedochars (int fd, size_t chars) int main (int argc, char const *const *argv) { - headfunc_t_ref f ; + hea$1_func_ref f ; unsigned int lines = 10 ; int islines = 1, safe = 0 ; PROG = "s6-head" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; int done = 0 ; for (;;) { diff --git a/src/skaembutils/s6-linkname.c b/src/skaembutils/s6-linkname.c index 72fe288..329d3c7 100644 --- a/src/skaembutils/s6-linkname.c +++ b/src/skaembutils/s6-linkname.c @@ -15,7 +15,7 @@ int main (int argc, char const *const *argv) int path = 0, nl = 1 ; PROG = "s6-linkname" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "nf", &l) ; diff --git a/src/skaembutils/s6-ln.c b/src/skaembutils/s6-ln.c index e7af8c3..dff9bc2 100644 --- a/src/skaembutils/s6-ln.c +++ b/src/skaembutils/s6-ln.c @@ -42,7 +42,7 @@ static int linkderef (char const *old, char const *new) #endif -static void doit (char const *old, char const *new, linkfunc_t_ref mylink, int force) +static void doit (char const *old, char const *new, link_func_ref mylink, int force) { if ((*mylink)(old, new) == -1) { @@ -68,12 +68,12 @@ static void doit (char const *old, char const *new, linkfunc_t_ref mylink, int f int main (int argc, char const *const *argv) { - linkfunc_t_ref mylink = &link ; /* default to system behaviour */ + link_func_ref mylink = &link ; /* default to system behaviour */ int force = 0 ; int nodir = 0 ; PROG = "s6-ln" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "nsfLP", &l) ; diff --git a/src/skaembutils/s6-ls.c b/src/skaembutils/s6-ls.c index fa5ed82..9b5ca7e 100644 --- a/src/skaembutils/s6-ls.c +++ b/src/skaembutils/s6-ls.c @@ -15,7 +15,7 @@ int main (int argc, char const *const *argv) char delim = '\n' ; PROG = "s6-ls" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "0aAx:", &l) ; diff --git a/src/skaembutils/s6-maximumtime.c b/src/skaembutils/s6-maximumtime.c index 5745eb2..f66c32a 100644 --- a/src/skaembutils/s6-maximumtime.c +++ b/src/skaembutils/s6-maximumtime.c @@ -18,14 +18,14 @@ int main (int argc, char const *const *argv, char const *const *envp) { - tain_t deadline ; + tain deadline ; iopause_fd x[1] = { { .fd = -1, .events = IOPAUSE_READ, .revents = 0 } } ; pid_t pid = 0 ; int tosend = SIGTERM ; unsigned int timeout ; PROG = "s6-maximumtime" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "0abikqtx12", &l) ; diff --git a/src/skaembutils/s6-mkdir.c b/src/skaembutils/s6-mkdir.c index 4d1d7b9..14b6773 100644 --- a/src/skaembutils/s6-mkdir.c +++ b/src/skaembutils/s6-mkdir.c @@ -58,7 +58,7 @@ int main (int argc, char const *const *argv) int noumask = 0 ; PROG = "s6-mkdir" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "pvm:", &l) ; diff --git a/src/skaembutils/s6-mkfifo.c b/src/skaembutils/s6-mkfifo.c index b728db5..5afff9a 100644 --- a/src/skaembutils/s6-mkfifo.c +++ b/src/skaembutils/s6-mkfifo.c @@ -13,7 +13,7 @@ int main (int argc, char const *const *argv) unsigned int mode = S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH ; PROG = "s6-mkfifo" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "m:", &l) ; diff --git a/src/skaembutils/s6-nice.c b/src/skaembutils/s6-nice.c index 256f5e2..897097a 100644 --- a/src/skaembutils/s6-nice.c +++ b/src/skaembutils/s6-nice.c @@ -16,7 +16,7 @@ int main (int argc, char const *const *argv) int strict = 0 ; PROG = "s6-nice" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "Iin:", &l) ; diff --git a/src/skaembutils/s6-nuke.c b/src/skaembutils/s6-nuke.c index df6916d..6b5c12c 100644 --- a/src/skaembutils/s6-nuke.c +++ b/src/skaembutils/s6-nuke.c @@ -13,7 +13,7 @@ int main (int argc, char const *const *argv) int doterm = 0, dohangup = 0, dokill = 0 ; PROG = "s6-nuke" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "htk", &l) ; diff --git a/src/skaembutils/s6-pause.c b/src/skaembutils/s6-pause.c index 760dede..1895d6a 100644 --- a/src/skaembutils/s6-pause.c +++ b/src/skaembutils/s6-pause.c @@ -18,7 +18,7 @@ int main (int argc, char const *const *argv) unsigned int sigs[MAX] ; size_t nsig = 0 ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "thaqbip:", &l) ; diff --git a/src/skaembutils/s6-printenv.c b/src/skaembutils/s6-printenv.c index 9f2698e..b96c5d4 100644 --- a/src/skaembutils/s6-printenv.c +++ b/src/skaembutils/s6-printenv.c @@ -14,7 +14,7 @@ int main (int argc, char const *const *argv, char const *const *envp) int zero = 0, nl = 1 ; PROG = "s6-printenv" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "nd:0", &l) ; diff --git a/src/skaembutils/s6-quote-filter.c b/src/skaembutils/s6-quote-filter.c index 2e26011..226e26b 100644 --- a/src/skaembutils/s6-quote-filter.c +++ b/src/skaembutils/s6-quote-filter.c @@ -19,7 +19,7 @@ int main (int argc, char const *const *argv) size_t startquote = 1 ; PROG = "s6-quote-filter" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "ud:", &l) ; diff --git a/src/skaembutils/s6-quote.c b/src/skaembutils/s6-quote.c index 24662e8..986439e 100644 --- a/src/skaembutils/s6-quote.c +++ b/src/skaembutils/s6-quote.c @@ -18,7 +18,7 @@ int main (int argc, char const *const *argv) int nl = 1 ; PROG = "s6-quote" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "nud:", &l) ; diff --git a/src/skaembutils/s6-seq.c b/src/skaembutils/s6-seq.c index 66be435..f66cb0e 100644 --- a/src/skaembutils/s6-seq.c +++ b/src/skaembutils/s6-seq.c @@ -17,7 +17,7 @@ int main (int argc, char const *const *argv) char fmt[UINT_FMT] ; PROG = "s6-seq" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "ws:", &l) ; diff --git a/src/skaembutils/s6-sleep.c b/src/skaembutils/s6-sleep.c index 83d8c3d..8f48679 100644 --- a/src/skaembutils/s6-sleep.c +++ b/src/skaembutils/s6-sleep.c @@ -15,7 +15,7 @@ int main (int argc, char const *const *argv) int milli = 0 ; PROG = "s6-sleep" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "m", &l) ; @@ -32,7 +32,7 @@ int main (int argc, char const *const *argv) if (!uint0_scan(argv[0], &n)) strerr_dieusage(100, USAGE) ; { - tain_t deadline ; + tain deadline ; if (milli) tain_from_millisecs(&deadline, n) ; else tain_uint(&deadline, n) ; tain_now_set_stopwatch_g() ; diff --git a/src/skaembutils/s6-sort.c b/src/skaembutils/s6-sort.c index a603d2e..c44f1a2 100644 --- a/src/skaembutils/s6-sort.c +++ b/src/skaembutils/s6-sort.c @@ -90,7 +90,7 @@ int main (int argc, char const *const *argv) int flagcheck = 0 ; PROG = "s6-sort" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "bcfru0", &l) ; diff --git a/src/skaembutils/s6-tai64ndiff.c b/src/skaembutils/s6-tai64ndiff.c index 25abea3..ac6ff68 100644 --- a/src/skaembutils/s6-tai64ndiff.c +++ b/src/skaembutils/s6-tai64ndiff.c @@ -15,7 +15,7 @@ int main (int argc, char const *const *argv) { stralloc sa = STRALLOC_ZERO ; - tain_t prev ; + tain prev ; int defined = 0 ; PROG = "s6-tai64ndiff" ; @@ -31,13 +31,13 @@ int main (int argc, char const *const *argv) else if (!r) break ; if (sa.len > TIMESTAMP) { - tain_t cur ; + tain cur ; p = timestamp_scan(sa.s, &cur) ; if (p) { if (defined) { - tain_t diff ; + tain diff ; int64_t secs ; size_t len ; tain_sub(&diff, &cur, &prev) ; diff --git a/src/skaembutils/s6-tail.c b/src/skaembutils/s6-tail.c index 7023505..68764f5 100644 --- a/src/skaembutils/s6-tail.c +++ b/src/skaembutils/s6-tail.c @@ -14,8 +14,8 @@ #define USAGE "s6-tail [ -c chars | -n lines | -1..9 ] [ file ]" -typedef int tailfunc_t (int, size_t) ; -typedef tailfunc_t *tailfunc_t_ref ; +typedef int tai$1_func (int, size_t) ; +typedef tai$1_func *tai$1_func_ref ; static int pluslines (int fd, size_t n) { @@ -121,12 +121,12 @@ static int minuschars (int fd, size_t n) int main (int argc, char const *const *argv) { - tailfunc_t_ref f = &minuslines ; + tai$1_func_ref f = &minuslines ; unsigned int n = 10 ; int gotit = 0 ; PROG = "s6-tail" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "123456789n:c:", &l) ; diff --git a/src/skaembutils/s6-uniquename.c b/src/skaembutils/s6-uniquename.c index b3abfe3..d9766fe 100644 --- a/src/skaembutils/s6-uniquename.c +++ b/src/skaembutils/s6-uniquename.c @@ -17,7 +17,7 @@ int main (int argc, char const *const *argv) unsigned int n = 8 ; PROG = "s6-uniquename" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "n:", &l) ; diff --git a/src/skaembutils/s6-unquote-filter.c b/src/skaembutils/s6-unquote-filter.c index 47a085c..0f467eb 100644 --- a/src/skaembutils/s6-unquote-filter.c +++ b/src/skaembutils/s6-unquote-filter.c @@ -154,7 +154,7 @@ int main (int argc, char const *const *argv) stralloc src = STRALLOC_ZERO ; PROG = "s6-unquote-filter" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "qQvwd:", &l) ; diff --git a/src/skaembutils/s6-unquote.c b/src/skaembutils/s6-unquote.c index 3bca196..d69d63c 100644 --- a/src/skaembutils/s6-unquote.c +++ b/src/skaembutils/s6-unquote.c @@ -17,7 +17,7 @@ int main (int argc, char const *const *argv) int nl = 1 ; PROG = "s6-unquote" ; { - subgetopt_t l = SUBGETOPT_ZERO ; + subgetopt l = SUBGETOPT_ZERO ; for (;;) { int opt = subgetopt_r(argc, argv, "nd:", &l) ; |