Bug 5712 - /bin/chio code cleaup and option added
Summary: /bin/chio code cleaup and option added
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: bin (show other bugs)
Version: Unspecified
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 1998-02-11 05:10 UTC by jason_smethers
Modified: 2021-05-26 12:57 UTC (History)
1 user (show)

See Also:


Attachments
file.diff (17.68 KB, patch)
1998-02-11 05:10 UTC, jason_smethers
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description jason_smethers 1998-02-11 05:10:10 UTC
Gerneral code cleanup and IELEM option added for which system header file chio.h was modified. Updated man page.
Comment 1 Bruce Evans 1998-02-11 16:22:55 UTC
Review (points noted in review of `cat' cleanup not all repeated):

>diff -c -r /usr/src/bin/chio/chio.1 /usr/local/src/bin/chio/chio.1
>*** /usr/src/bin/chio/chio.1	Sat Sep 13 11:01:18 1997
>--- /usr/local/src/bin/chio/chio.1	Sun Feb  8 21:16:55 1998
>...
>--- 190,203 ----
>  Moves the media in slot 3 (fourth slot) to drive 0 (first drive).
>  .Pp
>  .Nm chio setpicker 2
>+ .Pp
>  Configures the changer to use picker 2 (third picker) for operations.
>  .Pp
>  .Sh FILES
>  /dev/ch0 - default changer device
>  .Sh SEE ALSO
>  .Xr mt 1 ,
>! .Xr ch 4
>  .Xr mount 8 .
>...

Lost a comma.

>diff -c -r /usr/src/bin/chio/chio.c /usr/local/src/bin/chio/chio.c
>*** /usr/src/bin/chio/chio.c	Fri Jun  6 01:32:09 1997
>--- /usr/local/src/bin/chio/chio.c	Sun Feb  8 19:08:22 1998

>***************
>*** 47,52 ****
>--- 47,53 ----
>  #include "defs.h"
>  #include "pathnames.h"
>  
>+ int	main __P((int, char *[]));
>  static	void usage __P((void));
>  static	void cleanup __P((void));
>  static	int parse_element_type __P((char *));
>***************
>*** 62,67 ****
>--- 63,69 ----
>  static	int do_getpicker __P((char *, int, char **));
>  static	int do_setpicker __P((char *, int, char **));
>  static	int do_status __P((char *, int, char **));
>+ static	int do_ielem __P((char *, int, char **));
>  
>  /* Valid changer element types. */
>  const struct element_type elements[] = {
>***************
>*** 81,86 ****
>--- 83,89 ----
>  	{ "getpicker",		do_getpicker },
>  	{ "setpicker",		do_setpicker },
>  	{ "status",		do_status },
>+ 	{ "ielem", 		do_ielem },
>  	{ NULL,			0 },
>  };
>  

The lists are more disordered than before.

>***************
>*** 135,146 ****
>--- 138,157 ----
>  	for (i = 0; commands[i].cc_name != NULL; ++i)
>  		if (strcmp(*argv, commands[i].cc_name) == 0)
>  			break;
>+ 	if (commands[i].cc_name == NULL) {
>+ 		/* look for abbreviation */
>+ 		for (i = 0; commands[i].cc_name != NULL; ++i)
>+ 			if (strncmp(*argv, commands[i].cc_name,
>+ 				strlen(*argv)) == 0)
>+ 					break;
>+ 	}
>  	if (commands[i].cc_name == NULL)
>  		errx(1, "unknown command: %s", *argv);
>  
>  	/* Skip over the command name and call handler. */
>  	++argv; --argc;
>  	exit ((*commands[i].cc_handler)(commands[i].cc_name, argc, argv));
>+ 	/* NOTREACHED */
>  }

I don't like comments for a nonexistent/unusable lint.  gcc knows that
exit() doesn't return.

>  static int
>***************
>*** 166,172 ****
>  		warnx("%s: too many arguments", cname);
>  		goto usage;
>  	}
>! 	bzero(&cmd, sizeof(cmd));
>  
>  	/* <from ET>  */
>  	cmd.cm_fromtype = parse_element_type(*argv);
>--- 177,183 ----
>  		warnx("%s: too many arguments", cname);
>  		goto usage;
>  	}
>! 	(void) memset(&cmd, 0, sizeof(cmd));
>  
>  	/* <from ET>  */
>  	cmd.cm_fromtype = parse_element_type(*argv);

style(9) specifies no space after casts.  This rule is followed only
about half the time for casts of function return values in the kernel,
but I think it should be followed in new code.  I don't like casting
function return values anyway.

>--- 534,551 ----
>...
>+ 
>+ 		default:
>+ 			/* To appease gcc -Wuninitialized. */
>+ 			count = 0;
>+ 			description = NULL;

Not initializing `count' would just be a bug.  Only `description' must
be set to appease gcc.

>--- 578,601 ----
>...
>+ /* ARGSUSED */
>+ static int
>+ do_ielem(cname, argc, argv)
>+ 	char *cname;
>+ 	int argc;
>+ 	char **argv;
>+ {
>+ 	if (ioctl(changer_fd, CHIOIELEM, NULL))
>+ 		err(1, "%s: CHIOIELEM", changer_name);
>+ 
>+ 	return (0);
>+ }
>+ 
>+ 
>  static int
>  parse_element_type(cp)
>  	char *cp;

style(9) should specify that there are no empty lines between statements
except to separate blocks of code headed by a comment, and no pairs of
empty lines.

>***************
>*** 576,581 ****
>--- 607,613 ----
>  			return (elements[i].et_type);
>  
>  	errx(1, "invalid element type `%s'", cp);
>+ 	/* NOTREACHED */
>  }
>  
>  static int

gcc also understands that errx() returns.  I think the author of lint
was going to teach it about gcc attributes, but has stopped working on it.

>***************
>*** 636,642 ****
>  		if ((v & (1 << (f - 1))) == 0)
>  			continue;
>  		bp += snprintf(bp, sizeof(buf) - (bp - &buf[0]),
>! 						"%c%.*s", sep, np - cp, cp);
>  		sep = ',';
>  	}
>  	if (sep != '<')
>--- 669,675 ----
>  		if ((v & (1 << (f - 1))) == 0)
>  			continue;
>  		bp += snprintf(bp, sizeof(buf) - (bp - &buf[0]),
>! 				"%c%.*s", sep, (int)(long)(np - cp), cp);
>  		sep = ',';
>  	}
>  	if (sep != '<')

style(9) specifies a secondary indent of 4.  Casting to (long) is bogus
here.

>***************
>*** 648,654 ****
>  static void
>  cleanup()
>  {
>- 
>  	/* Simple enough... */
>  	(void)close(changer_fd);
>  }

style(9) specifies the empty line that was here.

Bruce
Comment 2 jason_smethers 1998-02-15 19:16:54 UTC
Adds IELEM option from NetBSD/OpenBSD

Cleaned up diffs:


begin 666 bin.chio.all.diff
M3VYL>2!I;B O=7-R+VQO8V%L+W-R8R]B:6XO8VAI;SH@8VAI;PID:69F("UC
M("UR("]U<W(O<W)C+V)I;B]C:&EO+V-H:6\N,2 O=7-R+VQO8V%L+W-R8R]B
M:6XO8VAI;R]C:&EO+C$**BHJ("]U<W(O<W)C+V)I;B]C:&EO+V-H:6\N,0E3
M870@4V5P(#$S(#$Q.C Q.C$X(#$Y.3<*+2TM("]U<W(O;&]C86PO<W)C+V)I
M;B]C:&EO+V-H:6\N,0E4:'4@1F5B(#$R(#$Y.C$X.C U(#$Y.3@**BHJ*BHJ
M*BHJ*BHJ*BHJ"BHJ*B Q-S<L,3@S("HJ*BH*(" N270@3FT@04-#15-3"B @
M365D:6$@:6X@=&AI<R!E;&5M96YT(&ES(&%C8V5S<VEB;&4@8GD@82!P:6-K
M97(N"B @+DET($YM($5814Y!0@HA($5L96UE;G0@<W5P<&]R=',@<&%S<VEN
M9R!M961I82 H97AP;W)T:6YG*2!T;R!A;B!O=71S:71E(&AU;6%N(&]P97)A
M=&]R+@H@("Y)="!.;2!)3D5.04(*("!%;&5M96YT('-U<'!O<G1S(')E8V5I
M=FEN9R!M961I82 H:6UP;W)T:6YG*2!F<F]M(&%N(&]U='-I9&4@:'5M86X@
M;W!E<F%T;W(N"B @+D5L"BTM+2 Q-S<L,3@U("TM+2T*(" N270@3FT@04-#
M15-3"B @365D:6$@:6X@=&AI<R!E;&5M96YT(&ES(&%C8V5S<VEB;&4@8GD@
M82!P:6-K97(N"B @+DET($YM($5814Y!0@HA($5L96UE;G0@<W5P<&]R=',@
M<&%S<VEN9R!M961I82 H97AP;W)T:6YG*2!T;R!A;B!O=71S:61E(&AU;6%N
M(&]P97)A=&]R+@HA("Y)="!.;2!)14Q%30HA(%!E<F9O<FT@86X@7&9"24Y)
M5$E!3$E:12!%3$5-14Y4(%-405154UQF4B!O<&5R871I;VX@;VX@=&AE(&-H
M86YG97(N"B @+DET($YM($E.14Y!0@H@($5L96UE;G0@<W5P<&]R=',@<F5C
M96EV:6YG(&UE9&EA("AI;7!O<G1I;F<I(&9R;VT@86X@;W5T<VED92!H=6UA
M;B!O<&5R871O<BX*(" N16P**BHJ*BHJ*BHJ*BHJ*BHJ"BHJ*B Q.#@L,3DS
M("HJ*BH*+2TM(#$Y,"PQ.38@+2TM+0H@($UO=F5S('1H92!M961I82!I;B!S
M;&]T(#,@*&9O=7)T:"!S;&]T*2!T;R!D<FEV92 P("AF:7)S="!D<FEV92DN
M"B @+E!P"B @+DYM(&-H:6\@<V5T<&EC:V5R(#(**R N4' *("!#;VYF:6=U
M<F5S('1H92!C:&%N9V5R('1O('5S92!P:6-K97(@,B H=&AI<F0@<&EC:V5R
M*2!F;W(@;W!E<F%T:6]N<RX*(" N4' *(" N4V@@1DE,15,*9&EF9B M8R M
M<B O=7-R+W-R8R]B:6XO8VAI;R]C:&EO+F,@+W5S<B]L;V-A;"]S<F,O8FEN
M+V-H:6\O8VAI;RYC"BHJ*B O=7-R+W-R8R]B:6XO8VAI;R]C:&EO+F,)5V5D
M($9E8B Q,2 Q.#HP-CHP-2 Q.3DX"BTM+2 O=7-R+VQO8V%L+W-R8R]B:6XO
M8VAI;R]C:&EO+F,)4W5N($9E8B Q-2 Q,CHU-SHT-2 Q.3DX"BHJ*BHJ*BHJ
M*BHJ*BHJ*@HJ*BH@-#DL-C4@*BHJ*@H@( H@('-T871I8PEV;VED('5S86=E
M(%]?4"@H=F]I9"DI.PH@('-T871I8PEV;VED(&-L96%N=7 @7U]0*"AV;VED
M*2D["B @<W1A=&EC"6EN="!P87)S95]E;&5M96YT7W1Y<&4@7U]0*"AC:&%R
M("HI*3L*("!S=&%T:6,):6YT('!A<G-E7V5L96UE;G1?=6YI="!?7U H*&-H
M87(@*BDI.PH@('-T871I8PEI;G0@<&%R<V5?<W!E8VEA;"!?7U H*&-H87(@
M*BDI.PH@('-T871I8PEI;G0@:7-?<W!E8VEA;"!?7U H*&-H87(@*BDI.PH@
M('-T871I8PEC:&%R("IB:71S7W1O7W-T<FEN9R!?7U H*&EN="P@8V]N<W0@
M8VAA<B J*2D["B @"BT@<W1A=&EC"6EN="!D;U]M;W9E(%]?4"@H8VAA<B J
M+"!I;G0L(&-H87(@*BHI*3L*("!S=&%T:6,):6YT(&1O7V5X8VAA;F=E(%]?
M4"@H8VAA<B J+"!I;G0L(&-H87(@*BHI*3L*("!S=&%T:6,):6YT(&1O7W!O
M<VET:6]N(%]?4"@H8VAA<B J+"!I;G0L(&-H87(@*BHI*3L*("!S=&%T:6,)
M:6YT(&1O7W!A<F%M<R!?7U H*&-H87(@*BP@:6YT+"!C:&%R("HJ*2D["BT@
M<W1A=&EC"6EN="!D;U]G971P:6-K97(@7U]0*"AC:&%R("HL(&EN="P@8VAA
M<B J*BDI.PH@('-T871I8PEI;G0@9&]?<V5T<&EC:V5R(%]?4"@H8VAA<B J
M+"!I;G0L(&-H87(@*BHI*3L*("!S=&%T:6,):6YT(&1O7W-T871U<R!?7U H
M*&-H87(@*BP@:6YT+"!C:&%R("HJ*2D["B @"BTM+2 T.2PV-R M+2TM"B @
M"B @<W1A=&EC"79O:60@=7-A9V4@7U]0*"AV;VED*2D["B @<W1A=&EC"79O
M:60@8VQE86YU<"!?7U H*'9O:60I*3L**R ):6YT(&UA:6X@7U]0*"AI;G0L
M(&-H87(@*EM=*2D["B @<W1A=&EC"6EN="!P87)S95]E;&5M96YT7W1Y<&4@
M7U]0*"AC:&%R("HI*3L*("!S=&%T:6,):6YT('!A<G-E7V5L96UE;G1?=6YI
M="!?7U H*&-H87(@*BDI.PH@('-T871I8PEI;G0@<&%R<V5?<W!E8VEA;"!?
M7U H*&-H87(@*BDI.PH@('-T871I8PEI;G0@:7-?<W!E8VEA;"!?7U H*&-H
M87(@*BDI.PH@('-T871I8PEC:&%R("IB:71S7W1O7W-T<FEN9R!?7U H*&EN
M="P@8V]N<W0@8VAA<B J*2D["B @"B @<W1A=&EC"6EN="!D;U]E>&-H86YG
M92!?7U H*&-H87(@*BP@:6YT+"!C:&%R("HJ*2D["BL@<W1A=&EC"6EN="!D
M;U]G971P:6-K97(@7U]0*"AC:&%R("HL(&EN="P@8VAA<B J*BDI.PHK('-T
M871I8PEI;G0@9&]?:65L96T@7U]0*"AC:&%R("HL(&EN="P@8VAA<B J*BDI
M.PHK('-T871I8PEI;G0@9&]?;6]V92!?7U H*&-H87(@*BP@:6YT+"!C:&%R
M("HJ*2D["B @<W1A=&EC"6EN="!D;U]P;W-I=&EO;B!?7U H*&-H87(@*BP@
M:6YT+"!C:&%R("HJ*2D["B @<W1A=&EC"6EN="!D;U]P87)A;7,@7U]0*"AC
M:&%R("HL(&EN="P@8VAA<B J*BDI.PH@('-T871I8PEI;G0@9&]?<V5T<&EC
M:V5R(%]?4"@H8VAA<B J+"!I;G0L(&-H87(@*BHI*3L*("!S=&%T:6,):6YT
M(&1O7W-T871U<R!?7U H*&-H87(@*BP@:6YT+"!C:&%R("HJ*2D["B @"BHJ
M*BHJ*BHJ*BHJ*BHJ*@HJ*BH@-S0L.#0@*BHJ*@H@( H@("\J(%9A;&ED(&-O
M;6UA;F1S+B J+PH@(&-O;G-T('-T<G5C="!C:&%N9V5R7V-O;6UA;F0@8V]M
M;6%N9'-;72 ]('L*+2 )>R B;6]V92(L"0ED;U]M;W9E('TL"B @"7L@(F5X
M8VAA;F=E(BP)"61O7V5X8VAA;F=E('TL"B @"7L@(G!O<VET:6]N(BP)"61O
M7W!O<VET:6]N('TL"B @"7L@(G!A<F%M<R(L"0ED;U]P87)A;7,@?2P*+2 )
M>R B9V5T<&EC:V5R(BP)"61O7V=E='!I8VME<B!]+ H@( E[(")S971P:6-K
M97(B+ D)9&]?<V5T<&EC:V5R('TL"B @"7L@(G-T871U<R(L"0ED;U]S=&%T
M=7,@?2P*(" )>R!.54Q,+ D)"3 @?2P*+2TM(#<V+#@W("TM+2T*(" *(" O
M*B!686QI9"!C;VUM86YD<RX@*B\*("!C;VYS="!S=')U8W0@8VAA;F=E<E]C
M;VUM86YD(&-O;6UA;F1S6UT@/2!["B @"7L@(F5X8VAA;F=E(BP)"61O7V5X
M8VAA;F=E('TL"BL@"7L@(F=E='!I8VME<B(L"0ED;U]G971P:6-K97(@?2P*
M*R )>R B:65L96TB+" )"61O7VEE;&5M('TL"BL@"7L@(FUO=F4B+ D)9&]?
M;6]V92!]+ H@( E[(")P;W-I=&EO;B(L"0ED;U]P;W-I=&EO;B!]+ H@( E[
M(")P87)A;7,B+ D)9&]?<&%R86US('TL"B @"7L@(G-E='!I8VME<B(L"0ED
M;U]S971P:6-K97(@?2P*(" )>R B<W1A='5S(BP)"61O7W-T871U<R!]+ H@
M( E[($Y53$PL"0D),"!]+ HJ*BHJ*BHJ*BHJ*BHJ*BH**BHJ(#DX+#$P-" J
M*BHJ"B @:6YT"B @;6%I;BAA<F=C+"!A<F=V*0H@( EI;G0@87)G8SL*(2 )
M8VAA<B J*F%R9W8["B @>PH@( EI;G0@8V@L(&D["B @"BTM+2 Q,#$L,3 W
M("TM+2T*("!I;G0*("!M86EN*&%R9V,L(&%R9W8I"B @"6EN="!A<F=C.PHA
M( EC:&%R("IA<F=V6UT["B @>PH@( EI;G0@8V@L(&D["B @"BHJ*BHJ*BHJ
M*BHJ*BHJ*@HJ*BH@,3,U+#$T," J*BHJ"BTM+2 Q,S@L,34P("TM+2T*(" )
M9F]R("AI(#T@,#L@8V]M;6%N9'-;:5TN8V-?;F%M92 A/2!.54Q,.R K*VDI
M"B @"0EI9B H<W1R8VUP*"IA<F=V+"!C;VUM86YD<UMI72YC8U]N86UE*2 ]
M/2 P*0H@( D)"6)R96%K.PHK( EI9B H8V]M;6%N9'-;:5TN8V-?;F%M92 ]
M/2!.54Q,*2!["BL@"0DO*B!L;V]K(&9O<B!A8F)R979I871I;VX@*B\**R )
M"69O<B H:2 ](# [(&-O;6UA;F1S6VE=+F-C7VYA;64@(3T@3E5,3#L@*RMI
M*0HK( D)"6EF("AS=')N8VUP*"IA<F=V+"!C;VUM86YD<UMI72YC8U]N86UE
M+ HK( D)"0ES=')L96XH*F%R9W8I*2 ]/2 P*0HK( D)"0D)8G)E86L["BL@
M"7T*(" ):68@*&-O;6UA;F1S6VE=+F-C7VYA;64@/3T@3E5,3"D*(" )"65R
M<G@H,2P@(G5N:VYO=VX@8V]M;6%N9#H@)7,B+" J87)G=BD["B @"BHJ*BHJ
M*BHJ*BHJ*BHJ*@HJ*BH@,38V+#$W,B J*BHJ"B @"0EW87)N>"@B)7,Z('1O
M;R!M86YY(&%R9W5M96YT<R(L(&-N86UE*3L*(" )"6=O=&\@=7-A9V4["B @
M"7T*(2 )8GIE<F\H)F-M9"P@<VEZ96]F*&-M9"DI.PH@( H@( DO*B \9G)O
M;2!%5#X@("HO"B @"6-M9"YC;5]F<F]M='EP92 ]('!A<G-E7V5L96UE;G1?
M='EP92@J87)G=BD["BTM+2 Q-S8L,3@R("TM+2T*(" )"7=A<FYX*"(E<SH@
M=&]O(&UA;GD@87)G=6UE;G1S(BP@8VYA;64I.PH@( D)9V]T;R!U<V%G93L*
M(" )?0HA( EM96US970H)F-M9"P@,"P@<VEZ96]F*&-M9"DI.PH@( H@( DO
M*B \9G)O;2!%5#X@("HO"B @"6-M9"YC;5]F<F]M='EP92 ]('!A<G-E7V5L
M96UE;G1?='EP92@J87)G=BD["BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@,C,T+#(T
M," J*BHJ"B @"0EW87)N>"@B)7,Z('1O;R!M86YY(&%R9W5M96YT<R(L(&-N
M86UE*3L*(" )"6=O=&\@=7-A9V4["B @"7T*(2 )8GIE<F\H)F-M9"P@<VEZ
M96]F*&-M9"DI.PH@( H@( DO*B \<W)C($54/B @*B\*(" )8VUD+F-E7W-R
M8W1Y<&4@/2!P87)S95]E;&5M96YT7W1Y<&4H*F%R9W8I.PHM+2T@,C0T+#(U
M," M+2TM"B @"0EW87)N>"@B)7,Z('1O;R!M86YY(&%R9W5M96YT<R(L(&-N
M86UE*3L*(" )"6=O=&\@=7-A9V4["B @"7T*(2 );65M<V5T*"9C;60L(# L
M('-I>F5O9BAC;60I*3L*(" *(" )+RH@/'-R8R!%5#X@("HO"B @"6-M9"YC
M95]S<F-T>7!E(#T@<&%R<V5?96QE;65N=%]T>7!E*"IA<F=V*3L**BHJ*BHJ
M*BHJ*BHJ*BHJ"BHJ*B S,C@L,S,T("HJ*BH*(" )"7=A<FYX*"(E<SH@=&]O
M(&UA;GD@87)G=6UE;G1S(BP@8VYA;64I.PH@( D)9V]T;R!U<V%G93L*(" )
M?0HA( EB>F5R;R@F8VUD+"!S:7IE;V8H8VUD*2D["B @"B @"2\J(#QT;R!%
M5#X@("HO"B @"6-M9"YC<%]T>7!E(#T@<&%R<V5?96QE;65N=%]T>7!E*"IA
M<F=V*3L*+2TM(#,S."PS-#0@+2TM+0H@( D)=V%R;G@H(B5S.B!T;V\@;6%N
M>2!A<F=U;65N=',B+"!C;F%M92D["B @"0EG;W1O('5S86=E.PH@( E]"B$@
M"6UE;7-E="@F8VUD+" P+"!S:7IE;V8H8VUD*2D["B @"B @"2\J(#QT;R!%
M5#X@("HO"B @"6-M9"YC<%]T>7!E(#T@<&%R<V5?96QE;65N=%]T>7!E*"IA
M<F=V*3L**BHJ*BHJ*BHJ*BHJ*BHJ"BHJ*B S-SDL,S@U("HJ*BH*(" )?0H@
M( H@( DO*B!'970@<&%R86US(&9R;VT@8VAA;F=E<B!A;F0@9&ES<&QA>2!T
M:&5M+B J+PHA( EB>F5R;R@F9&%T82P@<VEZ96]F*&1A=&$I*3L*(" ):68@
M*&EO8W1L*&-H86YG97)?9F0L($-(24]'4$%204U3+" H8VAA<B J*29D871A
M*2D*(" )"65R<B@Q+" B)7,Z($-(24]'4$%204U3(BP@8VAA;F=E<E]N86UE
M*3L*(" *+2TM(#,X.2PS.34@+2TM+0H@( E]"B @"B @"2\J($=E="!P87)A
M;7,@9G)O;2!C:&%N9V5R(&%N9"!D:7-P;&%Y('1H96TN("HO"B$@"6UE;7-E
M="@F9&%T82P@,"P@<VEZ96]F*&1A=&$I*3L*(" ):68@*&EO8W1L*&-H86YG
M97)?9F0L($-(24]'4$%204U3+" H8VAA<B J*29D871A*2D*(" )"65R<B@Q
M+" B)7,Z($-(24]'4$%204U3(BP@8VAA;F=E<E]N86UE*3L*(" **BHJ*BHJ
M*BHJ*BHJ*BHJ"BHJ*B T-C4L-#<V("HJ*BH*(" )<W1R=6-T(&-H86YG97)?
M96QE;65N=%]S=&%T=7,@8VUD.PH@( ES=')U8W0@8VAA;F=E<E]P87)A;7,@
M9&%T83L*(" )=5]I;G0X7W0@*G-T871U<W ["B$@"6EN="!I+"!C;W5N="P@
M8VAE="P@<V-H970L(&5C:&5T.PH@( EC:&%R("ID97-C<FEP=&EO;CL*(" *
M+2 )8V]U;G0@/2 P.PHM( ED97-C<FEP=&EO;B ]($Y53$P["BT@"B @"2\J
M"B @"2 J($]N(&$@<W1A='5S(&-O;6UA;F0L('=E(&5X<&5C="!T:&4@9F]L
M;&]W:6YG.@H@( D@*@HM+2T@-#<U+#0X-" M+2TM"B @"7-T<G5C="!C:&%N
M9V5R7V5L96UE;G1?<W1A='5S(&-M9#L*(" )<W1R=6-T(&-H86YG97)?<&%R
M86US(&1A=&$["B @"75?:6YT.%]T("IS=&%T=7-P.PHA( EI;G0@:2P@8VAE
M="P@<V-H970L(&5C:&5T.PHA( ES:7IE7W0@8V]U;G0["B @"6-H87(@*F1E
M<V-R:7!T:6]N.PH@( H@( DO*@H@( D@*B!/;B!A('-T871U<R!C;VUM86YD
M+"!W92!E>'!E8W0@=&AE(&9O;&QO=VEN9SH*(" )("H**BHJ*BHJ*BHJ*BHJ
M*BHJ"BHJ*B T.3 L-#DV("HJ*BH*(" )("H@1V5T('!A<F%M<R!F<F]M(&-H
M86YG97(N("!3<&5C:69I8V%L;'DL('=E(&YE960@=&AE(&5L96UE;G0*(" )
M("H@8V]U;G1S+@H@( D@*B\*(2 )8GIE<F\H)F1A=&$L('-I>F5O9BAD871A
M*2D["B @"6EF("AI;V-T;"AC:&%N9V5R7V9D+"!#2$E/1U!!4D%-4RP@*&-H
M87(@*BDF9&%T82DI"B @"0EE<G(H,2P@(B5S.B!#2$E/1U!!4D%-4R(L(&-H
M86YG97)?;F%M92D["B @"BTM+2 T.3@L-3 T("TM+2T*(" )("H@1V5T('!A
M<F%M<R!F<F]M(&-H86YG97(N("!3<&5C:69I8V%L;'DL('=E(&YE960@=&AE
M(&5L96UE;G0*(" )("H@8V]U;G1S+@H@( D@*B\*(2 );65M<V5T*"9D871A
M+" P+"!S:7IE;V8H9&%T82DI.PH@( EI9B H:6]C=&PH8VAA;F=E<E]F9"P@
M0TA)3T=005)!35,L("AC:&%R("HI)F1A=&$I*0H@( D)97)R*#$L("(E<SH@
M0TA)3T=005)!35,B+"!C:&%N9V5R7VYA;64I.PH@( HJ*BHJ*BHJ*BHJ*BHJ
M*BH**BHJ(#4R,BPU,C<@*BHJ*@HM+2T@-3,P+#4S.2 M+2TM"B @"0D)8V]U
M;G0@/2!D871A+F-P7VYD<FEV97,["B @"0D)9&5S8W)I<'1I;VX@/2 B9')I
M=F4B.PH@( D)"6)R96%K.PHK( HK( D)9&5F875L=#H**R )"0EC;W5N=" ]
M(# ["BL@"0D)9&5S8W)I<'1I;VX@/2!.54Q,.PH@( D)?0H@( H@( D):68@
M*&-O=6YT(#T](# I('L**BHJ*BHJ*BHJ*BHJ*BHJ"BHJ*B U,S@L-30U("HJ
M*BH*(" )"6EF("@H<W1A='5S<" ]("AU7VEN=#A?=" J*6UA;&QO8RAC;W5N
M="DI(#T]($Y53$PI"B @"0D)97)R>"@Q+" B8V%N)W0@86QL;V-A=&4@<W1A
M='5S('-T;W)A9V4B*3L*(" *(2 )"6)Z97)O*'-T871U<W L(&-O=6YT*3L*
M(2 )"6)Z97)O*"9C;60L('-I>F5O9BAC;60I*3L*(" *(" )"6-M9"YC97-?
M='EP92 ](&-H970["B @"0EC;60N8V5S7V1A=&$@/2!S=&%T=7-P.PHM+2T@
M-34P+#4U-R M+2TM"B @"0EI9B H*'-T871U<W @/2 H=5]I;G0X7W0@*BEM
M86QL;V,H8V]U;G0I*2 ]/2!.54Q,*0H@( D)"65R<G@H,2P@(F-A;B=T(&%L
M;&]C871E('-T871U<R!S=&]R86=E(BD["B @"B$@"0EM96US970H<W1A='5S
M<"P@,"P@8V]U;G0I.PHA( D);65M<V5T*"9C;60L(# L('-I>F5O9BAC;60I
M*3L*(" *(" )"6-M9"YC97-?='EP92 ](&-H970["B @"0EC;60N8V5S7V1A
M=&$@/2!S=&%T=7-P.PHJ*BHJ*BHJ*BHJ*BHJ*BH**BHJ(#4V-BPU-S$@*BHJ
M*@HM+2T@-3<X+#4Y-2 M+2TM"B @?0H@( H@('-T871I8R!I;G0**R!D;U]I
M96QE;2AC;F%M92P@87)G8RP@87)G=BD**R )8VAA<B J8VYA;64["BL@"6EN
M="!A<F=C.PHK( EC:&%R("HJ87)G=CL**R!["BL@"6EF("AI;V-T;"AC:&%N
M9V5R7V9D+"!#2$E/245,14TL($Y53$PI*0HK( D)97)R*#$L("(E<SH@0TA)
M3TE%3$5-(BP@8VAA;F=E<E]N86UE*3L**R **R )<F5T=7)N("@P*3L**R!]
M"BL@"BL@<W1A=&EC(&EN= H@('!A<G-E7V5L96UE;G1?='EP92AC<"D*(" )
M8VAA<B J8W ["B @>PHJ*BHJ*BHJ*BHJ*BHJ*BH**BHJ(#8R."PV,S0@*BHJ
M*@H@( ES=&%T:6,@8VAA<B!B=69;,3(X73L*(" *(" )8G @/2!B=68["B$@
M"6)Z97)O*&)U9BP@<VEZ96]F*&)U9BDI.PH@( H@( EF;W(@*'-E<" ]("<\
M)SL@*&8@/2 J8W K*RD@(3T@,#L@8W @/2!N<"D@>PH@( D)9F]R("AN<" ]
M(&-P.R J;G @/CT@)R G.RD*+2TM(#8U,BPV-3@@+2TM+0H@( ES=&%T:6,@
M8VAA<B!B=69;,3(X73L*(" *(" )8G @/2!B=68["B$@"6UE;7-E="AB=68L
M(# L('-I>F5O9BAB=68I*3L*(" *(" )9F]R("AS97 @/2 G/"<[("AF(#T@
M*F-P*RLI("$](# [(&-P(#T@;G I('L*(" )"69O<B H;G @/2!C<#L@*FYP
M(#X]("<@)SLI"BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@-C,V+#8T,B J*BHJ"B @
M"0EI9B H*'8@)B H,2 \/" H9B M(#$I*2D@/3T@,"D*(" )"0EC;VYT:6YU
M93L*(" )"6)P("L]('-N<')I;G1F*&)P+"!S:7IE;V8H8G5F*2 M("AB<" M
M("9B=69;,%TI+ HA( D)"0D)"2(E8R4N*G,B+"!S97 L(&YP("T@8W L(&-P
M*3L*(" )"7-E<" ]("<L)SL*(" )?0H@( EI9B H<V5P("$]("<\)RD*+2TM
M(#8V,"PV-C8@+2TM+0H@( D):68@*"AV("8@*#$@/#P@*&8@+2 Q*2DI(#T]
M(# I"B @"0D)8V]N=&EN=64["B @"0EB<" K/2!S;G!R:6YT9BAB<"P@<VEZ
M96]F*&)U9BD@+2 H8G @+2 F8G5F6S!=*2P*(2 )"0D)"2(E8R4N*G,B+"!S
M97 L("AI;G0I*&YP("T@8W I+"!C<"D["B @"0ES97 @/2 G+"<["B @"7T*
M(" ):68@*'-E<" A/2 G/"<I"D]N;'D@:6X@+W5S<B]L;V-A;"]S<F,O8FEN
M+V-H:6\Z(&-H:6\N;PHJ*BH@+W5S<B]S<F,O<WES+W-Y<R]C:&EO+F@)5'5E
M($UA<B Q,2 Q,SHS.#HP,B Q.3DW"BTM+2!C:&EO+F@)36]N($9E8B @,B R
M,#HQ-3HR," Q.3DX"BHJ*BHJ*BHJ*BHJ*BHJ*@HJ*BH@,34Q+#$U-B J*BHJ
M"BTM+2 Q-3$L,34W("TM+2T*(" C9&5F:6YE($-(24]'4$E#2T52"5])3U(H
M)V,G+" P># T+"!I;G0I"B @(V1E9FEN92!#2$E/4U!)0TM%4@E?24]7*"=C
M)RP@,'@P-2P@:6YT*0H@("-D969I;F4@0TA)3T=005)!35,)7TE/4B@G8R<L
M(#!X,#8L('-T<G5C="!C:&%N9V5R7W!A<F%M<RD**R C9&5F:6YE($-(24])
M14Q%30D@7TE/*"=C)RP@,'@P-RD*(" C9&5F:6YE($-(24]'4U1!5%53"5])
M3U<H)V,G+" P># X+"!S=')U8W0@8VAA;F=E<E]E;&5M96YT7W-T871U<RD*
@(" *(" C96YD:68@+RH@(5]365-?0TA)3U](7R J+PH`
`
end
Comment 3 Mike Heffner freebsd_committer freebsd_triage 2001-06-14 03:17:05 UTC
Responsible Changed
From-To: freebsd-bugs->	 mikeh

I'll look at fixing parts of this that are still applicable.
Comment 4 Mark Linimon freebsd_committer freebsd_triage 2006-05-25 22:10:49 UTC
State Changed
From-To: open->feedback

To submmitter: is the patch in this PR still applicable? 


Comment 5 Mark Linimon freebsd_committer freebsd_triage 2006-05-25 22:10:49 UTC
Responsible Changed
From-To: mikeh->freebsd-bugs
Comment 6 Mark Linimon freebsd_committer freebsd_triage 2008-04-19 18:34:46 UTC
State Changed
From-To: feedback->suspended

Feedback timeout from submitter.  I'll keep this around in case someone 
wants to give cpio some TLC at some point.
Comment 7 Eitan Adler freebsd_committer freebsd_triage 2018-05-20 23:50:26 UTC
For bugs matching the following conditions:
- Status == In Progress
- Assignee == "bugs@FreeBSD.org"
- Last Modified Year <= 2017

Do
- Set Status to "Open"
Comment 8 Ceri Davies freebsd_committer freebsd_triage 2021-05-26 12:57:28 UTC
The material parts of the diff have already been applied, it appears.
Thanks for the contribution.