Procházet zdrojové kódy

* Moved function 'exists' (file presense check) to utils.c, so that it is available to code outside of lock.c
- Fixed associated F_OK and R_OK defines causing 'already defined' warnings on MinGW (since r1361).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14528 54d463be-8e91-2dee-dedb-b68131a5f0ec

ai4rei před 14 roky
rodič
revize
c792e189e4
4 změnil soubory, kde provedl 16 přidání a 7 odebrání
  1. 3 1
      Changelog-Trunk.txt
  2. 3 6
      src/common/lock.c
  3. 9 0
      src/common/utils.c
  4. 1 0
      src/common/utils.h

+ 3 - 1
Changelog-Trunk.txt

@@ -1,11 +1,13 @@
 Date	Added
 
 2010/11/30
+	* Moved function 'exists' (file presense check) to utils.c, so that it is available to code outside of lock.c [Ai4rei]
+	- Fixed associated F_OK and R_OK defines causing 'already defined' warnings on MinGW (since r1361).
 	* Resolved missing script documentation (bugreport:4578). [Ai4rei]
 	- Added documentation for bonus bAutoSpellOnSkill (follow up to r13596).
 	- Added documentation for script command progressbar (follow up to r14024).
 	* Made job_db1.txt, job_db2.txt, size_fix.txt and refine_db.txt reading use sv_readdb. [Ai4rei]
-	- NOTE: Any MAX_LEVEL (map.h) increase requires at least same increase of SV_READDB_MAX_FIELDS as well.
+	- NOTE: Any MAX_LEVEL (map.h) increase requires at least same increase of SV_READDB_MAX_FIELDS (strlib.c) as well.
 	* Added SV_READDB_MAX_FIELDS define for configuration of the sv_readdb limit. [Ai4rei]
 	* Made skill_tree.txt reading use sv_readdb. [Ai4rei]
 	- Added define for skill entry requirements.

+ 3 - 6
src/common/lock.c

@@ -1,8 +1,9 @@
 // Copyright (c) Athena Dev Teams - Licensed under GNU GPL
 // For more information, see LICENCE in the main folder
 
-#include "../common/cbasetypes.h"
-#include "../common/showmsg.h"
+#include "cbasetypes.h"
+#include "showmsg.h"
+#include "utils.h"
 #include "lock.h"
 
 #include <stdio.h>
@@ -12,12 +13,8 @@
 #include <unistd.h>
 #else
 #include <io.h>
-#define F_OK   0x0
-#define R_OK   0x4
 #endif
 
-#define exists(filename) (!access(filename, F_OK))
-
 // 書き込みファイルの保護処理
 // (書き込みが終わるまで、旧ファイルを保管しておく)
 

+ 9 - 0
src/common/utils.c

@@ -14,7 +14,11 @@
 #include <math.h> // floor()
 
 #ifdef WIN32
+	#include <io.h>
 	#include <windows.h>
+	#ifndef F_OK
+		#define F_OK   0x0
+	#endif  /* F_OK */
 #else
 	#include <unistd.h>
 	#include <dirent.h>
@@ -182,6 +186,11 @@ void findfile(const char *p, const char *pat, void (func)(const char*))
 }
 #endif
 
+bool exists(const char* filename)
+{
+	return !access(filename, F_OK);
+}
+
 uint8 GetByte(uint32 val, int idx)
 {
 	switch( idx )

+ 1 - 0
src/common/utils.h

@@ -14,6 +14,7 @@
 void dump(FILE* fp, const unsigned char* buffer, int length);
 
 void findfile(const char *p, const char *pat, void (func)(const char*));
+bool exists(const char* filename);
 
 //Caps values to min/max
 #define cap_value(a, min, max) ((a >= max) ? max : (a <= min) ? min : a)