Use standard macro for psql binary file open. Add comment explaining
control-z requirement.
This commit is contained in:
parent
c8c40bbc9e
commit
98e9775a3a
@ -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"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user