
Both the passwords and temporary files of the embedded library were stored in the same directory. Now the directories are separated and the embedded library uses the temporary directory. The datadir cleanup also now only cleans up the temporary data directory.
202 lines
4.0 KiB
C
202 lines
4.0 KiB
C
/*
|
|
* This file is distributed as part of the MariaDB Corporation MaxScale. It is free
|
|
* software: you can redistribute it and/or modify it under the terms of the
|
|
* GNU General Public License as published by the Free Software Foundation,
|
|
* version 2.
|
|
*
|
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
* FOR A PARTICULAR PURPOSE. See the 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.
|
|
*
|
|
* Copyright MariaDB Corporation Ab 2013-2014
|
|
*/
|
|
|
|
#include <gwdirs.h>
|
|
#include <gw.h>
|
|
|
|
/**
|
|
* Set the configuration file directory
|
|
* @param str Path to directory
|
|
*/
|
|
void set_configdir(char* str)
|
|
{
|
|
free(configdir);
|
|
clean_up_pathname(str);
|
|
configdir = str;
|
|
}
|
|
|
|
/**
|
|
* Set the log file directory
|
|
* @param str Path to directory
|
|
*/
|
|
void set_logdir(char* str)
|
|
{
|
|
free(logdir);
|
|
clean_up_pathname(str);
|
|
logdir = str;
|
|
}
|
|
|
|
/**
|
|
* Set the language file directory
|
|
* @param str Path to directory
|
|
*/
|
|
void set_langdir(char* str)
|
|
{
|
|
free(langdir);
|
|
clean_up_pathname(str);
|
|
langdir = str;
|
|
}
|
|
|
|
/**
|
|
* Set the PID file directory
|
|
* @param str Path to directory
|
|
*/
|
|
void set_piddir(char* str)
|
|
{
|
|
free(piddir);
|
|
clean_up_pathname(str);
|
|
piddir = str;
|
|
}
|
|
|
|
/**
|
|
* Set the cache directory
|
|
* @param str Path to directory
|
|
*/
|
|
void set_cachedir(char* param)
|
|
{
|
|
free(cachedir);
|
|
clean_up_pathname(param);
|
|
cachedir = param;
|
|
}
|
|
|
|
/**
|
|
* Set the data directory
|
|
* @param str Path to directory
|
|
*/
|
|
void set_datadir(char* param)
|
|
{
|
|
free(maxscaledatadir);
|
|
clean_up_pathname(param);
|
|
maxscaledatadir = param;
|
|
}
|
|
|
|
/**
|
|
* Set the data directory
|
|
* @param str Path to directory
|
|
*/
|
|
void set_process_datadir(char* param)
|
|
{
|
|
free(processdatadir);
|
|
clean_up_pathname(param);
|
|
processdatadir = param;
|
|
}
|
|
|
|
/**
|
|
* Set the library directory. Modules will be loaded from here.
|
|
* @param str Path to directory
|
|
*/
|
|
void set_libdir(char* param)
|
|
{
|
|
free(libdir);
|
|
clean_up_pathname(param);
|
|
libdir = param;
|
|
}
|
|
|
|
/**
|
|
* Set the executable directory. Internal processes will look for executables
|
|
* from here.
|
|
* @param str Path to directory
|
|
*/
|
|
void set_execdir(char* param)
|
|
{
|
|
free(execdir);
|
|
clean_up_pathname(param);
|
|
execdir = param;
|
|
}
|
|
|
|
/**
|
|
* Get the directory with all the modules.
|
|
* @return The module directory
|
|
*/
|
|
char* get_libdir()
|
|
{
|
|
return libdir ? libdir : (char*) default_libdir;
|
|
}
|
|
|
|
/**
|
|
* Get the service cache directory
|
|
* @return The path to the cache directory
|
|
*/
|
|
char* get_cachedir()
|
|
{
|
|
return cachedir ? cachedir : (char*) default_cachedir;
|
|
}
|
|
|
|
/**
|
|
* Get the MaxScale data directory
|
|
* @return The path to the data directory
|
|
*/
|
|
char* get_datadir()
|
|
{
|
|
return maxscaledatadir ? maxscaledatadir : (char*) default_datadir;
|
|
}
|
|
|
|
/**
|
|
* Get the process specific data directory
|
|
* @return The path to the process specific directory
|
|
*/
|
|
char* get_process_datadir()
|
|
{
|
|
return processdatadir ? processdatadir : (char*) default_datadir;
|
|
}
|
|
|
|
/**
|
|
* Get the configuration file directory
|
|
* @return The path to the configuration file directory
|
|
*/
|
|
char* get_configdir()
|
|
{
|
|
return configdir ? configdir : (char*) default_configdir;
|
|
}
|
|
|
|
/**
|
|
* Get the PID file directory which contains maxscale.pid
|
|
* @return Path to the PID file directory
|
|
*/
|
|
char* get_piddir()
|
|
{
|
|
return piddir ? piddir : (char*) default_piddir;
|
|
}
|
|
|
|
/**
|
|
* Return the log file directory
|
|
* @return Path to the log file directory
|
|
*/
|
|
char* get_logdir()
|
|
{
|
|
return logdir ? logdir : (char*) default_logdir;
|
|
}
|
|
|
|
/**
|
|
* Path to the directory which contains the errmsg.sys language file
|
|
* @return Path to the language file directory
|
|
*/
|
|
char* get_langdir()
|
|
{
|
|
return langdir ? langdir : (char*) default_langdir;
|
|
}
|
|
|
|
/**
|
|
* Get the directory with the executables.
|
|
* @return The executables directory
|
|
*/
|
|
char* get_execdir()
|
|
{
|
|
return execdir ? execdir : (char*) default_execdir;
|
|
}
|