From 0725065b37b8b0e9074a624a8d3e3ac1844fc820 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Thu, 9 Jun 2005 23:28:10 +0000 Subject: [PATCH] This patch shows the full path name when doing a \s in psql, if you have previously issued a \cd command. Greg Sabino Mullane --- src/bin/psql/command.c | 10 ++++++++-- src/bin/psql/settings.h | 4 +++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index 5b646ee130..bf58b885a9 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -3,7 +3,7 @@ * * Copyright (c) 2000-2005, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.144 2005/06/09 15:27:26 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.145 2005/06/09 23:28:09 momjian Exp $ */ #include "postgres_fe.h" #include "command.h" @@ -276,6 +276,11 @@ exec_command(const char *cmd, success = false; } + if (pset.dirname) + pfree(pset.dirname); + pset.dirname = pg_strdup(dir); + canonicalize_path(pset.dirname); + if (opt) free(opt); } @@ -661,7 +666,8 @@ exec_command(const char *cmd, success = saveHistory(fname ? fname : "/dev/tty"); if (success && !quiet && fname) - printf(_("Wrote history to file \"%s\".\n"), fname); + printf(gettext("Wrote history to file \"%s/%s\".\n"), + pset.dirname ? pset.dirname : ".", fname); if (!fname) putchar('\n'); free(fname); diff --git a/src/bin/psql/settings.h b/src/bin/psql/settings.h index a2b67905d2..5090efd7b6 100644 --- a/src/bin/psql/settings.h +++ b/src/bin/psql/settings.h @@ -3,7 +3,7 @@ * * Copyright (c) 2000-2005, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/psql/settings.h,v 1.23 2005/01/01 05:43:08 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/psql/settings.h,v 1.24 2005/06/09 23:28:10 momjian Exp $ */ #ifndef SETTINGS_H #define SETTINGS_H @@ -49,6 +49,8 @@ typedef struct _psqlSettings int sversion; /* backend server version */ const char *progname; /* in case you renamed psql */ char *inputfile; /* for error reporting */ + char *dirname; /* current directory for \s display */ + unsigned lineno; /* also for error reporting */ bool timing; /* enable timing of all queries */