diff dmd/FileName.d @ 114:e28b18c23469

added a module dmd.common for commonly used stuff it currently holds code for consistency checking of predefined versions also added a VisualD project file
author Trass3r
date Wed, 01 Sep 2010 18:21:58 +0200
parents 3ddadd0c4534
children 9d194c848e3a
line wrap: on
line diff
--- a/dmd/FileName.d	Tue Aug 31 23:57:32 2010 +0100
+++ b/dmd/FileName.d	Wed Sep 01 18:21:58 2010 +0200
@@ -1,5 +1,6 @@
 module dmd.FileName;
 
+import dmd.common;
 import dmd.String;
 import dmd.Array;
 import dmd.OutBuffer;
@@ -41,7 +42,8 @@
 
     override hash_t hashCode()
 	{
-version (_WIN32) {
+version (Windows)
+{
 		// We need a different hashCode because it must be case-insensitive
 		size_t len = str.length;
 		hash_t hash = 0;
@@ -110,7 +112,7 @@
 
 	static pure bool absolute(const(char)[] name)
 	{
-version (_WIN32)
+version (Windows)
 {
 		return (name[0] == '\\') ||
 			(name[0] == '/')  ||
@@ -143,7 +145,8 @@
 				case '/':
 					return null;
 }
-version (_WIN32) {
+version (Windows)
+{
 				case '\\':
 				case ':':
 				case '/':
@@ -188,11 +191,13 @@
 		{
 			switch (c)
 			{
-version (POSIX) {
+version (Posix)
+{
 				case '/':
 				   return str[i+1..$];
 }
-version (_WIN32) {
+version (Windows)
+{
 				case '/':
 				case '\\':
 					return str[i+1..$];
@@ -230,13 +235,16 @@
 		if (n > str.ptr)
 		{
 			auto p = n - 1;
-version (POSIX) {
+version (Posix)
+{
 			if (*p == '/')
 				n--;
-} else version (_WIN32) {
+} else version (Windows)
+{
 			if (*p == '\\' || *p == '/')
 				n--;
-} else {
+} else
+{
 			static assert(false);
 }
 		}
@@ -263,13 +271,16 @@
 
 		char* f = cast(char*)GC.malloc(pathlen + 1 + namelen + 1);
 		memcpy(f, path.ptr, pathlen);
-version (POSIX) {
+version (Posix)
+{
 		if (path[pathlen - 1] != '/')
 		{
 			f[pathlen] = '/';
 			pathlen++;
 		}
-} else version (_WIN32) {
+}
+else version (Windows)
+{
 		if (path[pathlen - 1] != '\\' &&
 			path[pathlen - 1] != '/' &&
 			path[pathlen - 1] != ':')
@@ -277,7 +288,9 @@
 			f[pathlen] = '\\';
 			pathlen++;
 		}
-} else {
+}
+else
+{
 		static assert(false);
 }
 		memcpy(f + pathlen, name.ptr, namelen + 1);
@@ -300,13 +313,15 @@
 
 		memcpy(f, path.ptr, pathlen);
 
-version (POSIX) {
+version (Posix) {
 		if (path[pathlen - 1] != '/')
 		{
 			f[pathlen] = '/';
 			pathlen++;
 		}
-} else version (_WIN32) {
+}
+else version (Windows)
+{
 		if (path[pathlen - 1] != '\\' && 
 			path[pathlen - 1] != '/'  &&
 			path[pathlen - 1] != ':')
@@ -314,7 +329,9 @@
 			f[pathlen] = '\\';
 			pathlen++;
 		}
-} else {
+}
+else
+{
 		static assert(0);
 }
 		memcpy(f + pathlen, name.ptr, namelen + 1);
@@ -355,10 +372,10 @@
 	version (MACINTOSH) {
 						case ',':
 	}
-	version (_WIN32) {
+	version (Windows) {
 						case ';':
 	}
-	version (POSIX) {
+	version (Posix) {
 						case ':':
 	}
 							p++;
@@ -451,7 +468,7 @@
 
 version (POSIX) {
 		return cmp(e,ext) == 0;
-} else version (_WIN32) {
+} else version (Windows) {
 		return icmp(e,ext) == 0;
 } else {
 		static assert(0);
@@ -466,9 +483,9 @@
 	{
 		scope File file = new File(this);
 
-version (_WIN32) {
+version (Win32) {
 		file.touchtime = GC.malloc(WIN32_FIND_DATA.sizeof);	// keep same file time
-} else version (POSIX) {
+} else version (Posix) {
 		file.touchtime = GC.malloc(stat_t.sizeof); // keep same file time
 } else {
 		static assert(0);
@@ -537,7 +554,7 @@
 
     static int exists(string name)
 	{
-version (POSIX) {
+version (Posix) {
 		stat_t st;
 
 		if (stat(toStringz(name), &st) < 0)
@@ -545,7 +562,7 @@
 		if (S_ISDIR(st.st_mode))
 			return 2;
 		return 1;
-} else version (_WIN32) {
+} else version (Win32) {
 		HANDLE h = CreateFileA(toStringz(name), GENERIC_READ, FILE_SHARE_READ, null, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN, HANDLE.init);	///
 		if (h == INVALID_HANDLE_VALUE) {
 			return 0;