~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to client/drizzle.cc

  • Committer: Vijay Samuel
  • Date: 2010-07-30 18:50:30 UTC
  • mto: (1675.1.3 build)
  • mto: This revision was merged to the branch mainline in revision 1677.
  • Revision ID: vijay@vijay-20100730185030-io2zvgt35ehdeso9
Merge new user config file processing system.

Show diffs side-by-side

added added

removed removed

Lines of Context:
9
9
 *  (at your option) any later version.
10
10
 *
11
11
 *  This program is distributed in the hope that it will be useful,
12
 
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
 *  but WITHOUT ANY WARRANTY; without even the implied warranty ofm
13
13
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
14
 *  GNU General Public License for more details.
15
15
 *
65
65
#include <sys/ioctl.h>
66
66
#include <drizzled/configmake.h>
67
67
#include "drizzled/utf8/utf8.h"
 
68
#include <cstdlib>
68
69
 
69
70
#if defined(HAVE_CURSES_H) && defined(HAVE_TERM_H)
70
71
#include <curses.h>
1488
1489
  std::string system_config_dir_client(SYSCONFDIR); 
1489
1490
  system_config_dir_client.append("/drizzle/client.cnf");
1490
1491
 
 
1492
  std::string user_config_dir((getenv("XDG_CONFIG_HOME")? getenv("XDG_CONFIG_HOME"):"~/.config"));
 
1493
  
1491
1494
  po::variables_map vm;
1492
1495
 
1493
1496
  po::positional_options_description p;
1498
1501
 
1499
1502
  if (! vm["no-defaults"].as<bool>())
1500
1503
  {
1501
 
    ifstream user_drizzle_ifs("~/.drizzle/drizzle.cnf");
 
1504
    std::string user_config_dir_drizzle(user_config_dir);
 
1505
    user_config_dir_drizzle.append("/drizzle/drizzle.cnf"); 
 
1506
 
 
1507
    std::string user_config_dir_client(user_config_dir);
 
1508
    user_config_dir_client.append("/drizzle/client.cnf");
 
1509
 
 
1510
    ifstream user_drizzle_ifs(user_config_dir_drizzle.c_str());
1502
1511
    po::store(parse_config_file(user_drizzle_ifs, drizzle_options), vm);
1503
 
 
 
1512
 
 
1513
    ifstream user_client_ifs(user_config_dir_client.c_str());
 
1514
    po::store(parse_config_file(user_client_ifs, client_options), vm);
 
1515
 
1504
1516
    ifstream system_drizzle_ifs(system_config_dir_drizzle.c_str());
1505
1517
    store(parse_config_file(system_drizzle_ifs, drizzle_options), vm);
1506
 
 
1507
 
    ifstream user_client_ifs("~/.drizzle/client.cnf");
1508
 
    po::store(parse_config_file(user_client_ifs, client_options), vm);
1509
1518
 
1510
1519
    ifstream system_client_ifs(system_config_dir_client.c_str());
1511
1520
    po::store(parse_config_file(system_client_ifs, client_options), vm);