56b35ce239
* Add new configuration parameter ssl_renegotiation_limit to control how often we do session key renegotiation for an SSL connection * Fix possible deadlock during backend startup * Fix possible crashes due to not handling errors during relcache reload cleanly * Fix possible crash due to use of dangling pointer to a cached plan * Fix possible crash due to overenthusiastic invalidation of cached plan for "ROLLBACK" * Fix possible crashes when trying to recover from a failure in subtransaction start * Fix server memory leak associated with use of savepoints and a client encoding different from server's encoding * Fix incorrect WAL data emitted during end-of-recovery cleanup of a GIST index page split * Fix bug in WAL redo cleanup method for GIN indexes * Fix incorrect comparison of scan key in GIN index search * Make substring() for bit types treat any negative length as meaning "all the rest of the string" The previous coding treated only -1 that way, and would produce an invalid result value for other negative values, possibly leading to a crash (CVE-2010-0442). * Fix integer-to-bit-string conversions to handle the first fractional byte correctly when the output bit width is wider than the given integer by something other than a multiple of 8 bits * Fix some cases of pathologically slow regular expression matching * Fix bug occurring when trying to inline a SQL function that returns a set of a composite type that contains dropped columns * Fix bug with trying to update a field of an element of a composite-type array column * Avoid failure when "EXPLAIN" has to print a FieldStore or assignment ArrayRef expression These cases can arise now that "EXPLAIN VERBOSE" tries to print plan node target lists. * Avoid an unnecessary coercion failure in some cases where an undecorated literal string appears in a subquery within "UNION"/"INTERSECT"/"EXCEPT" This fixes a regression for some cases that worked before 8.4. * Avoid undesirable rowtype compatibility check failures in some cases where a whole-row Var has a rowtype that contains dropped columns * Fix the STOP WAL LOCATION entry in backup history files to report the next WAL segment's name when the end location is exactly at a segment boundary * Always pass the catalog ID to an option validator function specified in "CREATE FOREIGN DATA WRAPPER" * Fix some more cases of temporary-file leakage * Add support for doing FULL JOIN ON FALSE * Improve constraint exclusion processing of boolean-variable cases, in particular make it possible to exclude a partition that has a "bool_column = false" constraint * Prevent treating an INOUT cast as representing binary compatibility * Include column name in the message when warning about inability to grant or revoke column-level privileges This is more useful than before and helps to prevent confusion when a "REVOKE" generates multiple messages, which formerly appeared to be duplicates. * When reading "pg_hba.conf" and related files, do not treat @something as a file inclusion request if the @ appears inside quote marks; also, never treat @ by itself as a file inclusion request * Prevent infinite loop on some platforms if a directory is named as an inclusion target in "pg_hba.conf" and related files * Fix possible infinite loop if SSL_read or SSL_write fails without setting errno This is reportedly possible with some Windows versions of openssl. * Disallow GSSAPI authentication on local connections, since it requires a hostname to function correctly * Protect ecpg against applications freeing strings unexpectedly * Make ecpg report the proper SQLSTATE if the connection disappears * Fix translation of cell contents in psql \d output * Fix psql's numericlocale option to not format strings it shouldn't in latex and troff output formats * Fix a small per-query memory leak in psql * Make psql return the correct exit status (3) when ON_ERROR_STOP and --single-transaction are both specified and an error occurs during the implied "COMMIT" * Fix pg_dump's output of permissions for foreign servers * Fix possible crash in parallel pg_restore due to out-of-range dependency IDs * Fix plpgsql failure in one case where a composite column is set to NULL * Fix possible failure when calling PL/Perl functions from PL/PerlU or vice versa * Add volatile markings in PL/Python to avoid possible compiler-specific misbehavior * Ensure PL/Tcl initializes the Tcl interpreter fully The only known symptom of this oversight is that the Tcl clock command misbehaves if using Tcl 8.5 or later. * Prevent ExecutorEnd from being run on portals created within a failed transaction or subtransaction This is known to cause issues when using "contrib/auto_explain". * Prevent crash in "contrib/dblink" when too many key columns are specified to a dblink_build_sql_* function * Allow zero-dimensional arrays in "contrib/ltree" operations * Fix assorted crashes in "contrib/xml2" caused by sloppy memory management * Make building of "contrib/xml2" more robust on Windows * Fix race condition in Windows signal handling One known symptom of this bug is that rows in pg_listener could be dropped under heavy load. * Make the configure script report failure if the C compiler does not provide a working 64-bit integer datatype This case has been broken for some time, and no longer seems worth supporting, so just reject it at configure time instead. * Update time zone data files to tzdata release 2010e for DST law changes in Bangladesh, Chile, Fiji, Mexico, Paraguay, Samoa.
78 lines
3.5 KiB
Text
78 lines
3.5 KiB
Text
$NetBSD: patch-ai,v 1.2 2010/04/12 09:58:39 adam Exp $
|
|
|
|
--- src/timezone/zic.c.orig 2010-03-16 07:17:04.000000000 +0000
|
|
+++ src/timezone/zic.c
|
|
@@ -120,51 +120,51 @@ struct zone
|
|
|
|
extern int link(const char *fromname, const char *toname);
|
|
static void addtt(const pg_time_t starttime, int type);
|
|
-static int addtype(long gmtoff, const char *abbr, int isdst,
|
|
- int ttisstd, int ttisgmt);
|
|
-static void leapadd(const pg_time_t t, int positive, int rolling, int count);
|
|
+static int addtype(const long gmtoff, const char *abbr, const int isdst,
|
|
+ const int ttisstd, const int ttisgmt);
|
|
+static void leapadd(const pg_time_t t, const int positive, const int rolling, int count);
|
|
static void adjleap(void);
|
|
static void associate(void);
|
|
static int ciequal(const char *ap, const char *bp);
|
|
-static void convert(long val, char *buf);
|
|
+static void convert(const long val, char *buf);
|
|
static void dolink(const char *fromfile, const char *tofile);
|
|
static void doabbr(char *abbr, const char *format,
|
|
- const char *letters, int isdst, int doquotes);
|
|
-static void eat(const char *name, int num);
|
|
-static void eats(const char *name, int num,
|
|
- const char *rname, int rnum);
|
|
-static long eitol(int i);
|
|
+ const char *letters, const int isdst, int doquotes);
|
|
+static void eat(const char *name, const int num);
|
|
+static void eats(const char *name, const int num,
|
|
+ const char *rname, const int rnum);
|
|
+static long eitol(const int i);
|
|
static void error(const char *message);
|
|
static char **getfields(char *buf);
|
|
static long gethms(const char *string, const char *errstrng,
|
|
- int signable);
|
|
+ const int signable);
|
|
static void infile(const char *filename);
|
|
-static void inleap(char **fields, int nfields);
|
|
-static void inlink(char **fields, int nfields);
|
|
-static void inrule(char **fields, int nfields);
|
|
-static int inzcont(char **fields, int nfields);
|
|
-static int inzone(char **fields, int nfields);
|
|
-static int inzsub(char **fields, int nfields, int iscont);
|
|
+static void inleap(char **fields, const int nfields);
|
|
+static void inlink(char **fields, const int nfields);
|
|
+static void inrule(char **fields, const int nfields);
|
|
+static int inzcont(char **fields, const int nfields);
|
|
+static int inzone(char **fields, const int nfields);
|
|
+static int inzsub(char **fields, const int nfields, const int iscont);
|
|
static int itsabbr(const char *abbr, const char *word);
|
|
static int itsdir(const char *name);
|
|
static int lowerit(int c);
|
|
static char *memcheck(char *tocheck);
|
|
static int mkdirs(char *filename);
|
|
static void newabbr(const char *abbr);
|
|
-static long oadd(long t1, long t2);
|
|
-static void outzone(const struct zone * zp, int ntzones);
|
|
-static void puttzcode(long code, FILE *fp);
|
|
+static long oadd(const long t1, const long t2);
|
|
+static void outzone(const struct zone * zp, const int ntzones);
|
|
+static void puttzcode(const long code, FILE *fp);
|
|
static int rcomp(const void *leftp, const void *rightp);
|
|
-static pg_time_t rpytime(const struct rule * rp, int wantedy);
|
|
+static pg_time_t rpytime(const struct rule * rp, const int wantedy);
|
|
static void rulesub(struct rule * rp,
|
|
const char *loyearp, const char *hiyearp,
|
|
const char *typep, const char *monthp,
|
|
const char *dayp, const char *timep);
|
|
static void setboundaries(void);
|
|
-static pg_time_t tadd(const pg_time_t t1, long t2);
|
|
+static pg_time_t tadd(const pg_time_t t1, const long t2);
|
|
static void usage(FILE *stream, int status);
|
|
static void writezone(const char *name, const char *string);
|
|
-static int yearistype(int year, const char *type);
|
|
+static int yearistype(const int year, const char *type);
|
|
|
|
static int charcnt;
|
|
static int errors;
|