summaryrefslogtreecommitdiff
path: root/misc/src/common/lock.c
diff options
context:
space:
mode:
Diffstat (limited to 'misc/src/common/lock.c')
-rw-r--r--misc/src/common/lock.c37
1 files changed, 0 insertions, 37 deletions
diff --git a/misc/src/common/lock.c b/misc/src/common/lock.c
deleted file mode 100644
index 9a2205b..0000000
--- a/misc/src/common/lock.c
+++ /dev/null
@@ -1,37 +0,0 @@
-
-#include <stdio.h>
-#include "lock.h"
-
-// 書き込みファイルの保護処理
-// (書き込みが終わるまで、旧ファイルを保管しておく)
-
-// 新しいファイルの書き込み開始
-FILE* lock_fopen(const char* filename,int *info) {
- char newfile[512];
- FILE *fp;
- int no = 0;
-
- // 安全なファイル名を得る(手抜き)
- do {
- sprintf(newfile,"%s_%04d.tmp",filename,++no);
- } while((fp = fopen(newfile,"r")) && (fclose(fp), no<9999) );
- *info = no;
- return fopen(newfile,"w");
-}
-
-// 旧ファイルを削除&新ファイルをリネーム
-int lock_fclose(FILE *fp,const char* filename,int *info) {
- int ret = 0;
- char newfile[512];
- if(fp != NULL) {
- ret = fclose(fp);
- sprintf(newfile,"%s_%04d.tmp",filename,*info);
- remove(filename);
- // このタイミングで落ちると最悪。
- rename(newfile,filename);
- return ret;
- } else {
- return 1;
- }
-}
-