From 162e8f1fd53eb485e0b7c22331444f245420d3ba Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 27 Aug 2006 15:05:20 +0000 Subject: [PATCH] Make saveHistory work properly on OS X when HISTFILE is set to /dev/null. Per discussion with Martin Atukunda. --- src/bin/psql/input.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/bin/psql/input.c b/src/bin/psql/input.c index 4041177e4f..3441d7813e 100644 --- a/src/bin/psql/input.c +++ b/src/bin/psql/input.c @@ -3,7 +3,7 @@ * * Copyright (c) 2000-2006, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/psql/input.c,v 1.57 2006/07/14 14:52:26 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/psql/input.c,v 1.58 2006/08/27 15:05:20 tgl Exp $ */ #include "postgres_fe.h" @@ -340,7 +340,14 @@ bool saveHistory(char *fname, bool encodeFlag) { #ifdef USE_READLINE - if (useHistory && fname) + /* + * Suppressing the write attempt when HISTFILE is set to /dev/null + * may look like a negligible optimization, but it's necessary on e.g. + * Darwin, where write_history will fail because it tries to chmod + * the target file. + */ + if (useHistory && fname && + strcmp(fname, DEVNULL) != 0) { if (encodeFlag) encode_history(); -- GitLab