Browse Source

dumpfile: add documentation & do cleanup (remove err(), ...)

sbg
Beat Küng 8 years ago
parent
commit
0fdd2b9fea
  1. 34
      src/systemcmds/dumpfile/dumpfile.c

34
src/systemcmds/dumpfile/dumpfile.c

@ -34,12 +34,12 @@ @@ -34,12 +34,12 @@
/**
* @file dumpfile.c
*
* Dump file utility. Prints file size and contents in binary mode (don't replace LF with CR LF) to stdout.
*
* @author Anton Babushkin <anton.babushkin@me.com>
*/
#include <px4_config.h>
#include <px4_log.h>
#include <px4_module.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
@ -51,11 +51,21 @@ @@ -51,11 +51,21 @@
__EXPORT int dumpfile_main(int argc, char *argv[]);
static void print_usage(void)
{
PRINT_MODULE_DESCRIPTION("Dump file utility. Prints file size and contents in binary mode (don't replace LF with CR LF) to stdout.");
PRINT_MODULE_USAGE_NAME_SIMPLE("dumpfile", "command");
PRINT_MODULE_USAGE_ARG("<file>", "File to dump", false);
}
int
dumpfile_main(int argc, char *argv[])
{
if (argc < 2) {
errx(1, "usage: dumpfile <filename>");
print_usage();
return 1;
}
/* open input file */
@ -63,8 +73,8 @@ dumpfile_main(int argc, char *argv[]) @@ -63,8 +73,8 @@ dumpfile_main(int argc, char *argv[])
f = fopen(argv[1], "r");
if (f == NULL) {
printf("ERROR\n");
exit(1);
PX4_ERR("Failed to open file (%i)", errno);
return 1;
}
/* get file size */
@ -72,7 +82,7 @@ dumpfile_main(int argc, char *argv[]) @@ -72,7 +82,7 @@ dumpfile_main(int argc, char *argv[])
int size = ftell(f);
fseek(f, 0L, SEEK_SET);
printf("OK %d\n", size);
printf("File size: %d bytes\n", size);
/* configure stdout */
int out = fileno(stdout);
@ -88,8 +98,8 @@ dumpfile_main(int argc, char *argv[]) @@ -88,8 +98,8 @@ dumpfile_main(int argc, char *argv[])
tc.c_oflag &= ~ONLCR;
if (tcsetattr(out, TCSANOW, &tc) < 0) {
warnx("ERROR setting stdout attributes");
exit(1);
PX4_ERR("failed setting stdout attributes");
return 1;
}
char buf[512];
@ -98,7 +108,7 @@ dumpfile_main(int argc, char *argv[]) @@ -98,7 +108,7 @@ dumpfile_main(int argc, char *argv[])
/* dump file */
while ((nread = fread(buf, 1, sizeof(buf), f)) > 0) {
if (write(out, buf, nread) <= 0) {
warnx("error dumping file");
PX4_ERR("write failed");
break;
}
}
@ -108,9 +118,9 @@ dumpfile_main(int argc, char *argv[]) @@ -108,9 +118,9 @@ dumpfile_main(int argc, char *argv[])
/* restore old terminal attributes */
if (tcsetattr(out, TCSANOW, &tc_old) < 0) {
warnx("ERROR restoring stdout attributes");
exit(1);
PX4_ERR("failed to restore stdout attributes");
return 1;
}
return OK;
return 0;
}

Loading…
Cancel
Save