summaryrefslogtreecommitdiff
path: root/src/common/lock.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/lock.c')
-rw-r--r--src/common/lock.c59
1 files changed, 0 insertions, 59 deletions
diff --git a/src/common/lock.c b/src/common/lock.c
deleted file mode 100644
index d01a54ca4..000000000
--- a/src/common/lock.c
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
-// For more information, see LICENCE in the main folder
-
-#include "cbasetypes.h"
-#include "showmsg.h"
-#include "utils.h"
-#include "lock.h"
-
-#include <stdio.h>
-#include <errno.h>
-#include <string.h>
-#ifndef WIN32
-#include <unistd.h>
-#else
-#include "../common/winapi.h"
-#endif
-
-// 書き込みファイルの保護処理
-// (書き込みが終わるまで、旧ファイルを保管しておく)
-
-// 新しいファイルの書き込み開始
-FILE* lock_fopen (const char* filename, int *info) {
- char newfile[512];
- int no = 0;
-
- // 安全なファイル名を得る(手抜き)
- do {
- sprintf(newfile, "%s_%04d.tmp", filename, ++no);
- } while(exists(newfile) && no < 9999);
- *info = no;
- return fopen(newfile,"w");
-}
-
-// 旧ファイルを削除&新ファイルをリネーム
-int lock_fclose (FILE *fp, const char* filename, int *info) {
- int ret = 1;
- char newfile[512];
- char oldfile[512];
- if (fp != NULL) {
- ret = fclose(fp);
- sprintf(newfile, "%s_%04d.tmp", filename, *info);
- sprintf(oldfile, "%s.bak", filename); // old backup file
-
- if (exists(oldfile)) remove(oldfile); // remove backup file if it already exists
- rename (filename, oldfile); // backup our older data instead of deleting it
-
- // このタイミングで落ちると最悪。
- if ((ret = rename(newfile,filename)) != 0) { // rename our temporary file to its correct name
-#if defined(__NETBSD__) || defined(_WIN32) || defined(sun) || defined (_sun) || defined (__sun__)
- ShowError("%s - '"CL_WHITE"%s"CL_RESET"'\n", strerror(errno), newfile);
-#else
- char ebuf[255];
- ShowError("%s - '"CL_WHITE"%s"CL_RESET"'\n", strerror_r(errno, ebuf, sizeof(ebuf)), newfile);
-#endif
- }
- }
-
- return ret;
-}