diff --git a/system/dd/dd_main.c b/system/dd/dd_main.c index e666274e1..74cec10eb 100644 --- a/system/dd/dd_main.c +++ b/system/dd/dd_main.c @@ -110,7 +110,8 @@ static int dd_write(FAR struct dd_s *dd) nbytes = write(dd->outfd, buffer, dd->nbytes - written); if (nbytes < 0) { - printf("%s: failed to write: %s\n", g_dd, strerror(errno)); + fprintf(stderr, "%s: failed to write: %s\n", g_dd, + strerror(errno)); return ERROR; } @@ -142,7 +143,7 @@ static int dd_read(FAR struct dd_s *dd) continue; } - printf("%s: failed to read: %s\n", g_dd, strerror(errno)); + fprintf(stderr, "%s: failed to read: %s\n", g_dd, strerror(errno)); return ERROR; } @@ -174,7 +175,8 @@ static inline int dd_infopen(FAR const char *name, FAR struct dd_s *dd) dd->infd = open(name, O_RDONLY); if (dd->infd < 0) { - printf("%s: failed to open '%s': %s\n", g_dd, name, strerror(errno)); + fprintf(stderr, "%s: failed to open '%s': %s\n", g_dd, name, + strerror(errno)); return ERROR; } @@ -196,7 +198,8 @@ static inline int dd_outfopen(FAR const char *name, FAR struct dd_s *dd) dd->outfd = open(name, dd->oflags, 0644); if (dd->outfd < 0) { - printf("%s: failed to open '%s': %s\n", g_dd, name, strerror(errno)); + fprintf(stderr, "%s: failed to open '%s': %s\n", g_dd, name, + strerror(errno)); return ERROR; } @@ -212,7 +215,8 @@ static int dd_verify(FAR struct dd_s *dd) ret = lseek(dd->infd, dd->skip ? dd->skip * dd->sectsize : 0, SEEK_SET); if (ret < 0) { - printf("%s: failed to infd lseek: %s\n", g_dd, strerror(errno)); + fprintf(stderr, "%s: failed to infd lseek: %s\n", g_dd, + strerror(errno)); return ret; } @@ -220,7 +224,8 @@ static int dd_verify(FAR struct dd_s *dd) ret = lseek(dd->outfd, 0, SEEK_SET); if (ret < 0) { - printf("%s: failed to outfd lseek: %s\n", g_dd, strerror(errno)); + fprintf(stderr, "%s: failed to outfd lseek: %s\n", g_dd, + strerror(errno)); return ret; } @@ -241,7 +246,7 @@ static int dd_verify(FAR struct dd_s *dd) ret = read(dd->outfd, buffer, dd->nbytes); if (ret != dd->nbytes) { - printf("%s: failed to outfd read: %d\n", + fprintf(stderr, "%s: failed to outfd read: %d\n", g_dd, ret < 0 ? errno : ret); break; } @@ -255,7 +260,8 @@ static int dd_verify(FAR struct dd_s *dd) snprintf(msg, sizeof(msg), "\noutfile sector %d", sector); lib_dumpbuffer(msg, buffer, dd->nbytes); #else - printf("%s: sector %d differs unexpectedly\n", g_dd, sector); + fprintf(stderr, "%s: sector %d differs unexpectedly\n", g_dd, + sector); #endif ret = ERROR; break; @@ -266,7 +272,7 @@ static int dd_verify(FAR struct dd_s *dd) if (ret < 0) { - printf("%s: failed to dd verify: %d\n", g_dd, ret); + fprintf(stderr, "%s: failed to dd verify: %d\n", g_dd, ret); } free(buffer); @@ -277,10 +283,10 @@ static int dd_verify(FAR struct dd_s *dd) * Name: print_usage ****************************************************************************/ -static void print_usage(void) +static void print_usage(FAR FILE *stream) { - printf("usage:\n"); - printf(" %s [if=] [of=] [bs=] " + fprintf(stream, "usage:\n"); + fprintf(stream, " %s [if=] [of=] [bs=] " "[count=] [skip=] [seek=] [verify] " "[conv=]\n", g_dd); } @@ -360,7 +366,7 @@ int main(int argc, FAR char **argv) } else { - printf("%s: unknown conversion '%.*s'\n", g_dd, + fprintf(stderr, "%s: unknown conversion '%.*s'\n", g_dd, (int)len, cur); goto errout_with_paths; } @@ -375,7 +381,7 @@ int main(int argc, FAR char **argv) } else { - print_usage(); + print_usage(stderr); goto errout_with_paths; } } @@ -384,8 +390,9 @@ int main(int argc, FAR char **argv) if ((dd.oflags & O_RDONLY) && (infile == NULL || outfile == NULL)) { - printf("%s: invalid parameters: %s\n", g_dd, strerror(EINVAL)); - print_usage(); + fprintf(stderr, "%s: invalid parameters: %s\n", g_dd, + strerror(EINVAL)); + print_usage(stderr); goto errout_with_paths; } @@ -394,7 +401,7 @@ int main(int argc, FAR char **argv) dd.buffer = malloc(dd.sectsize); if (!dd.buffer) { - printf("%s: failed to malloc: %s\n", g_dd, strerror(errno)); + fprintf(stderr, "%s: failed to malloc: %s\n", g_dd, strerror(errno)); goto errout_with_paths; } @@ -419,7 +426,8 @@ int main(int argc, FAR char **argv) ret = lseek(dd.infd, dd.skip * dd.sectsize, SEEK_SET); if (ret < 0) { - printf("%s: failed to lseek: %s\n", g_dd, strerror(errno)); + fprintf(stderr, "%s: failed to lseek: %s\n", g_dd, + strerror(errno)); ret = ERROR; goto errout_with_outf; } @@ -430,7 +438,7 @@ int main(int argc, FAR char **argv) ret = lseek(dd.outfd, dd.seek * dd.sectsize, SEEK_SET); if (ret < 0) { - printf("%s: failed to lseek on output: %s\n", + fprintf(stderr, "%s: failed to lseek on output: %s\n", g_dd, strerror(errno)); ret = ERROR; goto errout_with_outf; @@ -483,9 +491,9 @@ int main(int argc, FAR char **argv) elapsed -= (((uint64_t)ts0.tv_sec * NSEC_PER_SEC) + ts0.tv_nsec); elapsed /= NSEC_PER_USEC; /* usec */ - printf("%" PRIu64 " bytes (%" PRIu32 " blocks) copied, %u usec, ", + fprintf(stderr, "%" PRIu64 " bytes (%" PRIu32 " blocks) copied, %u usec, ", total, sector, (unsigned int)elapsed); - printf("%u KB/s\n" , + fprintf(stderr, "%u KB/s\n" , (unsigned int)(((double)total / 1024) / ((double)elapsed / USEC_PER_SEC))); #endif @@ -501,7 +509,8 @@ errout_with_outf: dd.outfd = close(dd.outfd); if (dd.outfd < 0) { - printf("%s failed to close outfd:%s\n", g_dd, strerror(errno)); + fprintf(stderr, "%s failed to close outfd:%s\n", g_dd, + strerror(errno)); } } @@ -511,7 +520,8 @@ errout_with_inf: dd.infd = close(dd.infd); if (dd.infd < 0) { - printf("%s failed to close infd:%s\n", g_dd, strerror(errno)); + fprintf(stderr, "%s failed to close infd:%s\n", g_dd, + strerror(errno)); } }