27 #define TMP_EXT ".tmp"
34 fname_tmp =
static_cast<char *
>(malloc(strlen(fname)+
sizeof(
TMP_EXT)));
35 if (fname_tmp == NULL) {
40 sprintf(fname_tmp,
"%s%s", fname,
TMP_EXT);
42 f = fopen(fname_tmp,
"w");
50 if (
of->fname == NULL) {
56 of->fname_tmp = fname_tmp;
62 if (ferror(
of->file)) {
65 remove(
of->fname_tmp);
70 if (fclose(
of->file) != 0) {
72 remove(
of->fname_tmp);
77 if (rename(
of->fname_tmp,
of->fname) != 0) {
78 LOG(
llevError,
"%s: cannot rename from %s: %s\n",
of->fname,
of->fname_tmp, strerror(errno));
79 remove(
of->fname_tmp);
92 remove(
of->fname_tmp);