If lou_logFile is called with a NULL argument the call is ignored. If this is the first call with a non-NULL argument the filename is stored in the initialLogFileName variable. The function then tries to open logFile with fileName. If this fails it tries initialLogFileName. if this fails it prints an error message to stderr . When lou_logPrint is called, if the format argument is NULL it returns. If not, it and logFile is NULL it tries to open initialLogFileName. If this fails it uses stderr. lou_logEnd is unchanged. If logFile is not NULL it is closed and then set to NULL. John -- John J. Boyer; President, Chief Software Developer Abilitiessoft, Inc. http://www.abilitiessoft.com Madison, Wisconsin USA Developing software for people with disabilities For a description of the software, to download it and links to project pages go to http://www.abilitiessoft.com