diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2012-10-25 18:53:03 +0200 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2012-10-25 18:53:03 +0200 |
commit | 5f016884901f92f2c14d23ee0b15b513e9154c9a (patch) | |
tree | 243df6651012c6f9aeaa7434e9a816b3f024005f /apps/sdlog | |
parent | c71f2ea20482a9483e4c068c858cfe8e19f1c11c (diff) | |
download | px4-firmware-5f016884901f92f2c14d23ee0b15b513e9154c9a.tar.gz px4-firmware-5f016884901f92f2c14d23ee0b15b513e9154c9a.tar.bz2 px4-firmware-5f016884901f92f2c14d23ee0b15b513e9154c9a.zip |
Fixed automatic log conversion / plotting script
Diffstat (limited to 'apps/sdlog')
-rw-r--r-- | apps/sdlog/sdlog.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/apps/sdlog/sdlog.c b/apps/sdlog/sdlog.c index a934d0d33..7d2f6afba 100644 --- a/apps/sdlog/sdlog.c +++ b/apps/sdlog/sdlog.c @@ -567,6 +567,7 @@ int file_copy(const char* file_old, const char* file_new) { FILE *source, *target; source = fopen(file_old, "r"); + int ret = 0; if( source == NULL ) { @@ -580,21 +581,24 @@ int file_copy(const char* file_old, const char* file_new) { fclose(source); warnx("failed to open output file to copy"); + return 1; } char buf[128]; int nread; - while ((nread = fread(buf, sizeof(buf), 1, source)) > 0) { - int ret = fwrite(buf, sizeof(buf), 1, target); + while ((nread = fread(buf, 1, sizeof(buf), source)) > 0) { + int ret = fwrite(buf, 1, nread, target); if (ret <= 0) { warnx("error writing file"); + ret = 1; break; } } + fsync(fileno(target)); fclose(source); fclose(target); - return 0; + return ret; } |