Quellcode durchsuchen

renamed WinFiles64 -> HostFiles64

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7613 8c9fc860-2736-0410-a75d-ab315db34111
eth.metacore vor 7 Jahren
Ursprung
Commit
137ec50d8d
3 geänderte Dateien mit 146 neuen und 152 gelöschten Zeilen
  1. 4 8
      source/Files64.Mod
  2. 139 139
      source/RelativeFiles64.Mod
  3. 3 5
      source/Win32.HostFiles64.Mod

+ 4 - 8
source/Files64.Mod

@@ -1023,10 +1023,8 @@ PROCEDURE AddSearchPath*(context: Commands.Context);
 VAR cmd: ARRAY 32 OF CHAR; msg: ARRAY 256 OF CHAR;  res: LONGINT;
 BEGIN
 	(* preliminary implementation until we know how to solve this generically *)
-	IF Modules.ModuleByName("WinFiles64") # NIL THEN
-		cmd := "WinFiles64.AddSearchPath";
-	ELSIF Modules.ModuleByName("UnixFiles64") # NIL THEN
-		cmd := "UnixFiles64.AddSearchPath";
+	IF Modules.ModuleByName("HostFiles64") # NIL THEN
+		cmd := "HostFiles64.AddSearchPath";
 	END;
 	IF cmd # "" THEN
 		Commands.Activate(cmd, context, {Commands.Wait}, res, msg);
@@ -1039,10 +1037,8 @@ PROCEDURE SetWorkPath*(context: Commands.Context);
 VAR cmd: ARRAY 32 OF CHAR; msg: ARRAY 256 OF CHAR;  res: LONGINT;
 BEGIN
 	(* preliminary implementation until we know how to solve this generically *)
-	IF Modules.ModuleByName("WinFiles64") # NIL THEN
-		cmd := "WinFiles64.SetWorkPath";
-	ELSIF Modules.ModuleByName("UnixFiles64") # NIL THEN
-		cmd := "UnixFiles64.SetWorkPath";
+	IF Modules.ModuleByName("HostFiles64") # NIL THEN
+		cmd := "HostFiles64.SetWorkPath";
 	END;
 	IF cmd # "" THEN
 		Commands.Activate(cmd, context, {Commands.Wait}, res, msg);

+ 139 - 139
source/RelativeFiles64.Mod

@@ -1,140 +1,140 @@
-MODULE RelativeFiles64;	(**  AUTHOR "fof"; PURPOSE "";  **)
-
-IMPORT Files := Files64,UTF8Strings;
-TYPE PathName=ARRAY 272 OF CHAR;
-
-	FileSystem = OBJECT(Files.FileSystem)
-	VAR relTo: PathName; fs: Files.FileSystem;
-
-		PROCEDURE &InitFileSystem*( relTo: ARRAY OF CHAR; fs: Files.FileSystem);
-		VAR ch: CHAR;i: LONGINT;
-		BEGIN
-			SELF.fs := fs;
-			INCL(flags,Files.NeedsPrefix);
-			i :=0; ch := 0X;
-			WHILE(relTo[i] # 0X) DO
-				ch := relTo[i];
-				INC(i);
-			END;
-			IF (ch = "/") & (i>1)  THEN relTo[i-1] := 0X END; (* remove ending "/" *)
-
-			IF fs.prefix # "" THEN
-				RemovePrefix(relTo);
-			END;
-
-			COPY(relTo,SELF.relTo);
-		END InitFileSystem;
-
-		PROCEDURE MakeRel(VAR name,new: ARRAY OF CHAR);
-		BEGIN
-			COPY(relTo,new);
-			RemovePrefix(name);
-			IF name[0] # "/" THEN  UTF8Strings.Append("/",new); END;
-			UTF8Strings.Append(name,new);
-		END MakeRel;
-
-		PROCEDURE New0 (name: ARRAY OF CHAR): Files.File;
-		VAR new: PathName;
-		BEGIN
-			MakeRel(name,new); RETURN fs.New0(new);
-		END New0;
-
-		PROCEDURE Old0 (name: ARRAY OF CHAR): Files.File;
-		VAR new: PathName;
-		BEGIN
-			(* Out.String("Old0, called with:"); Out.String(name); Out.Ln; *)
-			MakeRel(name,new);
-			(* Out.String("Old0, calling with:"); Out.String(new); Out.Ln; *)
-			RETURN fs.Old0(new);
-		END Old0;
-
-		PROCEDURE CreateDirectory0 (name: ARRAY OF CHAR;     VAR res: LONGINT);
-		VAR new: PathName;
-		BEGIN
-			MakeRel(name,new); fs.CreateDirectory0(new,res);
-		END CreateDirectory0;
-
-		PROCEDURE Delete0 (name: ARRAY OF CHAR;     VAR key, res: LONGINT);
-		VAR new: PathName;
-		BEGIN
-			MakeRel(name,new); fs.Delete0(new,key,res);
-		END Delete0;
-
-		PROCEDURE Enumerate0 (mask: ARRAY OF CHAR;     flags: SET;     enum: Files.Enumerator);
-		VAR new: PathName;
-		BEGIN
-			MakeRel(mask,new);
-			fs.Enumerate0(new,flags,enum);
-		END Enumerate0;
-
-		PROCEDURE FileKey (name: ARRAY OF CHAR): LONGINT;
-		VAR new: PathName;
-		BEGIN
-			(*Out.String("FileKey, called with:"); Out.String(name); Out.Ln; *)
-			MakeRel(name,new);
-			(*Out.String("FileKey, calling with:"); Out.String(new); Out.Ln;*)
-			RETURN fs.FileKey(new);
-		END FileKey;
-
-		PROCEDURE RemoveDirectory0 (name: ARRAY OF CHAR;     force: BOOLEAN;     VAR key, res: LONGINT);
-		VAR new: PathName;
-		BEGIN
-			MakeRel(name,new);  fs.RemoveDirectory0(new,force,key,res);
-		END RemoveDirectory0;
-
-		PROCEDURE Rename0 (old, new: ARRAY OF CHAR;     f: Files.File;      VAR res: LONGINT);
-		VAR old1,new1: PathName;
-		BEGIN
-			MakeRel(old,old1); MakeRel(new,new1);fs.Rename0(old1,new1,f,res);
-		END Rename0;
-
-	END FileSystem;
-
-	PROCEDURE RemovePrefix(VAR name: ARRAY OF CHAR);
-	VAR i,j: LONGINT;
-	BEGIN
-		WHILE(name[i] # 0X) & (name[i] # ":") DO
-			INC(i);
-		END;
-		IF name[i] = ":" THEN
-			j := 0; INC(i);
-			WHILE(name[i] # 0X) DO
-				name[j] := name[i]; INC(i);INC(j);
-			END;
-			name[j] := 0X;
-		END;
-	END RemovePrefix;
-
-	(** NewFS - Create a new filesystem relative to a Windows path. does not protect paths higher than relTo! (xyz:/../../.. could be used) *)
-	PROCEDURE NewFS*(context : Files.Parameters);
-	VAR str,prefix,name: ARRAY 256 OF CHAR; fs: FileSystem; rel: Files.FileSystem; ft: Files.FileSystemTable;
-	BEGIN
-		IF context.arg.GetString(str) THEN
-			Files.SplitName(str,prefix,name);
-			IF prefix # "" THEN
-				rel := Files.This(prefix);
-			ELSE
-				Files.GetList(ft);
-				rel := ft[0];
-			END;
-			IF rel # NIL THEN
-				NEW(fs,str,rel);
-				Files.Add(fs, context.prefix);
-			ELSE
-				context.out.String("file system could not be found: "); context.out.String(str); context.out.Ln;
-			END;
-		END;
-	END NewFS;
-
-
-END RelativeFiles64.
-
-SystemTools.Free RelativeFiles64 ~
-
-FSTools.Mount Work RelativeFiles64  ./ ~
-FSTools.Unmount Test ~
-
-
-
-
+MODULE RelativeFiles64;	(**  AUTHOR "fof"; PURPOSE "";  **)
+
+IMPORT Files := Files64,UTF8Strings;
+TYPE PathName=ARRAY 272 OF CHAR;
+
+	FileSystem = OBJECT(Files.FileSystem)
+	VAR relTo: PathName; fs: Files.FileSystem;
+
+		PROCEDURE &InitFileSystem*( relTo: ARRAY OF CHAR; fs: Files.FileSystem);
+		VAR ch: CHAR;i: LONGINT;
+		BEGIN
+			SELF.fs := fs;
+			INCL(flags,Files.NeedsPrefix);
+			i :=0; ch := 0X;
+			WHILE(relTo[i] # 0X) DO
+				ch := relTo[i];
+				INC(i);
+			END;
+			IF (ch = "/") & (i>1)  THEN relTo[i-1] := 0X END; (* remove ending "/" *)
+
+			IF fs.prefix # "" THEN
+				RemovePrefix(relTo);
+			END;
+
+			COPY(relTo,SELF.relTo);
+		END InitFileSystem;
+
+		PROCEDURE MakeRel(VAR name,new: ARRAY OF CHAR);
+		BEGIN
+			COPY(relTo,new);
+			RemovePrefix(name);
+			IF name[0] # "/" THEN  UTF8Strings.Append("/",new); END;
+			UTF8Strings.Append(name,new);
+		END MakeRel;
+
+		PROCEDURE New0 (name: ARRAY OF CHAR): Files.File;
+		VAR new: PathName;
+		BEGIN
+			MakeRel(name,new); RETURN fs.New0(new);
+		END New0;
+
+		PROCEDURE Old0 (name: ARRAY OF CHAR): Files.File;
+		VAR new: PathName;
+		BEGIN
+			(* Out.String("Old0, called with:"); Out.String(name); Out.Ln; *)
+			MakeRel(name,new);
+			(* Out.String("Old0, calling with:"); Out.String(new); Out.Ln; *)
+			RETURN fs.Old0(new);
+		END Old0;
+
+		PROCEDURE CreateDirectory0 (name: ARRAY OF CHAR;     VAR res: LONGINT);
+		VAR new: PathName;
+		BEGIN
+			MakeRel(name,new); fs.CreateDirectory0(new,res);
+		END CreateDirectory0;
+
+		PROCEDURE Delete0 (name: ARRAY OF CHAR;     VAR key, res: LONGINT);
+		VAR new: PathName;
+		BEGIN
+			MakeRel(name,new); fs.Delete0(new,key,res);
+		END Delete0;
+
+		PROCEDURE Enumerate0 (mask: ARRAY OF CHAR;     flags: SET;     enum: Files.Enumerator);
+		VAR new: PathName;
+		BEGIN
+			MakeRel(mask,new); 
+			fs.Enumerate0(new,flags,enum);
+		END Enumerate0;
+
+		PROCEDURE FileKey (name: ARRAY OF CHAR): LONGINT;
+		VAR new: PathName;
+		BEGIN
+			(*Out.String("FileKey, called with:"); Out.String(name); Out.Ln; *)
+			MakeRel(name,new);
+			(*Out.String("FileKey, calling with:"); Out.String(new); Out.Ln;*)
+			RETURN fs.FileKey(new);
+		END FileKey;
+
+		PROCEDURE RemoveDirectory0 (name: ARRAY OF CHAR;     force: BOOLEAN;     VAR key, res: LONGINT);
+		VAR new: PathName;
+		BEGIN
+			MakeRel(name,new);  fs.RemoveDirectory0(new,force,key,res);
+		END RemoveDirectory0;
+
+		PROCEDURE Rename0 (old, new: ARRAY OF CHAR;     f: Files.File;      VAR res: LONGINT);
+		VAR old1,new1: PathName;
+		BEGIN
+			MakeRel(old,old1); MakeRel(new,new1);fs.Rename0(old1,new1,f,res);
+		END Rename0;
+
+	END FileSystem;
+
+	PROCEDURE RemovePrefix(VAR name: ARRAY OF CHAR);
+	VAR i,j: LONGINT;
+	BEGIN
+		WHILE(name[i] # 0X) & (name[i] # ":") DO
+			INC(i);
+		END;
+		IF name[i] = ":" THEN
+			j := 0; INC(i);
+			WHILE(name[i] # 0X) DO
+				name[j] := name[i]; INC(i);INC(j);
+			END;
+			name[j] := 0X;
+		END;
+	END RemovePrefix;
+
+	(** NewFS - Create a new filesystem relative to a Windows path. does not protect paths higher than relTo! (xyz:/../../.. could be used) *)
+	PROCEDURE NewFS*(context : Files.Parameters);
+	VAR str,prefix,name: ARRAY 256 OF CHAR; fs: FileSystem; rel: Files.FileSystem; ft: Files.FileSystemTable;
+	BEGIN
+		IF context.arg.GetString(str) THEN
+			Files.SplitName(str,prefix,name);
+			IF prefix # "" THEN
+				rel := Files.This(prefix);
+			ELSE
+				Files.GetList(ft);
+				rel := ft[0];
+			END;
+			IF rel # NIL THEN
+				NEW(fs,str,rel);
+				Files.Add(fs, context.prefix);
+			ELSE
+				context.out.String("file system could not be found: "); context.out.String(str); context.out.Ln;
+			END;
+		END;
+	END NewFS;
+
+
+END RelativeFiles64.
+
+SystemTools.Free RelativeFiles64 ~
+
+FSTools64.Mount Work RelativeFiles64  ./ ~
+FSTools64.Unmount Test ~
+
+
+
+
 System.Directory src:/*

+ 3 - 5
source/Win32.WinFiles64.Mod → source/Win32.HostFiles64.Mod

@@ -1,4 +1,4 @@
-MODULE WinFiles64;   (*AUTHOR "fof,ejz"; PURPOSE "Windows file system  for WinAos"; *)
+MODULE HostFiles64;   (*AUTHOR "fof,ejz"; PURPOSE "Windows file system  for WinAos"; *)
 
 IMPORT SYSTEM, Machine, Kernel32, KernelLog, Modules, Kernel, Files := Files64, Commands;
 
@@ -845,7 +845,7 @@ VAR
 		IF (Files.This(context.prefix ) = NIL) THEN
 			NEW( fs );  fs.vol := context.vol;  Files.Add( fs, context.prefix );
 		ELSE
-			context.error.String( "WinFiles64: " );  context.error.String( context.prefix );  context.error.String( " already in use" );
+			context.error.String( "HostFiles64: " );  context.error.String( context.prefix );  context.error.String( " already in use" );
 			context.error.Ln;
 		 END;
 	END NewFS;
@@ -1282,6 +1282,4 @@ VAR
 
 BEGIN
 	Init();  Modules.InstallTermHandler( Finalization ); SetPaths;
-END WinFiles64.
-
-Compiler.Compile -p=Win32G Streams64.Mod Files64.Mod Win32.WinFiles64.Mod FSTools64.Mod ~
+END HostFiles64.