head 1.2; access; symbols pkgsrc-2026Q1:1.2.0.184 pkgsrc-2026Q1-base:1.2 pkgsrc-2025Q4:1.2.0.182 pkgsrc-2025Q4-base:1.2 pkgsrc-2025Q3:1.2.0.180 pkgsrc-2025Q3-base:1.2 pkgsrc-2025Q2:1.2.0.178 pkgsrc-2025Q2-base:1.2 pkgsrc-2025Q1:1.2.0.176 pkgsrc-2025Q1-base:1.2 pkgsrc-2024Q4:1.2.0.174 pkgsrc-2024Q4-base:1.2 pkgsrc-2024Q3:1.2.0.172 pkgsrc-2024Q3-base:1.2 pkgsrc-2024Q2:1.2.0.170 pkgsrc-2024Q2-base:1.2 pkgsrc-2024Q1:1.2.0.168 pkgsrc-2024Q1-base:1.2 pkgsrc-2023Q4:1.2.0.166 pkgsrc-2023Q4-base:1.2 pkgsrc-2023Q3:1.2.0.164 pkgsrc-2023Q3-base:1.2 pkgsrc-2023Q2:1.2.0.162 pkgsrc-2023Q2-base:1.2 pkgsrc-2023Q1:1.2.0.160 pkgsrc-2023Q1-base:1.2 pkgsrc-2022Q4:1.2.0.158 pkgsrc-2022Q4-base:1.2 pkgsrc-2022Q3:1.2.0.156 pkgsrc-2022Q3-base:1.2 pkgsrc-2022Q2:1.2.0.154 pkgsrc-2022Q2-base:1.2 pkgsrc-2022Q1:1.2.0.152 pkgsrc-2022Q1-base:1.2 pkgsrc-2021Q4:1.2.0.150 pkgsrc-2021Q4-base:1.2 pkgsrc-2021Q3:1.2.0.148 pkgsrc-2021Q3-base:1.2 pkgsrc-2021Q2:1.2.0.146 pkgsrc-2021Q2-base:1.2 pkgsrc-2021Q1:1.2.0.144 pkgsrc-2021Q1-base:1.2 pkgsrc-2020Q4:1.2.0.142 pkgsrc-2020Q4-base:1.2 pkgsrc-2020Q3:1.2.0.140 pkgsrc-2020Q3-base:1.2 pkgsrc-2020Q2:1.2.0.136 pkgsrc-2020Q2-base:1.2 pkgsrc-2020Q1:1.2.0.116 pkgsrc-2020Q1-base:1.2 pkgsrc-2019Q4:1.2.0.138 pkgsrc-2019Q4-base:1.2 pkgsrc-2019Q3:1.2.0.134 pkgsrc-2019Q3-base:1.2 pkgsrc-2019Q2:1.2.0.132 pkgsrc-2019Q2-base:1.2 pkgsrc-2019Q1:1.2.0.130 pkgsrc-2019Q1-base:1.2 pkgsrc-2018Q4:1.2.0.128 pkgsrc-2018Q4-base:1.2 pkgsrc-2018Q3:1.2.0.126 pkgsrc-2018Q3-base:1.2 pkgsrc-2018Q2:1.2.0.124 pkgsrc-2018Q2-base:1.2 pkgsrc-2018Q1:1.2.0.122 pkgsrc-2018Q1-base:1.2 pkgsrc-2017Q4:1.2.0.120 pkgsrc-2017Q4-base:1.2 pkgsrc-2017Q3:1.2.0.118 pkgsrc-2017Q3-base:1.2 pkgsrc-2017Q2:1.2.0.114 pkgsrc-2017Q2-base:1.2 pkgsrc-2017Q1:1.2.0.112 pkgsrc-2017Q1-base:1.2 pkgsrc-2016Q4:1.2.0.110 pkgsrc-2016Q4-base:1.2 pkgsrc-2016Q3:1.2.0.108 pkgsrc-2016Q3-base:1.2 pkgsrc-2016Q2:1.2.0.106 pkgsrc-2016Q2-base:1.2 pkgsrc-2016Q1:1.2.0.104 pkgsrc-2016Q1-base:1.2 pkgsrc-2015Q4:1.2.0.102 pkgsrc-2015Q4-base:1.2 pkgsrc-2015Q3:1.2.0.100 pkgsrc-2015Q3-base:1.2 pkgsrc-2015Q2:1.2.0.98 pkgsrc-2015Q2-base:1.2 pkgsrc-2015Q1:1.2.0.96 pkgsrc-2015Q1-base:1.2 pkgsrc-2014Q4:1.2.0.94 pkgsrc-2014Q4-base:1.2 pkgsrc-2014Q3:1.2.0.92 pkgsrc-2014Q3-base:1.2 pkgsrc-2014Q2:1.2.0.90 pkgsrc-2014Q2-base:1.2 pkgsrc-2014Q1:1.2.0.88 pkgsrc-2014Q1-base:1.2 pkgsrc-2013Q4:1.2.0.86 pkgsrc-2013Q4-base:1.2 pkgsrc-2013Q3:1.2.0.84 pkgsrc-2013Q3-base:1.2 pkgsrc-2013Q2:1.2.0.82 pkgsrc-2013Q2-base:1.2 pkgsrc-2013Q1:1.2.0.80 pkgsrc-2013Q1-base:1.2 pkgsrc-2012Q4:1.2.0.78 pkgsrc-2012Q4-base:1.2 pkgsrc-2012Q3:1.2.0.76 pkgsrc-2012Q3-base:1.2 pkgsrc-2012Q2:1.2.0.74 pkgsrc-2012Q2-base:1.2 pkgsrc-2012Q1:1.2.0.72 pkgsrc-2012Q1-base:1.2 pkgsrc-2011Q4:1.2.0.70 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q3:1.2.0.68 pkgsrc-2011Q3-base:1.2 pkgsrc-2011Q2:1.2.0.66 pkgsrc-2011Q2-base:1.2 pkgsrc-2011Q1:1.2.0.64 pkgsrc-2011Q1-base:1.2 pkgsrc-2010Q4:1.2.0.62 pkgsrc-2010Q4-base:1.2 pkgsrc-2010Q3:1.2.0.60 pkgsrc-2010Q3-base:1.2 pkgsrc-2010Q2:1.2.0.58 pkgsrc-2010Q2-base:1.2 pkgsrc-2010Q1:1.2.0.56 pkgsrc-2010Q1-base:1.2 pkgsrc-2009Q4:1.2.0.54 pkgsrc-2009Q4-base:1.2 pkgsrc-2009Q3:1.2.0.52 pkgsrc-2009Q3-base:1.2 pkgsrc-2009Q2:1.2.0.50 pkgsrc-2009Q2-base:1.2 pkgsrc-2009Q1:1.2.0.48 pkgsrc-2009Q1-base:1.2 pkgsrc-2008Q4:1.2.0.46 pkgsrc-2008Q4-base:1.2 pkgsrc-2008Q3:1.2.0.44 pkgsrc-2008Q3-base:1.2 cube-native-xorg:1.2.0.42 cube-native-xorg-base:1.2 pkgsrc-2008Q2:1.2.0.40 pkgsrc-2008Q2-base:1.2 cwrapper:1.2.0.38 pkgsrc-2008Q1:1.2.0.36 pkgsrc-2008Q1-base:1.2 pkgsrc-2007Q4:1.2.0.34 pkgsrc-2007Q4-base:1.2 pkgsrc-2007Q3:1.2.0.32 pkgsrc-2007Q3-base:1.2 pkgsrc-2007Q2:1.2.0.30 pkgsrc-2007Q2-base:1.2 pkgsrc-2007Q1:1.2.0.28 pkgsrc-2007Q1-base:1.2 pkgsrc-2006Q4:1.2.0.26 pkgsrc-2006Q4-base:1.2 pkgsrc-2006Q3:1.2.0.24 pkgsrc-2006Q3-base:1.2 pkgsrc-2006Q2:1.2.0.22 pkgsrc-2006Q2-base:1.2 pkgsrc-2006Q1:1.2.0.20 pkgsrc-2006Q1-base:1.2 pkgsrc-2005Q4:1.2.0.18 pkgsrc-2005Q4-base:1.2 pkgsrc-2005Q3:1.2.0.16 pkgsrc-2005Q3-base:1.2 pkgsrc-2005Q2:1.2.0.14 pkgsrc-2005Q2-base:1.2 pkgsrc-2005Q1:1.2.0.12 pkgsrc-2005Q1-base:1.2 pkgsrc-2004Q4:1.2.0.10 pkgsrc-2004Q4-base:1.2 pkgsrc-2004Q3:1.2.0.8 pkgsrc-2004Q3-base:1.2 pkgsrc-2004Q2:1.2.0.6 pkgsrc-2004Q2-base:1.2 pkgsrc-2004Q1:1.2.0.4 pkgsrc-2004Q1-base:1.2 pkgsrc-2003Q4:1.2.0.2 pkgsrc-2003Q4-base:1.2 netbsd-1-6-1:1.1.0.6 netbsd-1-6-1-base:1.1 netbsd-1-6:1.1.0.8 netbsd-1-6-RELEASE-base:1.1 pkgviews:1.1.0.4 pkgviews-base:1.1 buildlink2:1.1.0.2 buildlink2-base:1.1 netbsd-1-5-PATCH003:1.1; locks; strict; comment @# @; 1.2 date 2003.08.25.20.23.08; author fredb; state Exp; branches; next 1.1; 1.1 date 2002.01.04.21.40.59; author fredb; state Exp; branches; next ; desc @@ 1.2 log @Here are a couple of patches I submitted to the Sourceforge project in June of this year, but for which I got no response. 1) Sourceforge PR #72673: Get the program name for the usage statement in the most portable fashion possible, using argv. 2) Sourceforge PR #762825, which is a rework of PR #504855, by Adam Lewandowski. Add a "table of contents" command, included a "+v" option to dump absolutely all of the information in the par file. Bump ${PKGREVISION}. I think it's safe to say that this is the final release. The current "par2", for version 2 parity files, is now backwards compatible with the version 1 parity files that this program generates. It does not, however, seem to have the cool "table of contents" feature. @ text @$NetBSD: patch-ab,v 1.1 2002/01/04 21:40:59 fredb Exp $ --- main.c.orig Sat Nov 17 13:29:48 2001 +++ main.c @@@@ -21,6 +21,7 @@@@ #include "interface.h" struct cmdline cmd; +char* progname; /*\ |*| Print usage @@@@ -30,12 +31,13 @@@@ usage(void) { printf( "Usage:\n" -" par c(heck) [options] : Check parity archive\n" -" par r(ecover) [options] : Restore missing volumes\n" -" par a(dd) [options] [files] : Add files to parity archive\n" +" %s c(heck) [options] : Check parity archive\n" +" %s r(ecover) [options] : Restore missing volumes\n" +" %s a(dd) [options] [files] : Add files to parity archive\n" +" %s t(able) [options] : List contents of parity archive\n" " Advanced:\n" -" par m(ix) [options] : Try to restore from all parity files at once\n" -" par i(nteractive) [] : Interactive mode (very bare-bones)\n" +" %s m(ix) [options] : Try to restore from all parity files at once\n" +" %s i(nteractive) [] : Interactive mode (very bare-bones)\n" "\n" "Options: (Can be turned off with '+')\n" " -m : Move existing files out of the way\n" @@@@ -52,8 +54,8 @@@@ usage(void) " -v,+v: Increase or decrease verbosity\n" " -h,-?: Display this help\n" " -- : Always treat following arguments as files\n" -"\n" - ); +"\n", + progname, progname, progname, progname, progname, progname); return 0; } @@@@ -97,6 +99,8 @@@@ main(int argc, char *argv[]) if (check_sizes()) return -1; + progname = argv[0]; + /*\ Some defaults \*/ memset(&cmd, 0, sizeof(cmd)); cmd.volumes = 10; @@@@ -207,6 +211,10 @@@@ main(int argc, char *argv[]) case 'I': cmd.action = ACTION_TEXT_UI; break; + case 't': + case 'T': + cmd.action = ACTION_CONTENTS; + break; default: fprintf(stderr, "Unknown command: '%s'\n", argv[1]); @@@@ -244,6 +252,17 @@@@ main(int argc, char *argv[]) break; case ACTION_TEXT_UI: par_load(unist(argv[1])); + break; + case ACTION_CONTENTS: + fprintf(stderr, "Reading %s\n", argv[1]); + par = read_par_header(unist(argv[1]), 0, 0, 0); + if (!par) { + fail = 2; + continue; + } + dump_par(par); + free_par(par); + par=0; break; } } @ 1.1 log @Use __progname, to get the name of the command right for the help message. @ text @d1 1 a1 1 $NetBSD$ d5 9 a13 3 @@@@ -28,14 +28,20 @@@@ int usage(void) a14 6 +#ifdef KNOW_NAME + extern char *__progname; +#else + char progname[] = "par"; +#endif + d23 1 d32 1 a32 1 @@@@ -52,8 +58,12 @@@@ d39 1 a39 5 +#ifdef KNOW_NAME + __progname, __progname, __progname, __progname, __progname); +#else + progname, progname, progname, progname, progname); +#endif d43 38 @