@@ -110,7 +110,8 @@ static int dd_write(FAR struct dd_s *dd)
110110 nbytes = write (dd -> outfd , buffer , dd -> nbytes - written );
111111 if (nbytes < 0 )
112112 {
113- printf ("%s: failed to write: %s\n" , g_dd , strerror (errno ));
113+ fprintf (stderr , "%s: failed to write: %s\n" , g_dd ,
114+ strerror (errno ));
114115 return ERROR ;
115116 }
116117
@@ -142,7 +143,7 @@ static int dd_read(FAR struct dd_s *dd)
142143 continue ;
143144 }
144145
145- printf ( "%s: failed to read: %s\n" , g_dd , strerror (errno ));
146+ fprintf ( stderr , "%s: failed to read: %s\n" , g_dd , strerror (errno ));
146147 return ERROR ;
147148 }
148149
@@ -174,7 +175,8 @@ static inline int dd_infopen(FAR const char *name, FAR struct dd_s *dd)
174175 dd -> infd = open (name , O_RDONLY );
175176 if (dd -> infd < 0 )
176177 {
177- printf ("%s: failed to open '%s': %s\n" , g_dd , name , strerror (errno ));
178+ fprintf (stderr , "%s: failed to open '%s': %s\n" , g_dd , name ,
179+ strerror (errno ));
178180 return ERROR ;
179181 }
180182
@@ -196,7 +198,8 @@ static inline int dd_outfopen(FAR const char *name, FAR struct dd_s *dd)
196198 dd -> outfd = open (name , dd -> oflags , 0644 );
197199 if (dd -> outfd < 0 )
198200 {
199- printf ("%s: failed to open '%s': %s\n" , g_dd , name , strerror (errno ));
201+ fprintf (stderr , "%s: failed to open '%s': %s\n" , g_dd , name ,
202+ strerror (errno ));
200203 return ERROR ;
201204 }
202205
@@ -212,15 +215,17 @@ static int dd_verify(FAR struct dd_s *dd)
212215 ret = lseek (dd -> infd , dd -> skip ? dd -> skip * dd -> sectsize : 0 , SEEK_SET );
213216 if (ret < 0 )
214217 {
215- printf ("%s: failed to infd lseek: %s\n" , g_dd , strerror (errno ));
218+ fprintf (stderr , "%s: failed to infd lseek: %s\n" , g_dd ,
219+ strerror (errno ));
216220 return ret ;
217221 }
218222
219223 dd -> eof = 0 ;
220224 ret = lseek (dd -> outfd , 0 , SEEK_SET );
221225 if (ret < 0 )
222226 {
223- printf ("%s: failed to outfd lseek: %s\n" , g_dd , strerror (errno ));
227+ fprintf (stderr , "%s: failed to outfd lseek: %s\n" , g_dd ,
228+ strerror (errno ));
224229 return ret ;
225230 }
226231
@@ -241,7 +246,7 @@ static int dd_verify(FAR struct dd_s *dd)
241246 ret = read (dd -> outfd , buffer , dd -> nbytes );
242247 if (ret != dd -> nbytes )
243248 {
244- printf ( "%s: failed to outfd read: %d\n" ,
249+ fprintf ( stderr , "%s: failed to outfd read: %d\n" ,
245250 g_dd , ret < 0 ? errno : ret );
246251 break ;
247252 }
@@ -255,7 +260,8 @@ static int dd_verify(FAR struct dd_s *dd)
255260 snprintf (msg , sizeof (msg ), "\noutfile sector %d" , sector );
256261 lib_dumpbuffer (msg , buffer , dd -> nbytes );
257262#else
258- printf ("%s: sector %d differs unexpectedly\n" , g_dd , sector );
263+ fprintf (stderr , "%s: sector %d differs unexpectedly\n" , g_dd ,
264+ sector );
259265#endif
260266 ret = ERROR ;
261267 break ;
@@ -266,7 +272,7 @@ static int dd_verify(FAR struct dd_s *dd)
266272
267273 if (ret < 0 )
268274 {
269- printf ( "%s: failed to dd verify: %d\n" , g_dd , ret );
275+ fprintf ( stderr , "%s: failed to dd verify: %d\n" , g_dd , ret );
270276 }
271277
272278 free (buffer );
@@ -277,10 +283,10 @@ static int dd_verify(FAR struct dd_s *dd)
277283 * Name: print_usage
278284 ****************************************************************************/
279285
280- static void print_usage (void )
286+ static void print_usage (FAR FILE * stream )
281287{
282- printf ( "usage:\n" );
283- printf ( " %s [if=<infile>] [of=<outfile>] [bs=<sectsize>] "
288+ fprintf ( stream , "usage:\n" );
289+ fprintf ( stream , " %s [if=<infile>] [of=<outfile>] [bs=<sectsize>] "
284290 "[count=<sectors>] [skip=<sectors>] [seek=<sectors>] [verify] "
285291 "[conv=<nocreat,notrunc>]\n" , g_dd );
286292}
@@ -360,7 +366,7 @@ int main(int argc, FAR char **argv)
360366 }
361367 else
362368 {
363- printf ( "%s: unknown conversion '%.*s'\n" , g_dd ,
369+ fprintf ( stderr , "%s: unknown conversion '%.*s'\n" , g_dd ,
364370 (int )len , cur );
365371 goto errout_with_paths ;
366372 }
@@ -375,7 +381,7 @@ int main(int argc, FAR char **argv)
375381 }
376382 else
377383 {
378- print_usage ();
384+ print_usage (stderr );
379385 goto errout_with_paths ;
380386 }
381387 }
@@ -384,8 +390,9 @@ int main(int argc, FAR char **argv)
384390
385391 if ((dd .oflags & O_RDONLY ) && (infile == NULL || outfile == NULL ))
386392 {
387- printf ("%s: invalid parameters: %s\n" , g_dd , strerror (EINVAL ));
388- print_usage ();
393+ fprintf (stderr , "%s: invalid parameters: %s\n" , g_dd ,
394+ strerror (EINVAL ));
395+ print_usage (stderr );
389396 goto errout_with_paths ;
390397 }
391398
@@ -394,7 +401,7 @@ int main(int argc, FAR char **argv)
394401 dd .buffer = malloc (dd .sectsize );
395402 if (!dd .buffer )
396403 {
397- printf ( "%s: failed to malloc: %s\n" , g_dd , strerror (errno ));
404+ fprintf ( stderr , "%s: failed to malloc: %s\n" , g_dd , strerror (errno ));
398405 goto errout_with_paths ;
399406 }
400407
@@ -419,7 +426,8 @@ int main(int argc, FAR char **argv)
419426 ret = lseek (dd .infd , dd .skip * dd .sectsize , SEEK_SET );
420427 if (ret < 0 )
421428 {
422- printf ("%s: failed to lseek: %s\n" , g_dd , strerror (errno ));
429+ fprintf (stderr , "%s: failed to lseek: %s\n" , g_dd ,
430+ strerror (errno ));
423431 ret = ERROR ;
424432 goto errout_with_outf ;
425433 }
@@ -430,7 +438,7 @@ int main(int argc, FAR char **argv)
430438 ret = lseek (dd .outfd , dd .seek * dd .sectsize , SEEK_SET );
431439 if (ret < 0 )
432440 {
433- printf ( "%s: failed to lseek on output: %s\n" ,
441+ fprintf ( stderr , "%s: failed to lseek on output: %s\n" ,
434442 g_dd , strerror (errno ));
435443 ret = ERROR ;
436444 goto errout_with_outf ;
@@ -483,9 +491,9 @@ int main(int argc, FAR char **argv)
483491 elapsed -= (((uint64_t )ts0 .tv_sec * NSEC_PER_SEC ) + ts0 .tv_nsec );
484492 elapsed /= NSEC_PER_USEC ; /* usec */
485493
486- printf ( "%" PRIu64 " bytes (%" PRIu32 " blocks) copied, %u usec, " ,
494+ fprintf ( stderr , "%" PRIu64 " bytes (%" PRIu32 " blocks) copied, %u usec, " ,
487495 total , sector , (unsigned int )elapsed );
488- printf ( "%u KB/s\n" ,
496+ fprintf ( stderr , "%u KB/s\n" ,
489497 (unsigned int )(((double )total / 1024 )
490498 / ((double )elapsed / USEC_PER_SEC )));
491499#endif
@@ -501,7 +509,8 @@ int main(int argc, FAR char **argv)
501509 dd .outfd = close (dd .outfd );
502510 if (dd .outfd < 0 )
503511 {
504- printf ("%s failed to close outfd:%s\n" , g_dd , strerror (errno ));
512+ fprintf (stderr , "%s failed to close outfd:%s\n" , g_dd ,
513+ strerror (errno ));
505514 }
506515 }
507516
@@ -511,7 +520,8 @@ int main(int argc, FAR char **argv)
511520 dd .infd = close (dd .infd );
512521 if (dd .infd < 0 )
513522 {
514- printf ("%s failed to close infd:%s\n" , g_dd , strerror (errno ));
523+ fprintf (stderr , "%s failed to close infd:%s\n" , g_dd ,
524+ strerror (errno ));
515525 }
516526 }
517527
0 commit comments