git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 23a27b0)
Get rid of scribbling on a const variable in psql's print.c.
2016年3月12日 23:16:24 +0000 (18:16 -0500)
2016年3月12日 23:16:24 +0000 (18:16 -0500)
Commit a2dabf0e1dda93c8 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.


diff --git a/src/bin/psql/print.c b/src/bin/psql/print.c
index 85dbd300d8d3b5ecdfd6225883c644688568ea22..f25a66eb36f72c6014e9b5355b5612b15b1a7aab 100644 (file)
--- a/src/bin/psql/print.c
+++ b/src/bin/psql/print.c
@@ -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;
diff --git a/src/bin/psql/print.h b/src/bin/psql/print.h
index 005ba15e983aa0a93a38a93fc4479f09e8544e05..9033c4bce382345e6ecf1240c7ea877bb09fd0b2 100644 (file)
--- a/src/bin/psql/print.h
+++ b/src/bin/psql/print.h
@@ -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);
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /