* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
- * along with this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
+ * along with this program. If not, see <http://www.gnu.org/licenses/>. *
***************************************************************************/
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "configuration.h"
#include "log.h"
+#include "replacements.h"
static size_t num_config_files;
static char **config_file_names;
config_file_names[num_config_files] = NULL;
}
+void free_config(void)
+{
+ while (num_config_files)
+ free(config_file_names[--num_config_files]);
+
+ free(config_file_names);
+ config_file_names = NULL;
+
+ while (num_script_dirs)
+ free(script_search_dirs[--num_script_dirs]);
+
+ free(script_search_dirs);
+ script_search_dirs = NULL;
+}
+
/* return full path or NULL according to search rules */
char *find_file(const char *file)
{
return fopen(file, mode);
else {
char *full_path = find_file(file);
- if (full_path == NULL)
+ if (!full_path)
return NULL;
FILE *fp = NULL;
fp = fopen(full_path, mode);
{
char *home = getenv("HOME");
- if (home == NULL) {
+ if (!home) {
#ifdef _WIN32
home = getenv("USERPROFILE");
- if (home == NULL) {
+ if (!home) {
char homepath[MAX_PATH];
char *drive = getenv("HOMEDRIVE");
#endif
}
- if (home == NULL)
+ if (!home)
return home;
char *home_path;