uudecode: special-case "/dev/stdout", closes 14241
function old new delta uudecode_main 295 322 +27 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
		| @@ -155,7 +155,16 @@ int uudecode_main(int argc UNUSED_PARAM, char **argv) | ||||
| 				break; | ||||
| 		} | ||||
| 		dst_stream = stdout; | ||||
| 		if (NOT_LONE_DASH(outname)) { | ||||
| 		if (NOT_LONE_DASH(outname) | ||||
| /* https://pubs.opengroup.org/onlinepubs/9699919799/utilities/uudecode.html | ||||
|  * https://pubs.opengroup.org/onlinepubs/9699919799/utilities/uuencode.html | ||||
|  * The above says that output file name specified in input file | ||||
|  * or overridden by -o OUTFILE can be special "/dev/stdout" string. | ||||
|  * This usually works "implicitly": many systems have /dev/stdout. | ||||
|  * If ENABLE_DESKTOP, support that explicitly: | ||||
|  */ | ||||
| 		 && (!ENABLE_DESKTOP || strcmp(outname, "/dev/stdout") != 0) | ||||
| 		) { | ||||
| 			dst_stream = xfopen_for_write(outname); | ||||
| 			fchmod(fileno(dst_stream), mode & (S_IRWXU | S_IRWXG | S_IRWXO)); | ||||
| 		} | ||||
|   | ||||
| @@ -690,7 +690,7 @@ uniq Busybox specific options: | ||||
|  | ||||
| uudecode POSIX options | ||||
|  option           | exists | compliant | remarks | ||||
|   -o outfile      |  no    | no        | | ||||
|   -o outfile      |  yes   | no        | | ||||
| uudecode Busybox specific options: None | ||||
|  | ||||
| uuencode POSIX options | ||||
|   | ||||
		Reference in New Issue
	
	Block a user