There are three such functions, lou_logfile lolu_logPrint and lou_logEnd They must be considered as a group. The question on this thread is what behavior is best. Thanks to Michael for bringing this to my attention. Right now, if the argument to lou_logfile is NULL messages are sent to stderr. This causes problems on a GUI. If the application doesn't crash the messages may just not be displayed. An obvious fix is to make lou_logfile ignore NULL arguments. Lou_logPrint also needs some fixing. lou_logEnd closes the log file so it is available for examination by the user or the application. I think that if lou_logfile is called with a valid filename, it should save that name, and ignore any NULL arguments. When lou_logPrint is called it should check for a filename and if one is present open that file if it is not already open. Thus, an application can give a filename when it starts and this file will be used no matter how many times the file is closed. I plan to do this in BrailleBlaster. The initialize method provides a filename which is appended to the path to the brlblst/temp directory on the user's machine. Calls to liblouisutdml functions will then send error messages to this file. Thanks, 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