aboutsummaryrefslogtreecommitdiff
path: root/apps/sdlog/sdlog.c
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2012-10-25 18:53:03 +0200
committerLorenz Meier <lm@inf.ethz.ch>2012-10-25 18:53:03 +0200
commit5f016884901f92f2c14d23ee0b15b513e9154c9a (patch)
tree243df6651012c6f9aeaa7434e9a816b3f024005f /apps/sdlog/sdlog.c
parentc71f2ea20482a9483e4c068c858cfe8e19f1c11c (diff)
downloadpx4-firmware-5f016884901f92f2c14d23ee0b15b513e9154c9a.tar.gz
px4-firmware-5f016884901f92f2c14d23ee0b15b513e9154c9a.tar.bz2
px4-firmware-5f016884901f92f2c14d23ee0b15b513e9154c9a.zip
Fixed automatic log conversion / plotting script
Diffstat (limited to 'apps/sdlog/sdlog.c')
-rw-r--r--apps/sdlog/sdlog.c10
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;
}