aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2016-11-06 10:45:58 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2016-11-06 10:46:14 -0500
commit6e377ef0cc88851f9d077ae93f529701af81170d (patch)
treebcc57baef9d7e3a6513918765773f1c410088c96
parent56993cd17efc71f321c3aa09d93d03d11b83b8c6 (diff)
downloadpostgresql-6e377ef0cc88851f9d077ae93f529701af81170d.tar.gz
postgresql-6e377ef0cc88851f9d077ae93f529701af81170d.zip
More zic cleanup.
The workaround the IANA guys chose to get rid of the clang warning we'd silenced in commit 23ed2ba81 turns out not to satisfy Coverity. Go back to the previous solution, ie, remove the useless comparison to SIZE_MAX. (In principle, there could be machines out there where it's not useless because ptrdiff_t is wider than size_t. But the whole thing is pretty academic anyway, as we could never approach this limit for any sane estimate of the amount of data that zic will ever be asked to work with.) Also, s/lineno/lineno_t/g, because if we accept their decision to start using "lineno" as a typedef, it is going to have very unpleasant consequences in our next pgindent run. Noted that while fooling with pltcl yesterday.
-rw-r--r--src/timezone/zic.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/src/timezone/zic.c b/src/timezone/zic.c
index 7da95aad53c..2f623e03a58 100644
--- a/src/timezone/zic.c
+++ b/src/timezone/zic.c
@@ -48,13 +48,13 @@ static ptrdiff_t const PTRDIFF_MAX = MAXVAL(ptrdiff_t, TYPE_BIT(ptrdiff_t));
#endif
/* The type and printf format for line numbers. */
-typedef int lineno;
+typedef int lineno_t;
#define PRIdLINENO "d"
struct rule
{
const char *r_filename;
- lineno r_linenum;
+ lineno_t r_linenum;
const char *r_name;
zic_t r_loyear; /* for example, 1986 */
@@ -91,7 +91,7 @@ struct rule
struct zone
{
const char *z_filename;
- lineno z_linenum;
+ lineno_t z_linenum;
const char *z_name;
zic_t z_gmtoff;
@@ -169,7 +169,7 @@ static int leapcnt;
static bool leapseen;
static zic_t leapminyear;
static zic_t leapmaxyear;
-static lineno linenum;
+static lineno_t linenum;
static int max_abbrvar_len = PERCENT_Z_LEN_BOUND;
static int max_format_len;
static zic_t max_year;
@@ -178,7 +178,7 @@ static bool noise;
static bool print_abbrevs;
static zic_t print_cutoff;
static const char *rfilename;
-static lineno rlinenum;
+static lineno_t rlinenum;
static const char *progname;
static ptrdiff_t timecnt;
static ptrdiff_t timecnt_alloc;
@@ -276,7 +276,7 @@ static ptrdiff_t nzones_alloc;
struct link
{
const char *l_filename;
- lineno l_linenum;
+ lineno_t l_linenum;
const char *l_from;
const char *l_to;
};
@@ -430,14 +430,13 @@ ecpyalloc(char const * str)
}
static void *
-growalloc(void *ptr, size_t itemsize, ptrdiff_t nitems, ptrdiff_t * nitems_alloc)
+growalloc(void *ptr, size_t itemsize, ptrdiff_t nitems, ptrdiff_t *nitems_alloc)
{
if (nitems < *nitems_alloc)
return ptr;
else
{
- ptrdiff_t nitems_max = PTRDIFF_MAX - WORK_AROUND_QTBUG_53071;
- ptrdiff_t amax = nitems_max < SIZE_MAX ? nitems_max : SIZE_MAX;
+ ptrdiff_t amax = PTRDIFF_MAX - WORK_AROUND_QTBUG_53071;
if ((amax - 1) / 3 * 2 < *nitems_alloc)
memory_exhausted(_("integer overflow"));
@@ -451,7 +450,7 @@ growalloc(void *ptr, size_t itemsize, ptrdiff_t nitems, ptrdiff_t * nitems_alloc
*/
static void
-eats(char const * name, lineno num, char const * rname, lineno rnum)
+eats(char const * name, lineno_t num, char const * rname, lineno_t rnum)
{
filename = name;
linenum = num;
@@ -460,7 +459,7 @@ eats(char const * name, lineno num, char const * rname, lineno rnum)
}
static void
-eat(char const * name, lineno num)
+eat(char const * name, lineno_t num)
{
eats(name, num, NULL, -1);
}
@@ -1157,7 +1156,7 @@ infile(const char *name)
const struct lookup *lp;
int nfields;
bool wantcont;
- lineno num;
+ lineno_t num;
char buf[BUFSIZ];
if (strcmp(name, "-") == 0)