8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-23 07:23:04 +01:00

Fix line ending inconsistence

This commit is contained in:
asfernandes 2009-09-22 15:49:55 +00:00
parent e5c6a886a0
commit cac221af7c

View File

@ -1,112 +1,112 @@
/* /*
* The contents of this file are subject to the Initial * The contents of this file are subject to the Initial
* Developer's Public License Version 1.0 (the "License"); * Developer's Public License Version 1.0 (the "License");
* you may not use this file except in compliance with the * you may not use this file except in compliance with the
* License. You may obtain a copy of the License at * License. You may obtain a copy of the License at
* http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl. * http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl.
* *
* Software distributed under the License is distributed AS IS, * Software distributed under the License is distributed AS IS,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. * WITHOUT WARRANTY OF ANY KIND, either express or implied.
* See the License for the specific language governing rights * See the License for the specific language governing rights
* and limitations under the License. * and limitations under the License.
* *
* The Original Code was created by Dmitry Yemanov * The Original Code was created by Dmitry Yemanov
* for the Firebird Open Source RDBMS project. * for the Firebird Open Source RDBMS project.
* *
* Copyright (c) 2002 Dmitry Yemanov <dimitr@users.sf.net> * Copyright (c) 2002 Dmitry Yemanov <dimitr@users.sf.net>
* and all contributors signed below. * and all contributors signed below.
* *
* All Rights Reserved. * All Rights Reserved.
* Contributor(s): ______________________________________. * Contributor(s): ______________________________________.
*/ */
#include "firebird.h" #include "firebird.h"
#include "../common/classes/init.h" #include "../common/classes/init.h"
#include "../common/config/config.h" #include "../common/config/config.h"
#include "../common/config/config_file.h" #include "../common/config/config_file.h"
#include "../common/config/dir_list.h" #include "../common/config/dir_list.h"
#include "../jrd/os/path_utils.h" #include "../jrd/os/path_utils.h"
#include "../jrd/gds_proto.h" #include "../jrd/gds_proto.h"
#include "../common/utils_proto.h" #include "../common/utils_proto.h"
using namespace Firebird; using namespace Firebird;
namespace namespace
{ {
class DatabaseDirectoryList : public DirectoryList class DatabaseDirectoryList : public DirectoryList
{ {
private: private:
const PathName getConfigString() const const PathName getConfigString() const
{ {
return PathName(Config::getDatabaseAccess()); return PathName(Config::getDatabaseAccess());
} }
public: public:
explicit DatabaseDirectoryList(MemoryPool& p) explicit DatabaseDirectoryList(MemoryPool& p)
: DirectoryList(p) : DirectoryList(p)
{ {
initialize(); initialize();
} }
}; };
InitInstance<DatabaseDirectoryList> databaseDirectoryList; InitInstance<DatabaseDirectoryList> databaseDirectoryList;
const char* const ALIAS_FILE = "aliases.conf"; const char* const ALIAS_FILE = "aliases.conf";
void replace_dir_sep(PathName& s) void replace_dir_sep(PathName& s)
{ {
const char correct_dir_sep = PathUtils::dir_sep; const char correct_dir_sep = PathUtils::dir_sep;
const char incorrect_dir_sep = (correct_dir_sep == '/') ? '\\' : '/'; const char incorrect_dir_sep = (correct_dir_sep == '/') ? '\\' : '/';
for (char* itr = s.begin(); itr < s.end(); ++itr) for (char* itr = s.begin(); itr < s.end(); ++itr)
{ {
if (*itr == incorrect_dir_sep) if (*itr == incorrect_dir_sep)
{ {
*itr = correct_dir_sep; *itr = correct_dir_sep;
} }
} }
} }
} }
bool ResolveDatabaseAlias(const PathName& alias, PathName& database) bool ResolveDatabaseAlias(const PathName& alias, PathName& database)
{ {
PathName alias_filename = fb_utils::getPrefix(fb_utils::FB_DIR_CONF, ALIAS_FILE); PathName alias_filename = fb_utils::getPrefix(fb_utils::FB_DIR_CONF, ALIAS_FILE);
ConfigFile aliasConfig(false, true); ConfigFile aliasConfig(false, true);
aliasConfig.setConfigFilePath(alias_filename); aliasConfig.setConfigFilePath(alias_filename);
PathName corrected_alias = alias; PathName corrected_alias = alias;
replace_dir_sep(corrected_alias); replace_dir_sep(corrected_alias);
database = aliasConfig.getString(corrected_alias); database = aliasConfig.getString(corrected_alias);
if (!database.empty()) if (!database.empty())
{ {
replace_dir_sep(database); replace_dir_sep(database);
if (PathUtils::isRelative(database)) if (PathUtils::isRelative(database))
{ {
gds__log("Value %s configured for alias %s " gds__log("Value %s configured for alias %s "
"is not a fully qualified path name, ignored", "is not a fully qualified path name, ignored",
database.c_str(), alias.c_str()); database.c_str(), alias.c_str());
return false; return false;
} }
return true; return true;
} }
// If file_name has no path part, expand it in DatabasesPath // If file_name has no path part, expand it in DatabasesPath
Firebird::PathName path, name; Firebird::PathName path, name;
PathUtils::splitLastComponent(path, name, corrected_alias); PathUtils::splitLastComponent(path, name, corrected_alias);
// if path component not present in file_name // if path component not present in file_name
if (path.isEmpty()) if (path.isEmpty())
{ {
// try to expand to existing file // try to expand to existing file
if (databaseDirectoryList().expandFileName(database, name)) if (databaseDirectoryList().expandFileName(database, name))
{ {
return true; return true;
} }
// try to use default path // try to use default path
if (databaseDirectoryList().defaultName(database, name)) if (databaseDirectoryList().defaultName(database, name))
{ {
return true; return true;
} }
} }
return false; return false;
} }