home *** CD-ROM | disk | FTP | other *** search
Modula Implementation | 1987-05-17 | 867 b | 41 lines |
- IMPLEMENTATION MODULE MyVolName;
-
-
- FROM SYSTEM IMPORT ADDRESS;
- FROM DOSFiles IMPORT FileLock;
- FROM DOSExtensions IMPORT FileLockBlock,DeviceList;
-
- TYPE
- CharPtr = POINTER TO CHAR;
- LockPtr = POINTER TO FileLockBlock;
- DevPtr = POINTER TO DeviceList;
-
-
- PROCEDURE VolumeName(VAR a:ARRAY OF CHAR;l:FileLock);
- (*
- makes string in 'a' of volume name associated with lock 'l'
- IN FORM VolName: (colon added here) and null terminated
-
- NOTE THAT I DID NOT USE AmigaUtils conversions since they are
- so simple to do directly.
- *)
-
-
- VAR i,k:CARDINAL;loc:LockPtr;dev:DevPtr;n:CharPtr;
- BEGIN
- loc := LockPtr(l * 4);
- dev := DevPtr(loc^.flVolume * 4);
- n := CharPtr(ADDRESS(dev^.dlName) * 4);
- i := ORD(n^);
- FOR k := 0 TO i-1 DO
- INC(n);
- a[k] := n^;
- END;
- a[i] := ":";
- a[i+1] := 0C;
-
- END VolumeName;
-
- BEGIN
- END MyVolName.
-