Browse Source

add temporary type TSize for the basic swithing between 32/64 bits file pointers

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7632 8c9fc860-2736-0410-a75d-ab315db34111
eth.metacore 7 years ago
parent
commit
f3109e31f6
4 changed files with 28 additions and 14 deletions
  1. 14 11
      source/Files.Mod
  2. 3 0
      source/Files64.Mod
  3. 6 2
      source/Streams.Mod
  4. 5 1
      source/Streams64.Mod

+ 14 - 11
source/Files.Mod

@@ -56,6 +56,9 @@ CONST
 	(* file system behaviour flags *)
 	NeedsPrefix* = 0; (* if no prefix given, then this file system cannot handle it, to prevent file systems from being in the search path *)
 
+TYPE
+	TSize* = Streams.TSize;
+
 TYPE
 (** All record fields are read-only for users, and read-write for extenders. *)
 
@@ -316,17 +319,17 @@ TYPE
 		BEGIN	(* see note in Volume.Finalize *)
 			vol := NIL
 		END Finalize;
-		
+
 		(* default implementation using an enumerator *)
 		PROCEDURE Has*(CONST name: ARRAY OF CHAR; VAR fullName: ARRAY OF CHAR; VAR flags: SET): BOOLEAN;
 		VAR enum: Enumerator; time, date, size: LONGINT;
 		BEGIN
 			NEW(enum);
 			enum.Open(name,{});
-			IF enum.HasMoreEntries() & enum.GetEntry(fullName, flags, time, date, size) THEN 
-				RETURN TRUE 
-			ELSE 
-				RETURN FALSE 
+			IF enum.HasMoreEntries() & enum.GetEntry(fullName, flags, time, date, size) THEN
+				RETURN TRUE
+			ELSE
+				RETURN FALSE
 			END;
 		END Has;
 
@@ -1115,12 +1118,12 @@ 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("WinFS") # NIL THEN 
+	IF Modules.ModuleByName("WinFS") # NIL THEN
 		cmd := "WinFS.AddSearchPath";
-	ELSIF Modules.ModuleByName("UnixFiles") # NIL THEN 
+	ELSIF Modules.ModuleByName("UnixFiles") # NIL THEN
 		cmd := "UnixFiles.AddSearchPath";
 	END;
-	IF cmd # "" THEN 
+	IF cmd # "" THEN
 		Commands.Activate(cmd, context, {Commands.Wait}, res, msg);
 		IF res # 0 THEN context.error.String(msg); context.error.Ln; END;
 	END
@@ -1131,12 +1134,12 @@ 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("WinFS") # NIL THEN 
+	IF Modules.ModuleByName("WinFS") # NIL THEN
 		cmd := "WinFS.SetWorkPath";
-	ELSIF Modules.ModuleByName("UnixFiles") # NIL THEN 
+	ELSIF Modules.ModuleByName("UnixFiles") # NIL THEN
 		cmd := "UnixFiles.SetWorkPath";
 	END;
-	IF cmd # "" THEN 
+	IF cmd # "" THEN
 		Commands.Activate(cmd, context, {Commands.Wait}, res, msg);
 		IF res # 0 THEN context.error.String(msg); context.error.Ln; END;
 	END

+ 3 - 0
source/Files64.Mod

@@ -58,6 +58,9 @@ CONST
 	(* file system behaviour flags *)
 	NeedsPrefix*		= Files.NeedsPrefix; (* if no prefix given, then this file system cannot handle it, to prevent file systems from being in the search path *)
 
+TYPE
+	TSize* = Streams.TSize;
+
 TYPE
 (** All record fields are read-only for users, and read-write for extenders. *)
 

+ 6 - 2
source/Streams.Mod

@@ -21,6 +21,10 @@ CONST
 
 VAR
 	H, L: INTEGER;
+
+TYPE
+	TSize* = LONGINT;
+
 TYPE
 	(** Any stream output procedure or method. *)
 	Sender* = PROCEDURE {DELEGATE} ( CONST buf: ARRAY OF CHAR;  ofs, len: LONGINT;  propagate: BOOLEAN;  VAR res: LONGINT );
@@ -269,7 +273,7 @@ TYPE
 			END;
 			Char( "}" )
 		END Set;	*)
-		
+
 		PROCEDURE Set*( s: SET );   (* from P. Saladin *)
 		VAR i, last: LONGINT;  dots: BOOLEAN;
 		BEGIN
@@ -813,7 +817,7 @@ TYPE
 					ch := Get();
 				END;
 				IF negE THEN y := y / Ten(e)
-				ELSE y := y * Ten(e) 
+				ELSE y := y * Ten(e)
 				END;
 			END;
 			IF neg THEN y := -y END;

+ 5 - 1
source/Streams64.Mod

@@ -21,6 +21,10 @@ CONST
 
 VAR
 	H, L: INTEGER;
+
+TYPE
+	TSize* = HUGEINT;
+
 TYPE
 	(** Any stream output procedure or method. *)
 	Sender* = PROCEDURE {DELEGATE} ( CONST buf: ARRAY OF CHAR;  ofs, len: LONGINT;  propagate: BOOLEAN;  VAR res: LONGINT );
@@ -813,7 +817,7 @@ TYPE
 					ch := Get();
 				END;
 				IF negE THEN y := y / Ten(e)
-				ELSE y := y * Ten(e) 
+				ELSE y := y * Ten(e)
 				END;
 			END;
 			IF neg THEN y := -y END;