projects
/
platform
/
upstream
/
busybox.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
90e9cfd
)
dd: code shrink
author
Denys Vlasenko
<vda.linux@googlemail.com>
Tue, 20 Aug 2013 10:40:29 +0000
(12:40 +0200)
committer
Denys Vlasenko
<vda.linux@googlemail.com>
Tue, 20 Aug 2013 10:40:29 +0000
(12:40 +0200)
function old new delta
write_and_stats 78 99 +21
dd_main 1496 1487 -9
full_write_or_warn 42 - -42
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/1 up/down: 21/-51) Total: -30 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
coreutils/dd.c
patch
|
blob
|
history
diff --git
a/coreutils/dd.c
b/coreutils/dd.c
index
53c3bdc
..
e046ff5
100644
(file)
--- a/
coreutils/dd.c
+++ b/
coreutils/dd.c
@@
-440,8
+440,10
@@
int dd_main(int argc UNUSED_PARAM, char **argv)
oc = 0;
}
}
- } else if (write_and_stats(ibuf, n, obs, outfile))
- goto out_status;
+ } else {
+ if (write_and_stats(ibuf, n, obs, outfile))
+ goto out_status;
+ }
if (flags & FLAG_FSYNC) {
if (fsync(ofd) < 0)
@@
-450,9
+452,8
@@
int dd_main(int argc UNUSED_PARAM, char **argv)
}
if (ENABLE_FEATURE_DD_IBS_OBS && oc) {
- ssize_t w = full_write_or_warn(obuf, oc, outfile);
- if (w < 0) goto out_status;
- if (w > 0) G.out_part++;
+ if (write_and_stats(obuf, oc, obs, outfile))
+ goto out_status;
}
if (close(ifd) < 0) {
die_infile: