mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Use standard macro for psql binary file open. Add comment explaining
control-z requirement.
This commit is contained in:
		@@ -3,7 +3,7 @@
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (c) 2000-2003, PostgreSQL Global Development Group
 | 
					 * Copyright (c) 2000-2003, PostgreSQL Global Development Group
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.118 2004/07/11 00:54:55 momjian Exp $
 | 
					 * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.119 2004/07/11 13:29:15 momjian Exp $
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#include "postgres_fe.h"
 | 
					#include "postgres_fe.h"
 | 
				
			||||||
#include "command.h"
 | 
					#include "command.h"
 | 
				
			||||||
@@ -1197,7 +1197,7 @@ do_edit(const char *filename_arg, PQExpBuffer query_buf)
 | 
				
			|||||||
	if (!error)
 | 
						if (!error)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
		stream = fopen(fname, R_TEXTFILE);
 | 
							stream = fopen(fname, PG_BINARY_R);
 | 
				
			||||||
		if (!stream)
 | 
							if (!stream)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			psql_error("%s: %s\n", fname, strerror(errno));
 | 
								psql_error("%s: %s\n", fname, strerror(errno));
 | 
				
			||||||
@@ -1262,7 +1262,7 @@ process_file(char *filename)
 | 
				
			|||||||
	if (!filename)
 | 
						if (!filename)
 | 
				
			||||||
		return false;
 | 
							return false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	fd = fopen(filename, R_TEXTFILE);
 | 
						fd = fopen(filename, PG_BINARY_R);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!fd)
 | 
						if (!fd)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,7 +3,7 @@
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (c) 2000-2003, PostgreSQL Global Development Group
 | 
					 * Copyright (c) 2000-2003, PostgreSQL Global Development Group
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $PostgreSQL: pgsql/src/bin/psql/common.h,v 1.36 2004/07/11 00:54:55 momjian Exp $
 | 
					 * $PostgreSQL: pgsql/src/bin/psql/common.h,v 1.37 2004/07/11 13:29:15 momjian Exp $
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#ifndef COMMON_H
 | 
					#ifndef COMMON_H
 | 
				
			||||||
#define COMMON_H
 | 
					#define COMMON_H
 | 
				
			||||||
@@ -62,16 +62,4 @@ extern char parse_char(char **buf);
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
extern char *expand_tilde(char **filename);
 | 
					extern char *expand_tilde(char **filename);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 *	WIN32 treats Control-Z as EOF in files opened in text mode.
 | 
					 | 
				
			||||||
 *	Therefore, we open files in binary mode on Win32 so we can read
 | 
					 | 
				
			||||||
 *	literal control-Z.  The other affect is that we see CRLF, but
 | 
					 | 
				
			||||||
 *	that is OK because we can already handle those cleanly.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
#ifndef WIN32
 | 
					 | 
				
			||||||
#define R_TEXTFILE	"r"
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
#define R_TEXTFILE	"rb"
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif   /* COMMON_H */
 | 
					#endif   /* COMMON_H */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,7 +3,7 @@
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (c) 2000-2003, PostgreSQL Global Development Group
 | 
					 * Copyright (c) 2000-2003, PostgreSQL Global Development Group
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $PostgreSQL: pgsql/src/bin/psql/copy.c,v 1.48 2004/07/11 00:54:55 momjian Exp $
 | 
					 * $PostgreSQL: pgsql/src/bin/psql/copy.c,v 1.49 2004/07/11 13:29:15 momjian Exp $
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#include "postgres_fe.h"
 | 
					#include "postgres_fe.h"
 | 
				
			||||||
#include "copy.h"
 | 
					#include "copy.h"
 | 
				
			||||||
@@ -516,7 +516,7 @@ do_copy(const char *args)
 | 
				
			|||||||
	if (options->from)
 | 
						if (options->from)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		if (options->file)
 | 
							if (options->file)
 | 
				
			||||||
			copystream = fopen(options->file, R_TEXTFILE);
 | 
								copystream = fopen(options->file, PG_BINARY_R);
 | 
				
			||||||
		else if (!options->psql_inout)
 | 
							else if (!options->psql_inout)
 | 
				
			||||||
 			copystream = pset.cur_cmd_source;
 | 
					 			copystream = pset.cur_cmd_source;
 | 
				
			||||||
		else
 | 
							else
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,7 +31,7 @@
 | 
				
			|||||||
 * Portions Copyright (c) 1994, Regents of the University of California
 | 
					 * Portions Copyright (c) 1994, Regents of the University of California
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * IDENTIFICATION
 | 
					 * IDENTIFICATION
 | 
				
			||||||
 *	  $PostgreSQL: pgsql/src/bin/psql/psqlscan.l,v 1.4 2004/07/11 00:54:55 momjian Exp $
 | 
					 *	  $PostgreSQL: pgsql/src/bin/psql/psqlscan.l,v 1.5 2004/07/11 13:29:15 momjian Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 *-------------------------------------------------------------------------
 | 
					 *-------------------------------------------------------------------------
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -1284,7 +1284,7 @@ psql_scan_slash_option(PsqlScanState state,
 | 
				
			|||||||
				char		buf[512];
 | 
									char		buf[512];
 | 
				
			||||||
				size_t		result;
 | 
									size_t		result;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				fd = popen(cmd, R_TEXTFILE);
 | 
									fd = popen(cmd, PG_BINARY_R);
 | 
				
			||||||
				if (!fd)
 | 
									if (!fd)
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					psql_error("%s: %s\n", cmd, strerror(errno));
 | 
										psql_error("%s: %s\n", cmd, strerror(errno));
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,7 +12,7 @@
 | 
				
			|||||||
 * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
 | 
					 * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
 | 
				
			||||||
 * Portions Copyright (c) 1994, Regents of the University of California
 | 
					 * Portions Copyright (c) 1994, Regents of the University of California
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $PostgreSQL: pgsql/src/include/c.h,v 1.165 2004/05/21 05:08:03 tgl Exp $
 | 
					 * $PostgreSQL: pgsql/src/include/c.h,v 1.166 2004/07/11 13:29:16 momjian Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 *-------------------------------------------------------------------------
 | 
					 *-------------------------------------------------------------------------
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -671,6 +671,13 @@ typedef NameData *Name;
 | 
				
			|||||||
 * ----------------------------------------------------------------
 | 
					 * ----------------------------------------------------------------
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 *	NOTE:  this is also used for opening text files.
 | 
				
			||||||
 | 
					 *  WIN32 treats Control-Z as EOF in files opened in text mode.
 | 
				
			||||||
 | 
					 *  Therefore, we open files in binary mode on Win32 so we can read
 | 
				
			||||||
 | 
					 *  literal control-Z.  The other affect is that we see CRLF, but
 | 
				
			||||||
 | 
					 *  that is OK because we can already handle those cleanly.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
#if defined(__CYGWIN__) || defined(WIN32)
 | 
					#if defined(__CYGWIN__) || defined(WIN32)
 | 
				
			||||||
#define PG_BINARY	O_BINARY
 | 
					#define PG_BINARY	O_BINARY
 | 
				
			||||||
#define PG_BINARY_R "rb"
 | 
					#define PG_BINARY_R "rb"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user