dd: do not have 'ocount' variable if ibs/obs support is not enabled
function old new delta packed_usage 32964 32961 -3 dd_main 1033 1021 -12 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-15) Total: -15 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
		@@ -56,8 +56,11 @@
 | 
			
		||||
//kbuild:lib-$(CONFIG_DD) += dd.o
 | 
			
		||||
 | 
			
		||||
//usage:#define dd_trivial_usage
 | 
			
		||||
//usage:       "[if=FILE] [of=FILE] " IF_FEATURE_DD_IBS_OBS("[ibs=N] [obs=N] ") "[bs=N] [count=N] [skip=N]\n"
 | 
			
		||||
//usage:       "	[seek=N]" IF_FEATURE_DD_IBS_OBS(" [conv=notrunc|noerror|sync|fsync] [iflag=skip_bytes|fullblock] [oflag=seek_bytes]")
 | 
			
		||||
//usage:       "[if=FILE] [of=FILE] [" IF_FEATURE_DD_IBS_OBS("ibs=N obs=N/") "bs=N] [count=N] [skip=N] [seek=N]\n"
 | 
			
		||||
//usage:	IF_FEATURE_DD_IBS_OBS(
 | 
			
		||||
//usage:       "	[conv=notrunc|noerror|sync|fsync]\n"
 | 
			
		||||
//usage:       "	[iflag=skip_bytes|fullblock] [oflag=seek_bytes]"
 | 
			
		||||
//usage:	)
 | 
			
		||||
//usage:#define dd_full_usage "\n\n"
 | 
			
		||||
//usage:       "Copy a file with converting and formatting\n"
 | 
			
		||||
//usage:     "\n	if=FILE		Read from FILE instead of stdin"
 | 
			
		||||
@@ -321,13 +324,13 @@ int dd_main(int argc UNUSED_PARAM, char **argv)
 | 
			
		||||
#endif
 | 
			
		||||
	/* These are all zeroed at once! */
 | 
			
		||||
	struct {
 | 
			
		||||
		size_t oc;
 | 
			
		||||
		IF_FEATURE_DD_IBS_OBS(size_t ocount;)
 | 
			
		||||
		ssize_t prev_read_size; /* for detecting swab failure */
 | 
			
		||||
		off_t count;
 | 
			
		||||
		off_t seek, skip;
 | 
			
		||||
		const char *infile, *outfile;
 | 
			
		||||
	} Z;
 | 
			
		||||
#define oc      (Z.oc     )
 | 
			
		||||
#define ocount  (Z.ocount )
 | 
			
		||||
#define prev_read_size (Z.prev_read_size)
 | 
			
		||||
#define count   (Z.count  )
 | 
			
		||||
#define seek    (Z.seek   )
 | 
			
		||||
@@ -542,24 +545,26 @@ int dd_main(int argc UNUSED_PARAM, char **argv)
 | 
			
		||||
				n = ibs;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
#if ENABLE_FEATURE_DD_IBS_OBS
 | 
			
		||||
		if (G.flags & FLAG_TWOBUFS) {
 | 
			
		||||
			char *tmp = ibuf;
 | 
			
		||||
			while (n) {
 | 
			
		||||
				size_t d = obs - oc;
 | 
			
		||||
 | 
			
		||||
				size_t d = obs - ocount;
 | 
			
		||||
				if (d > (size_t)n)
 | 
			
		||||
					d = n;
 | 
			
		||||
				memcpy(obuf + oc, tmp, d);
 | 
			
		||||
				memcpy(obuf + ocount, tmp, d);
 | 
			
		||||
				n -= d;
 | 
			
		||||
				tmp += d;
 | 
			
		||||
				oc += d;
 | 
			
		||||
				if (oc == obs) {
 | 
			
		||||
				ocount += d;
 | 
			
		||||
				if (ocount == obs) {
 | 
			
		||||
					if (write_and_stats(obuf, obs, obs, outfile))
 | 
			
		||||
						goto out_status;
 | 
			
		||||
					oc = 0;
 | 
			
		||||
					ocount = 0;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		} else {
 | 
			
		||||
		} else
 | 
			
		||||
#endif
 | 
			
		||||
		{
 | 
			
		||||
			if (write_and_stats(ibuf, n, obs, outfile))
 | 
			
		||||
				goto out_status;
 | 
			
		||||
		}
 | 
			
		||||
@@ -570,10 +575,12 @@ int dd_main(int argc UNUSED_PARAM, char **argv)
 | 
			
		||||
			goto die_outfile;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (ENABLE_FEATURE_DD_IBS_OBS && oc) {
 | 
			
		||||
		if (write_and_stats(obuf, oc, obs, outfile))
 | 
			
		||||
#if ENABLE_FEATURE_DD_IBS_OBS
 | 
			
		||||
	if (ocount != 0) {
 | 
			
		||||
		if (write_and_stats(obuf, ocount, obs, outfile))
 | 
			
		||||
			goto out_status;
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
	if (close(ifd) < 0) {
 | 
			
		||||
 die_infile:
 | 
			
		||||
		bb_simple_perror_msg_and_die(infile);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user