Index: pool_ip.c
===================================================================
*** pool_ip.c	(revision 5313)
--- pool_ip.c	(working copy)
*************** SockAddr_cidr_mask(struct sockaddr_stora
*** 451,456 ****
--- 451,457 ----
  						& 0xffffffffUL;
  				else
  					maskl = 0;
+ 				memset(&mask4, 0, sizeof(mask4));
  				mask4.sin_addr.s_addr = htonl(maskl);
  				memcpy(mask, &mask4, sizeof(mask4));
  				break;
Index: pcp/pcp.c
===================================================================
*** pcp/pcp.c	(revision 5313)
--- pcp/pcp.c	(working copy)
*************** pcp_connect(char *hostname, int port, ch
*** 127,133 ****
  		}
  
  		memset((char *) &addr, 0, sizeof(addr));
! 		((struct sockaddr *) &addr)->sa_family = AF_INET;
  		hp = gethostbyname(hostname);
  		if ((hp == NULL) || (hp->h_addrtype != AF_INET))
  		{
--- 127,133 ----
  		}
  
  		memset((char *) &addr, 0, sizeof(addr));
! 		addr.sin_family = AF_INET;
  		hp = gethostbyname(hostname);
  		if ((hp == NULL) || (hp->h_addrtype != AF_INET))
  		{
*************** pcp_disconnect(void)
*** 293,299 ****
  	{
  		/* backend had closed connection already */
  	}
! 	if (debug) fprintf(stderr, "DEBUG: send: tos=\"X\", len=%d\n", sizeof(int));
  
  	pcp_close(pc);
  	pc = NULL;
--- 293,299 ----
  	{
  		/* backend had closed connection already */
  	}
! 	if (debug) fprintf(stderr, "DEBUG: send: tos=\"X\", len=%d\n", (int) sizeof(int));
  
  	pcp_close(pc);
  	pc = NULL;
Index: parser/gram.y
===================================================================
*** parser/gram.y	(revision 5313)
--- parser/gram.y	(working copy)
*************** typedef enum
*** 99,105 ****
  #define base_yylex filtered_base_yylex
  
  #define ereport(a,b) yyerror("")
! #define Assert
  List *parsetree;			/* final parse result is delivered here */
  
  static bool QueryIsRule = FALSE;
--- 99,105 ----
  #define base_yylex filtered_base_yylex
  
  #define ereport(a,b) yyerror("")
! #define Assert(expr)	((void) 0)
  List *parsetree;			/* final parse result is delivered here */
  
  static bool QueryIsRule = FALSE;
Index: parser/makefuncs.c
===================================================================
*** parser/makefuncs.c	(revision 5313)
--- parser/makefuncs.c	(working copy)
***************
*** 21,29 ****
  #include <stdlib.h>
  #include <string.h>
  
! #define Assert
! #define ereport(a,b)
! #define elog(a,b)
  
  #define BOOLOID 16		/* XXX */
  
--- 21,29 ----
  #include <stdlib.h>
  #include <string.h>
  
! #define Assert(expr)	((void) 0)
! #define ereport(a,b)	((void) 0)
! #define elog(a,b)		((void) 0)
  
  #define BOOLOID 16		/* XXX */
  
Index: parser/outfuncs.c
===================================================================
*** parser/outfuncs.c	(revision 5313)
--- parser/outfuncs.c	(working copy)
*************** _outGrantStmt(String *str, GrantStmt *no
*** 3525,3530 ****
--- 3525,3540 ----
  			string_append_char(str, "TABLESPACE ");
  			_outIdList(str, node->objects);
  			break;
+ 
+ 		case ACL_OBJECT_FDW:
+ 			string_append_char(str, "FOREIGN DATA WRAPPER ");
+ 			_outIdList(str, node->objects);
+ 			break;
+ 
+ 		case ACL_OBJECT_FOREIGN_SERVER:
+ 			string_append_char(str, "FOREIGN SERVER ");
+ 			_outIdList(str, node->objects);
+ 			break;
  	}
  
  	if (node->is_grant == true)
Index: parser/copyfuncs.c
===================================================================
*** parser/copyfuncs.c	(revision 5313)
--- parser/copyfuncs.c	(working copy)
***************
*** 27,33 ****
  #include <stddef.h>
  #include "pool_memory.h"
  #include "parsenodes.h"
! #define Assert
  
  
  /*
--- 27,33 ----
  #include <stddef.h>
  #include "pool_memory.h"
  #include "parsenodes.h"
! #define Assert(expr)	((void) 0)
  
  
  /*
Index: pool_lobj.c
===================================================================
*** pool_lobj.c	(revision 5313)
--- pool_lobj.c	(working copy)
*************** char *pool_rewrite_lo_creat(char kind, c
*** 101,109 ****
  	}
  
  	/*
! 	 * Get lo_crea oid
  	 */
! 	lo_creat_oid = (int)pool_search_relcache(relcache_lo_creat, backend, "pg_proc");
  
  	memmove(&orig_fcall_oid, packet, sizeof(int32));
  	orig_fcall_oid = ntohl(orig_fcall_oid);
--- 101,109 ----
  	}
  
  	/*
! 	 * Get lo_creat oid
  	 */
! 	lo_creat_oid = (int)(intptr_t)pool_search_relcache(relcache_lo_creat, backend, "pg_proc");
  
  	memmove(&orig_fcall_oid, packet, sizeof(int32));
  	orig_fcall_oid = ntohl(orig_fcall_oid);
*************** char *pool_rewrite_lo_creat(char kind, c
*** 132,138 ****
  	/*
  	 * Get lo_create oid
  	 */
! 	lo_create_oid = (int)pool_search_relcache(relcache_lo_create, backend, "pg_proc");
  
  	pool_debug("pool_check_lo_creat: lo_creat_oid: %d lo_create_oid: %d",
  			   lo_creat_oid, lo_create_oid);
--- 132,138 ----
  	/*
  	 * Get lo_create oid
  	 */
! 	lo_create_oid = (int)(intptr_t)pool_search_relcache(relcache_lo_create, backend, "pg_proc");
  
  	pool_debug("pool_check_lo_creat: lo_creat_oid: %d lo_create_oid: %d",
  			   lo_creat_oid, lo_create_oid);
Index: pool_connection_pool.c
===================================================================
*** pool_connection_pool.c	(revision 5313)
--- pool_connection_pool.c	(working copy)
*************** int connect_unix_domain_socket_by_port(i
*** 449,455 ****
  	}
  
  	memset((char *) &addr, 0, sizeof(addr));
! 	((struct sockaddr *)&addr)->sa_family = AF_UNIX;
  	snprintf(addr.sun_path, sizeof(addr.sun_path), "%s/.s.PGSQL.%d", socket_dir, port);
  	len = sizeof(struct sockaddr_un);
  
--- 449,455 ----
  	}
  
  	memset((char *) &addr, 0, sizeof(addr));
! 	addr.sun_family = AF_UNIX;
  	snprintf(addr.sun_path, sizeof(addr.sun_path), "%s/.s.PGSQL.%d", socket_dir, port);
  	len = sizeof(struct sockaddr_un);
  
*************** int connect_inet_domain_socket_by_port(c
*** 496,502 ****
  	}
  
  	memset((char *) &addr, 0, sizeof(addr));
! 	((struct sockaddr *)&addr)->sa_family = AF_INET;
  
  	addr.sin_port = htons(port);
  	len = sizeof(struct sockaddr_in);
--- 496,502 ----
  	}
  
  	memset((char *) &addr, 0, sizeof(addr));
! 	addr.sin_family = AF_INET;
  
  	addr.sin_port = htons(port);
  	len = sizeof(struct sockaddr_in);
Index: main.c
===================================================================
*** main.c	(revision 5313)
--- main.c	(working copy)
*************** static int create_inet_domain_socket(con
*** 970,976 ****
  	}
  
  	memset((char *) &addr, 0, sizeof(addr));
! 	((struct sockaddr *)&addr)->sa_family = AF_INET;
  
  	if (strcmp(hostname, "*")==0)
  	{
--- 970,976 ----
  	}
  
  	memset((char *) &addr, 0, sizeof(addr));
! 	addr.sin_family = AF_INET;
  
  	if (strcmp(hostname, "*")==0)
  	{
*************** static int create_unix_domain_socket(str
*** 1034,1040 ****
  		myexit(1);
  	}
  	memset((char *) &addr, 0, sizeof(addr));
! 	((struct sockaddr *)&addr)->sa_family = AF_UNIX;
  	snprintf(addr.sun_path, sizeof(addr.sun_path), un_addr_tmp.sun_path);
  	len = sizeof(struct sockaddr_un);
  	status = bind(fd, (struct sockaddr *)&addr, len);
--- 1034,1040 ----
  		myexit(1);
  	}
  	memset((char *) &addr, 0, sizeof(addr));
! 	addr.sun_family = AF_UNIX;
  	snprintf(addr.sun_path, sizeof(addr.sun_path), un_addr_tmp.sun_path);
  	len = sizeof(struct sockaddr_un);
  	status = bind(fd, (struct sockaddr *)&addr, len);
