+ char * f_name = "atomic_write_start()";
+ char * suffix_tmp = "_tmp";
+ uint16_t size = strlen(path) + strlen(suffix_tmp) + 1;
+ *path_tmp = try_malloc(size, f_name);
+ int test = sprintf(*path_tmp, "%s%s", path, suffix_tmp);
+ exit_trouble(test < 0, f_name, "sprintf()");
+ return try_fopen(*path_tmp, "w", f_name);
+}
+
+
+
+extern void atomic_write_finish(FILE * file, char * path, char * path_tmp)
+{
+ char * f_name = "atomic_write_finish()";
+ try_fclose(file, f_name);