Commit fc7a9dfd authored by Tom Lane's avatar Tom Lane

Get rid of scribbling on a const variable in psql's print.c.

Commit a2dabf0e had the bright idea that it could modify a "const"
global variable if it merely casted away const from a pointer.  This does
not work on platforms where the compiler puts "const" variables into
read-only storage.  Depressingly, we evidently have no such platforms in
our buildfarm ... an oversight I have now remedied.  (The one platform
that is known to catch this is recent OS X with -fno-common.)

Per report from Chris Ruprecht.  Back-patch to 9.5 where the bogus
code was introduced.
parent 23a27b03
......@@ -98,7 +98,7 @@ const printTextFormat pg_asciiformat_old =
};
/* Default unicode linestyle format */
const printTextFormat pg_utf8format;
printTextFormat pg_utf8format;
typedef struct unicodeStyleRowFormat
{
......@@ -3412,7 +3412,7 @@ get_line_style(const printTableOpt *opt)
void
refresh_utf8format(const printTableOpt *opt)
{
printTextFormat *popt = (printTextFormat *) &pg_utf8format;
printTextFormat *popt = &pg_utf8format;
const unicodeStyleBorderFormat *border;
const unicodeStyleRowFormat *header;
......
......@@ -163,7 +163,7 @@ typedef struct printQueryOpt
extern const printTextFormat pg_asciiformat;
extern const printTextFormat pg_asciiformat_old;
extern const printTextFormat pg_utf8format;
extern printTextFormat pg_utf8format; /* ideally would be const, but... */
extern void disable_sigpipe_trap(void);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment