From: Peter Eisentraut Date: Sat, 20 Feb 2016 04:07:46 +0000 (-0500) Subject: psql: Fix some strange code in SQL help creation X-Git-Tag: REL9_6_BETA1~558 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=92d4294d4bbddf94cec0dce729ade7bb2aada1b7;p=postgresql psql: Fix some strange code in SQL help creation Struct QL_HELP used to be defined as static in the sql_help.h header file, which is included in sql_help.c and help.c, thus creating two separate instances of the struct. This causes a warning from GCC 6, because the struct is not used in sql_help.c. Instead, declare the struct as extern in the header file and define it in sql_help.c. This also allows making a bunch of functions static because they are no longer needed outside of sql_help.c. Reviewed-by: Thomas Munro --- diff --git a/src/bin/psql/create_help.pl b/src/bin/psql/create_help.pl index fedcc47d0d..b9b8e870e0 100644 --- a/src/bin/psql/create_help.pl +++ b/src/bin/psql/create_help.pl @@ -59,8 +59,6 @@ print HFILE "/* #ifndef $define #define $define -#define N_(x) (x) /* gettext noop */ - #include \"postgres_fe.h\" #include \"pqexpbuffer.h\" @@ -72,6 +70,7 @@ struct _helpStruct int nl_count; /* number of newlines in syntax (for pager) */ }; +extern const struct _helpStruct QL_HELP[]; "; print CFILE "/* @@ -83,6 +82,8 @@ print CFILE "/* * */ +#define N_(x) (x) /* gettext noop */ + #include \"$hfile\" "; @@ -170,8 +171,7 @@ foreach (sort keys %entries) $synopsis =~ s/\\n/\\n"\n$prefix"/g; my @args = ("buf", $synopsis, map("_(\"$_\")", @{ $entries{$_}{params} })); - print HFILE "extern void sql_help_$id(PQExpBuffer buf);\n"; - print CFILE "void + print CFILE "static void sql_help_$id(PQExpBuffer buf) { \tappendPQExpBuffer(" . join(",\n$prefix", @args) . "); @@ -180,15 +180,14 @@ sql_help_$id(PQExpBuffer buf) "; } -print HFILE " - -static const struct _helpStruct QL_HELP[] = { +print CFILE " +const struct _helpStruct QL_HELP[] = { "; foreach (sort keys %entries) { my $id = $_; $id =~ s/ /_/g; - print HFILE " { \"$_\", + print CFILE " { \"$_\", N_(\"$entries{$_}{cmddesc}\"), sql_help_$id, $entries{$_}{nl_count} }, @@ -196,11 +195,12 @@ foreach (sort keys %entries) "; } -print HFILE " +print CFILE " { NULL, NULL, NULL } /* End of list marker */ }; +"; - +print HFILE " #define QL_HELP_COUNT " . scalar(keys %entries) . " /* number of help items */ #define QL_MAX_CMD_LEN $maxlen /* largest strlen(cmd) */