MBKFOPEN(3) | MBK UTILITY FUNCTIONS | MBKFOPEN(3) |
mbkfopen - open a file with several search pathes
See the file buster/alliance/alc_origin.1.en.gz.
#include "mut.h" FILE ∗mbkfopen(name, extension, mode) char ∗name, ∗extension, ∗mode;
mbkfopen opens a file, searching it through the pathes
given in the environment variables MBK_CATA_LIB(1) and
MBK_WORK_LIB(1). Its main issue is to enable simple file access for
any program that works with mbk path environment variables.
The file to be opened is called name.extension, if extension is not
NULL, else it is name. If extension is the empty
string, "", then the file name will be
name. .
The legal values for mode are
The search algorithm depends on the value of mode. If mode is WRITE_TEXT, then the file is open for writting in MBK_WORK_LIB(1). If mode is READ_TEXT then the file is first searched through MBK_WORK_LIB(1), and if not found, through each directory specified in MBK_CATA_LIB(1), in the order of declaration under unix. No internal hash table is generated, in order to let the user choose its directory priority. As soon as the file is found, it is opened. There is no check for redundant files in the specified pathes, since it is neither illegal nor bad to have many files with the same names.
mbkfopen returns a pointer to the opened file. If the file read or write access are violated, or the file not found, a NULL pointer is returned.
"∗∗∗ mbk error ∗∗∗ mbkfopen : unknown file opening mode mode"
#include "mut.h" #include "mph.h" phfig_list ∗load_vti_ph(name) char ∗name; { FILE ∗file; if ((file = mbkfopen(name, "cp", READ_TEXT)) == NULL) { (void)fprintf(stderr, "Pfhhh, can't open name.cp\n"); EXIT(); } ph_parse(file); }
mbk(1), MBK_CATA_LIB(1), MBK_WORK_LIB(1), loadlofig(3), loadphfig(3), savelofig(3), savephfig(3), fopen(3).
See the file buster/alliance/alc_bug_report.1.en.gz.
October 1, 1997 | ASIM/LIP6 |