On 03/06/2016 01:26 PM, Joe Conway wrote:
> On 03/06/2016 01:24 PM, Tom Lane wrote:
>> * It's randomly unlike every single other place we've addressed the
>> same problem.  Everywhere else in src/common does it like this:

[...snip...]

>> and I think that's what this needs to do too, especially in view of the
>> fact that there are only two places that would have to be fixed anyway.
> 
> Ok, will fix.

Something like the attached what you had in mind?

Thanks,

Joe

-- 
Crunchy Data - http://crunchydata.com
PostgreSQL Support for Secure Enterprises
Consulting, Training, & Open Source Development
diff --git a/src/common/controldata_utils.c b/src/common/controldata_utils.c
index b6d0a12..65f2cb9 100644
*** a/src/common/controldata_utils.c
--- b/src/common/controldata_utils.c
***************
*** 28,46 ****
  #include "common/controldata_utils.h"
  #include "port/pg_crc32c.h"
  
- #ifndef FRONTEND
- /* NOTE: caller must provide gettext call around the format string */
- #define log_error(...)	\
- 	elog(ERROR, __VA_ARGS__)
- #else
- #define log_error(...)	\
- 	do { \
- 			char *buf = psprintf(__VA_ARGS__); \
- 			fprintf(stderr, "%s: %s\n", progname, buf); \
- 			exit(2); \
- 	} while (0)
- #endif
- 
  /*
   * get_controlfile(char *DataDir, const char *progname)
   *
--- 28,33 ----
*************** get_controlfile(char *DataDir, const cha
*** 59,70 ****
  	snprintf(ControlFilePath, MAXPGPATH, "%s/global/pg_control", DataDir);
  
  	if ((fd = open(ControlFilePath, O_RDONLY | PG_BINARY, 0)) == -1)
! 		log_error(_("could not open file \"%s\" for reading: %s"),
! 				  ControlFilePath, strerror(errno));
  
  	if (read(fd, ControlFile, sizeof(ControlFileData)) != sizeof(ControlFileData))
! 		log_error(_("could not read file \"%s\": %s"),
! 				  ControlFilePath, strerror(errno));
  
  	close(fd);
  
--- 46,76 ----
  	snprintf(ControlFilePath, MAXPGPATH, "%s/global/pg_control", DataDir);
  
  	if ((fd = open(ControlFilePath, O_RDONLY | PG_BINARY, 0)) == -1)
! #ifndef FRONTEND
! 		ereport(ERROR,
! 				(errcode_for_file_access(),
! 				errmsg("could not open file \"%s\" for reading: %m",
! 					   ControlFilePath)));
! #else
! 	{
! 		fprintf(stderr, _("%s: could not open file \"%s\" for reading: %s\n"),
! 				progname, ControlFilePath, strerror(errno));
! 		exit(2);
! 	}
! #endif
  
  	if (read(fd, ControlFile, sizeof(ControlFileData)) != sizeof(ControlFileData))
! #ifndef FRONTEND
! 		ereport(ERROR,
! 				(errcode_for_file_access(),
! 				errmsg("could not read file \"%s\": %m", ControlFilePath)));
! #else
! 	{
! 		fprintf(stderr, _("%s: could not read file \"%s\": %s\n"),
! 				progname, ControlFilePath, strerror(errno));
! 		exit(2);
! 	}
! #endif
  
  	close(fd);
  

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to