Explorar el Código

Adapted file status type

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7707 8c9fc860-2736-0410-a75d-ab315db34111
negelef hace 7 años
padre
commit
5c39b5d3e3
Se han modificado 2 ficheros con 16 adiciones y 17 borrados
  1. 15 16
      source/Generic.Linux.AMD64.Unix.Mod
  2. 1 1
      source/Unix.UnixFiles.Mod

+ 15 - 16
source/Generic.Linux.AMD64.Unix.Mod

@@ -261,31 +261,30 @@ TYPE
 
 
 TYPE
-	DevT* = HUGEINT;
+	DevT* = LONGWORD;
 	InoT* = LONGWORD;
 
 	Status* = RECORD
 				dev-		: DevT;
-				unused1-	: LONGINT;
-				ino-		: LONGINT;
-				mode-	: LONGINT;
-				nlink-		: LONGINT;
-				uid-		: LONGINT;
-				gid-		: LONGINT;
+				ino-		: InoT;
+				nlink-		: LONGWORD;
+				mode-	: WORD;
+				uid-		: WORD;
+				gid-		: WORD;
+				pad0-		: WORD;
 				rdev-		: DevT;
-				unused2-	: LONGINT;
-				size-		: LONGINT;
-				blksize-	: LONGINT;
-				blocks-	: LONGINT;
+				size-		: LONGWORD;
+				blksize-	: LONGWORD;
+				blocks-	: LONGWORD;
 				atime-	: Timeval;
 				mtime-	: Timeval;
 				ctime-	: Timeval;
-				unused-	: ARRAY 2 OF LONGINT;
+				reserved-	: ARRAY 3 OF LONGWORD;
 			END;
 	tvPtr* = POINTER TO Timeval;
 	Timeval* = RECORD
-				sec*	: HUGEINT;
-				usec*	: HUGEINT
+				sec*	: LONGWORD;
+				usec*	: LONGWORD;
 			END;
 
 	TmPtr* = POINTER TO Tm;
@@ -976,12 +975,12 @@ VAR
 
 	PROCEDURE fstat*  ( fd: LONGINT;  VAR buf: Status ): LONGINT;
 	BEGIN
-		RETURN  fxstat( 3, fd, buf );
+		RETURN  fxstat( 1, fd, buf );
 	END fstat;
 
 	PROCEDURE stat*  ( path: ADDRESS;  VAR buf: Status ): LONGINT;
 	BEGIN
-		RETURN  xstat( 3, path, buf );
+		RETURN  xstat( 1, path, buf );
 	END stat;
 
 	

+ 1 - 1
source/Unix.UnixFiles.Mod

@@ -458,7 +458,7 @@ TYPE
 										END;
 										p := Unix.realpath(ADDRESSOF(fullName), ADDRESSOF(xName));
 										IF (p # 0) THEN COPY(xName, fullName) END;
-										enum.PutEntry( fullName, flags, time, date, stat.size );
+										enum.PutEntry( fullName, flags, time, date, LONGINT (stat.size) );
 									END
 								END;
 								ent := Unix.readdir( dir );