***********************
** FILE NAME : configuration.cpp
** SYSTEM NAME : AXE - Andromeda X-windows Encapsulation
-** VERSION NUMBER : $Revision: 1.4 $
+** VERSION NUMBER : $Revision: 1.5 $
**
** DESCRIPTION : Implementation of configuration class
**
/*****************************
$Log: configuration.cpp,v $
- Revision 1.4 2002-11-23 12:48:18 arjen
+ Revision 1.5 2003-03-29 07:19:37 arjen
+ Bugfix: Do not read the config file in the home
+ directory if the HOME environment variable doesn't exist
+
+ Revision 1.4 2002/11/23 12:48:18 arjen
Check if a configuration file exists before feeding it to the XML parser.
Revision 1.3 2002/11/02 14:35:15 arjen
*****************************/
-static const char *RCSID = "$Id: configuration.cpp,v 1.4 2002-11-23 12:48:18 arjen Exp $";
+static const char *RCSID = "$Id: configuration.cpp,v 1.5 2003-03-29 07:19:37 arjen Exp $";
#include <fcntl.h>
#include <unistd.h>
#include "configuration.h"
+
/*=========================================================================
** NAME : configuration::read
** SYNOPSIS :
system = xmlParseFile(filename);
}
- filename = getenv("HOME");
- filename += "/.";
- filename += name + ".conf";
- fd = open(filename, O_RDONLY);
- if (fd > 0)
+ if (getenv("HOME") != NULL)
{
- close(fd);
- user = xmlParseFile(filename);
+ filename = getenv("HOME");
+ filename += "/.";
+ filename += name + ".conf";
+ fd = open(filename, O_RDONLY);
+ if (fd > 0)
+ {
+ close(fd);
+ user = xmlParseFile(filename);
+ }
}
// Check the root element, which must be the application name