diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2014-05-08 20:20:29 +0200 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2014-05-08 20:21:02 +0200 |
commit | e4c0a224af5a2835e08786a2d3ed3e641cfcb22d (patch) | |
tree | 9451c5a8ffe6d77370213b4e4fa777b1fec7937c /src/modules | |
parent | 45be38c33363921b00ff764da7f87aaf8ec591c5 (diff) | |
download | px4-firmware-e4c0a224af5a2835e08786a2d3ed3e641cfcb22d.tar.gz px4-firmware-e4c0a224af5a2835e08786a2d3ed3e641cfcb22d.tar.bz2 px4-firmware-e4c0a224af5a2835e08786a2d3ed3e641cfcb22d.zip |
Fix a param save issue where a state variable might preven the parameters from being saved (identified and fixed by ultrasystem)
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/systemlib/param/param.c | 64 |
1 files changed, 3 insertions, 61 deletions
diff --git a/src/modules/systemlib/param/param.c b/src/modules/systemlib/param/param.c index 2d773fd25..7a499ca72 100644 --- a/src/modules/systemlib/param/param.c +++ b/src/modules/systemlib/param/param.c @@ -521,73 +521,15 @@ param_save_default(void) return ERROR; } - if (res == OK) { - res = param_export(fd, false); + res = param_export(fd, false); - if (res != OK) { - warnx("failed to write parameters to file: %s", filename); - } + if (res != OK) { + warnx("failed to write parameters to file: %s", filename); } close(fd); return res; - -#if 0 - const char *filename_tmp = malloc(strlen(filename) + 5); - sprintf(filename_tmp, "%s.tmp", filename); - - /* delete temp file if exist */ - res = unlink(filename_tmp); - - if (res != OK && errno == ENOENT) - res = OK; - - if (res != OK) - warn("failed to delete temp file: %s", filename_tmp); - - if (res == OK) { - /* write parameters to temp file */ - fd = open(filename_tmp, O_WRONLY | O_CREAT | O_EXCL); - - if (fd < 0) { - warn("failed to open temp file: %s", filename_tmp); - res = ERROR; - } - - if (res == OK) { - res = param_export(fd, false); - - if (res != OK) - warnx("failed to write parameters to file: %s", filename_tmp); - } - - close(fd); - } - - if (res == OK) { - /* delete parameters file */ - res = unlink(filename); - - if (res != OK && errno == ENOENT) - res = OK; - - if (res != OK) - warn("failed to delete parameters file: %s", filename); - } - - if (res == OK) { - /* rename temp file to parameters */ - res = rename(filename_tmp, filename); - - if (res != OK) - warn("failed to rename %s to %s", filename_tmp, filename); - } - - free(filename_tmp); - - return res; -#endif } /** |