home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
modu1096.zip
/
GPMsym
/
pathlookup.def
< prev
next >
Wrap
Text File
|
1996-08-29
|
3KB
|
65 lines
(****************************************************************)
(* *)
(* Gardens Point Modula-2 Library Definition *)
(* *)
(* *)
(* (c) Copyright 1996 Faculty of Information Technology *)
(* Queensland University of Technology *)
(* *)
(* Permission is granted to use, copy and change this *)
(* program as long as the copyright message is left intact *)
(* *)
(****************************************************************)
(* !LIBRARY! *) DEFINITION MODULE PathLookup;
FROM UxFiles IMPORT File;
PROCEDURE FindAndOpen(pathString : ARRAY OF CHAR;
baseName : ARRAY OF CHAR;
VAR openName : ARRAY OF CHAR;
VAR openFile : File);
(* precondition : pathString is nul terminated and has *)
(* components separated by colon chars, *)
(* openName is long enough for pathname *)
(* postcondition : openFile <> NIL ==> file was found. *)
(* openName has nul terminated absolute *)
(* path name, or nul string if not found *)
PROCEDURE FindAbsName(pathString : ARRAY OF CHAR;
baseName : ARRAY OF CHAR;
VAR openName : ARRAY OF CHAR;
VAR found : BOOLEAN);
(* precondition : pathString is nul terminated and has *)
(* components separated by colon chars, *)
(* openName is long enough for pathname *)
(* postcondition : found = TRUE ==> file was found. *)
(* openName has nul terminated absolute *)
(* path name, or nul string if not found *)
(* example of usage : to find file "foo.mod" on path $FOOPATH --
*
* FROM PathLookup IMPORT FindAbsName;
* FROM ProgArgs IMPORT EnvironString;
* FROM UxFiles IMPORT File;
*
* VAR file : File;
* path : ARRAY [0 .. 99] OF CHAR;
* name : ARRAY [0 .. 79] OF CHAR;
* found : BOOLEAN;
*
* BEGIN
* EnvironString("FOOPATH",path);
* FindAbsName(path,"foo.mod",name,found);
* IF found THEN
* (* -- do whatever *)
* ELSE WriteString(name); WriteString(" not found"); WriteLn;
* END;
*)
END PathLookup.