On Mon, Mar 30, 2015 at 2:01 PM, Michael Paquier <michael.paqu...@gmail.com> wrote:
> > > > On Thu, Mar 26, 2015 at 6:49 AM, Andres Freund <and...@anarazel.de> wrote: > > Centralize definition of integer limits. > > > > Several submitted and even committed patches have run into the problem > > that C89, our baseline, does not provide minimum/maximum values for > > various integer datatypes. C99's stdint.h does, but we can't rely on > > it. > > > > Several parts of the code defined limits locally, so instead centralize > > the definitions to c.h. > > > > This patch also changes the more obvious usages of literal limit values; > > there's more places that could be changed, but it's less clear whether > > it's beneficial to change those. > > My OSX dev box is generating a couple of warnings since this commit: > pg_dump.c:14548:45: warning: format specifies type 'long' but the argument > has type 'long long' [-Wformat] > snprintf(bufm, sizeof(bufm), INT64_FORMAT, SEQ_MINVALUE); > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ > ../../../src/include/pg_config_manual.h:52:22: note: expanded from macro > 'SEQ_MINVALUE' > #define SEQ_MINVALUE (-SEQ_MAXVALUE) > ^ > /usr/include/secure/_stdio.h:56:62: note: expanded from macro 'snprintf' > __builtin___snprintf_chk (str, len, 0, __darwin_obsz(str), __VA_ARGS__) > ^ > pg_dump.c:14549:45: warning: format specifies type 'long' but the argument > has type 'long long' [-Wformat] > snprintf(bufx, sizeof(bufx), INT64_FORMAT, SEQ_MAXVALUE); > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ > ../../../src/include/pg_config_manual.h:51:22: note: expanded from macro > 'SEQ_MAXVALUE' > #define SEQ_MAXVALUE INT64_MAX > ^~~~~~~~~ > /usr/include/stdint.h:122:26: note: expanded from macro 'INT64_MAX' > #define INT64_MAX 9223372036854775807LL > ^~~~~~~~~~~~~~~~~~~~~ > /usr/include/secure/_stdio.h:56:62: note: expanded from macro 'snprintf' > __builtin___snprintf_chk (str, len, 0, __darwin_obsz(str), __VA_ARGS__) > > Thoughts? > INT64_MODIFIER is "l" on OSX, causing this warning. Perhaps there is something better to do instead of casting blindly to int64. Thoughts? -- Michael
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 7da5c41..a15c875 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -14545,8 +14545,8 @@ dumpSequence(Archive *fout, DumpOptions *dopt, TableInfo *tbinfo) /* Make sure we are in proper schema */ selectSourceSchema(fout, tbinfo->dobj.namespace->dobj.name); - snprintf(bufm, sizeof(bufm), INT64_FORMAT, SEQ_MINVALUE); - snprintf(bufx, sizeof(bufx), INT64_FORMAT, SEQ_MAXVALUE); + snprintf(bufm, sizeof(bufm), INT64_FORMAT, (int64) SEQ_MINVALUE); + snprintf(bufx, sizeof(bufx), INT64_FORMAT, (int64) SEQ_MAXVALUE); if (fout->remoteVersion >= 80400) {
-- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers