*
* Copyright (c) 2000-2003, PostgreSQL Global Development Group
*
- * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.117 2004/06/18 06:14:04 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.118 2004/07/11 00:54:55 momjian Exp $
*/
#include "postgres_fe.h"
#include "command.h"
if (!error)
{
#endif
- stream = fopen(fname, "r");
+ stream = fopen(fname, R_TEXTFILE);
if (!stream)
{
psql_error("%s: %s\n", fname, strerror(errno));
if (!filename)
return false;
- fd = fopen(filename, "r");
+ fd = fopen(filename, R_TEXTFILE);
if (!fd)
{
*
* Copyright (c) 2000-2003, PostgreSQL Global Development Group
*
- * $PostgreSQL: pgsql/src/bin/psql/common.h,v 1.35 2004/04/19 17:42:58 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/common.h,v 1.36 2004/07/11 00:54:55 momjian Exp $
*/
#ifndef COMMON_H
#define COMMON_H
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 */
*
* Copyright (c) 2000-2003, PostgreSQL Global Development Group
*
- * $PostgreSQL: pgsql/src/bin/psql/copy.c,v 1.47 2004/05/07 00:24:58 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/copy.c,v 1.48 2004/07/11 00:54:55 momjian Exp $
*/
#include "postgres_fe.h"
#include "copy.h"
if (options->from)
{
if (options->file)
- copystream = fopen(options->file, "r");
+ copystream = fopen(options->file, R_TEXTFILE);
else if (!options->psql_inout)
copystream = pset.cur_cmd_source;
else
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/bin/psql/psqlscan.l,v 1.3 2004/05/07 00:24:58 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/psqlscan.l,v 1.4 2004/07/11 00:54:55 momjian Exp $
*
*-------------------------------------------------------------------------
*/
char buf[512];
size_t result;
- fd = popen(cmd, "r");
+ fd = popen(cmd, R_TEXTFILE);
if (!fd)
{
psql_error("%s: %s\n", cmd, strerror(errno));