*** pgsql/src/bin/psql/startup.c 2010/03/06 15:28:09 1.163 --- pgsql/src/bin/psql/startup.c 2010/03/07 17:02:34 1.164 *************** *** 3,9 **** * * Copyright (c) 2000-2010, PostgreSQL Global Development Group * ! * $PostgreSQL: pgsql/src/bin/psql/startup.c,v 1.162 2010/02/26 02:01:19 momjian Exp $ */ #include "postgres_fe.h" --- 3,9 ---- * * Copyright (c) 2000-2010, PostgreSQL Global Development Group * ! * $PostgreSQL: pgsql/src/bin/psql/startup.c,v 1.163 2010/03/06 15:28:09 mha Exp $ */ #include "postgres_fe.h" *************** struct adhoc_opts *** 68,79 **** bool no_readline; bool no_psqlrc; bool single_txn; - char *psqlrc; }; static void parse_psql_options(int argc, char *argv[], struct adhoc_opts * options); ! static void process_psqlrc(char *argv0, struct adhoc_opts *options); static void process_psqlrc_file(char *filename); static void showVersion(void); static void EstablishVariableSpace(void); --- 68,78 ---- bool no_readline; bool no_psqlrc; bool single_txn; }; static void parse_psql_options(int argc, char *argv[], struct adhoc_opts * options); ! static void process_psqlrc(char *argv0); static void process_psqlrc_file(char *filename); static void showVersion(void); static void EstablishVariableSpace(void); *************** main(int argc, char *argv[]) *** 248,254 **** */ if (options.action == ACT_FILE) { ! process_psqlrc(argv[0], &options); successResult = process_file(options.action_string, options.single_txn); } --- 247,254 ---- */ if (options.action == ACT_FILE) { ! if (!options.no_psqlrc) ! process_psqlrc(argv[0]); successResult = process_file(options.action_string, options.single_txn); } *************** main(int argc, char *argv[]) *** 291,297 **** */ else { ! process_psqlrc(argv[0], &options); connection_warnings(true); if (!pset.quiet && !pset.notty) --- 291,298 ---- */ else { ! if (!options.no_psqlrc) ! process_psqlrc(argv[0]); connection_warnings(true); if (!pset.quiet && !pset.notty) *************** parse_psql_options(int argc, char *argv[ *** 354,360 **** {"password", no_argument, NULL, 'W'}, {"expanded", no_argument, NULL, 'x'}, {"no-psqlrc", no_argument, NULL, 'X'}, - {"psqlrc", required_argument, NULL, 1}, {"help", no_argument, NULL, '?'}, {NULL, 0, NULL, 0} }; --- 355,360 ---- *************** parse_psql_options(int argc, char *argv[ *** 515,523 **** case 'X': options->no_psqlrc = true; break; - case 1: - options->psqlrc = pg_strdup(optarg); - break; case '1': options->single_txn = true; break; --- 515,520 ---- *************** parse_psql_options(int argc, char *argv[ *** 566,592 **** * Load .psqlrc file, if found. */ static void ! process_psqlrc(char *argv0, struct adhoc_opts *options) { char home[MAXPGPATH]; char rc_file[MAXPGPATH]; char my_exec_path[MAXPGPATH]; char etc_path[MAXPGPATH]; - if (options->no_psqlrc) - return; - find_my_exec(argv0, my_exec_path); get_etc_path(my_exec_path, etc_path); snprintf(rc_file, MAXPGPATH, "%s/%s", etc_path, SYSPSQLRC); process_psqlrc_file(rc_file); ! if (options->psqlrc) ! { ! process_psqlrc_file(options->psqlrc); ! } ! else if (get_home_path(home)) { snprintf(rc_file, MAXPGPATH, "%s/%s", home, PSQLRC); process_psqlrc_file(rc_file); --- 563,582 ---- * Load .psqlrc file, if found. */ static void ! process_psqlrc(char *argv0) { char home[MAXPGPATH]; char rc_file[MAXPGPATH]; char my_exec_path[MAXPGPATH]; char etc_path[MAXPGPATH]; find_my_exec(argv0, my_exec_path); get_etc_path(my_exec_path, etc_path); snprintf(rc_file, MAXPGPATH, "%s/%s", etc_path, SYSPSQLRC); process_psqlrc_file(rc_file); ! if (get_home_path(home)) { snprintf(rc_file, MAXPGPATH, "%s/%s", home, PSQLRC); process_psqlrc_file(rc_file);