diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2013-08-19 09:00:08 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2013-08-19 09:00:08 +0200 |
commit | 4b1896cd2ccdb3e09070035f86a48d42b678d8ff (patch) | |
tree | 9298db8a54e017e187b57b053cd1b9291ff82478 | |
parent | ec2bef11a7ea6381b21e77a3a83cc7730b7e9aef (diff) | |
download | busybox-w32-4b1896cd2ccdb3e09070035f86a48d42b678d8ff.tar.gz busybox-w32-4b1896cd2ccdb3e09070035f86a48d42b678d8ff.tar.bz2 busybox-w32-4b1896cd2ccdb3e09070035f86a48d42b678d8ff.zip |
dd: do not reuse local variables for unrelated values.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | coreutils/dd.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/coreutils/dd.c b/coreutils/dd.c index 96602ebdd..9cb96bb06 100644 --- a/coreutils/dd.c +++ b/coreutils/dd.c | |||
@@ -201,7 +201,7 @@ int dd_main(int argc UNUSED_PARAM, char **argv) | |||
201 | }; | 201 | }; |
202 | int exitcode = EXIT_FAILURE; | 202 | int exitcode = EXIT_FAILURE; |
203 | size_t ibs = 512, obs = 512; | 203 | size_t ibs = 512, obs = 512; |
204 | ssize_t n, w; | 204 | int i; |
205 | char *ibuf, *obuf; | 205 | char *ibuf, *obuf; |
206 | /* And these are all zeroed at once! */ | 206 | /* And these are all zeroed at once! */ |
207 | struct { | 207 | struct { |
@@ -223,10 +223,10 @@ int dd_main(int argc UNUSED_PARAM, char **argv) | |||
223 | INIT_G(); | 223 | INIT_G(); |
224 | //fflush_all(); - is this needed because of NOEXEC? | 224 | //fflush_all(); - is this needed because of NOEXEC? |
225 | 225 | ||
226 | for (n = 1; argv[n]; n++) { | 226 | for (i = 1; argv[i]; i++) { |
227 | int what; | 227 | int what; |
228 | char *val; | 228 | char *val; |
229 | char *arg = argv[n]; | 229 | char *arg = argv[i]; |
230 | 230 | ||
231 | #if ENABLE_DESKTOP | 231 | #if ENABLE_DESKTOP |
232 | /* "dd --". NB: coreutils 6.9 will complain if they see | 232 | /* "dd --". NB: coreutils 6.9 will complain if they see |
@@ -300,7 +300,7 @@ int dd_main(int argc UNUSED_PARAM, char **argv) | |||
300 | outfile = val; | 300 | outfile = val; |
301 | /*continue;*/ | 301 | /*continue;*/ |
302 | } | 302 | } |
303 | } /* end of "for (argv[n])" */ | 303 | } /* end of "for (argv[i])" */ |
304 | 304 | ||
305 | //XXX:FIXME for huge ibs or obs, malloc'ing them isn't the brightest idea ever | 305 | //XXX:FIXME for huge ibs or obs, malloc'ing them isn't the brightest idea ever |
306 | ibuf = obuf = xmalloc(ibs); | 306 | ibuf = obuf = xmalloc(ibs); |
@@ -347,7 +347,7 @@ int dd_main(int argc UNUSED_PARAM, char **argv) | |||
347 | if (skip) { | 347 | if (skip) { |
348 | if (lseek(ifd, skip * ibs, SEEK_CUR) < 0) { | 348 | if (lseek(ifd, skip * ibs, SEEK_CUR) < 0) { |
349 | while (skip-- > 0) { | 349 | while (skip-- > 0) { |
350 | n = safe_read(ifd, ibuf, ibs); | 350 | ssize_t n = safe_read(ifd, ibuf, ibs); |
351 | if (n < 0) | 351 | if (n < 0) |
352 | goto die_infile; | 352 | goto die_infile; |
353 | if (n == 0) | 353 | if (n == 0) |
@@ -361,6 +361,8 @@ int dd_main(int argc UNUSED_PARAM, char **argv) | |||
361 | } | 361 | } |
362 | 362 | ||
363 | while (!(flags & FLAG_COUNT) || (G.in_full + G.in_part != count)) { | 363 | while (!(flags & FLAG_COUNT) || (G.in_full + G.in_part != count)) { |
364 | ssize_t n; | ||
365 | |||
364 | n = safe_read(ifd, ibuf, ibs); | 366 | n = safe_read(ifd, ibuf, ibs); |
365 | if (n == 0) | 367 | if (n == 0) |
366 | break; | 368 | break; |
@@ -411,7 +413,7 @@ int dd_main(int argc UNUSED_PARAM, char **argv) | |||
411 | } | 413 | } |
412 | 414 | ||
413 | if (ENABLE_FEATURE_DD_IBS_OBS && oc) { | 415 | if (ENABLE_FEATURE_DD_IBS_OBS && oc) { |
414 | w = full_write_or_warn(obuf, oc, outfile); | 416 | ssize_t w = full_write_or_warn(obuf, oc, outfile); |
415 | if (w < 0) goto out_status; | 417 | if (w < 0) goto out_status; |
416 | if (w > 0) G.out_part++; | 418 | if (w > 0) G.out_part++; |
417 | } | 419 | } |