Commit 718bb2cc authored by Peter Eisentraut's avatar Peter Eisentraut

Moved psql \eset and \eshow to \encoding

Improved psql's Ctrl-C handling
Fixed configure test for sigsetjmp that now even recognizes it if it's a macro
parent 5253c518
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* *
* Copyright 2000 by PostgreSQL Global Development Group * Copyright 2000 by PostgreSQL Global Development Group
* *
* $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.21 2000/02/20 02:37:40 tgl Exp $ * $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.22 2000/02/20 14:28:20 petere Exp $
*/ */
#include "postgres.h" #include "postgres.h"
#include "command.h" #include "command.h"
...@@ -36,6 +36,9 @@ ...@@ -36,6 +36,9 @@
#ifdef MULTIBYTE #ifdef MULTIBYTE
#include "miscadmin.h" #include "miscadmin.h"
#include "mb/pg_wchar.h" #include "mb/pg_wchar.h"
#else
/* Grand unified hard-coded badness */
#define pg_encoding_to_char(x) "SQL_ASCII"
#endif #endif
...@@ -351,30 +354,29 @@ exec_command(const char *cmd, ...@@ -351,30 +354,29 @@ exec_command(const char *cmd,
fputs("\n", fout); fputs("\n", fout);
} }
#ifdef MULTIBYTE /* \encoding -- set client side encoding */
/* \eset -- set client side encoding */ else if (strcmp(cmd, "encoding") == 0)
else if (strcmp(cmd, "eset") == 0)
{ {
char *encoding = scan_option(&string, OT_NORMAL, NULL); char *encoding = scan_option(&string, OT_NORMAL, NULL);
if (PQsetClientEncoding(pset.db, encoding) == -1)
if (!encoding)
puts(pg_encoding_to_char(pset.encoding));
else
{ {
psql_error("\\%s: invalid encoding\n", cmd); #ifdef MULTIBYTE
} if (PQsetClientEncoding(pset.db, encoding) == -1)
psql_error("%s: invalid encoding name\n", encoding);
/* save encoding info into psql internal data */ /* save encoding info into psql internal data */
pset.encoding = PQclientEncoding(pset.db); pset.encoding = PQclientEncoding(pset.db);
free(encoding); SetVariable(pset.vars, "ENCODING", pg_encoding_to_char(pset.encoding));
} #else
/* \eshow -- show encoding info */ psql_error("\\%s: multi-byte support is not enabled\n", cmd);
else if (strcmp(cmd, "eshow") == 0) #endif
{
int encoding = PQclientEncoding(pset.db);
if (encoding == -1)
{
psql_error("\\%s: there is no connection\n", cmd);
} }
printf("%s\n", pg_encoding_to_char(encoding)); free(encoding);
} }
#endif
/* \f -- change field separator */ /* \f -- change field separator */
else if (strcmp(cmd, "f") == 0) else if (strcmp(cmd, "f") == 0)
{ {
...@@ -425,7 +427,7 @@ exec_command(const char *cmd, ...@@ -425,7 +427,7 @@ exec_command(const char *cmd,
} }
else else
{ {
success = process_file(fname); success = process_file(fname) == EXIT_SUCCESS;
free (fname); free (fname);
} }
} }
...@@ -1148,6 +1150,7 @@ do_connect(const char *new_dbname, const char *new_user) ...@@ -1148,6 +1150,7 @@ do_connect(const char *new_dbname, const char *new_user)
SetVariable(pset.vars, "USER", NULL); SetVariable(pset.vars, "USER", NULL);
SetVariable(pset.vars, "HOST", NULL); SetVariable(pset.vars, "HOST", NULL);
SetVariable(pset.vars, "PORT", NULL); SetVariable(pset.vars, "PORT", NULL);
SetVariable(pset.vars, "ENCODING", NULL);
/* If dbname is "" then use old name, else new one (even if NULL) */ /* If dbname is "" then use old name, else new one (even if NULL) */
if (oldconn && new_dbname && PQdb(oldconn) && strcmp(new_dbname, "") == 0) if (oldconn && new_dbname && PQdb(oldconn) && strcmp(new_dbname, "") == 0)
...@@ -1247,6 +1250,7 @@ do_connect(const char *new_dbname, const char *new_user) ...@@ -1247,6 +1250,7 @@ do_connect(const char *new_dbname, const char *new_user)
SetVariable(pset.vars, "USER", PQuser(pset.db)); SetVariable(pset.vars, "USER", PQuser(pset.db));
SetVariable(pset.vars, "HOST", PQhost(pset.db)); SetVariable(pset.vars, "HOST", PQhost(pset.db));
SetVariable(pset.vars, "PORT", PQport(pset.db)); SetVariable(pset.vars, "PORT", PQport(pset.db));
SetVariable(pset.vars, "ENCODING", pg_encoding_to_char(pset.encoding));
pset.issuper = test_superuser(PQuser(pset.db)); pset.issuper = test_superuser(PQuser(pset.db));
...@@ -1471,7 +1475,7 @@ do_edit(const char *filename_arg, PQExpBuffer query_buf) ...@@ -1471,7 +1475,7 @@ do_edit(const char *filename_arg, PQExpBuffer query_buf)
* Read commands from filename and then them to the main processing loop * Read commands from filename and then them to the main processing loop
* Handler for \i, but can be used for other things as well. * Handler for \i, but can be used for other things as well.
*/ */
bool int
process_file(char *filename) process_file(char *filename)
{ {
FILE *fd; FILE *fd;
...@@ -1494,7 +1498,7 @@ process_file(char *filename) ...@@ -1494,7 +1498,7 @@ process_file(char *filename)
result = MainLoop(fd); result = MainLoop(fd);
fclose(fd); fclose(fd);
pset.inputfile = oldfilename; pset.inputfile = oldfilename;
return (result == EXIT_SUCCESS); return result;
} }
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* *
* Copyright 2000 by PostgreSQL Global Development Group * Copyright 2000 by PostgreSQL Global Development Group
* *
* $Header: /cvsroot/pgsql/src/bin/psql/command.h,v 1.8 2000/02/16 13:15:26 momjian Exp $ * $Header: /cvsroot/pgsql/src/bin/psql/command.h,v 1.9 2000/02/20 14:28:20 petere Exp $
*/ */
#ifndef COMMAND_H #ifndef COMMAND_H
#define COMMAND_H #define COMMAND_H
...@@ -31,7 +31,7 @@ HandleSlashCmds(const char *line, ...@@ -31,7 +31,7 @@ HandleSlashCmds(const char *line,
PQExpBuffer query_buf, PQExpBuffer query_buf,
const char **end_of_cmd); const char **end_of_cmd);
bool int
process_file(char *filename); process_file(char *filename);
bool bool
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* *
* Copyright 2000 by PostgreSQL Global Development Group * Copyright 2000 by PostgreSQL Global Development Group
* *
* $Header: /cvsroot/pgsql/src/bin/psql/common.c,v 1.15 2000/02/20 02:37:40 tgl Exp $ * $Header: /cvsroot/pgsql/src/bin/psql/common.c,v 1.16 2000/02/20 14:28:20 petere Exp $
*/ */
#include "postgres.h" #include "postgres.h"
#include "common.h" #include "common.h"
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
#include <signal.h> #include <signal.h>
#ifndef WIN32 #ifndef WIN32
#include <unistd.h> /* for write() */ #include <unistd.h> /* for write() */
#include <setjmp.h>
#else #else
#include <io.h> /* for _write() */ #include <io.h> /* for _write() */
#include <win32.h> #include <win32.h>
...@@ -34,7 +35,7 @@ ...@@ -34,7 +35,7 @@
#include "copy.h" #include "copy.h"
#include "prompt.h" #include "prompt.h"
#include "print.h" #include "print.h"
#include "mainloop.h"
/* /*
...@@ -184,7 +185,7 @@ simple_prompt(const char *prompt, int maxlen, bool echo) ...@@ -184,7 +185,7 @@ simple_prompt(const char *prompt, int maxlen, bool echo)
if (!destination) if (!destination)
return NULL; return NULL;
if (prompt) if (prompt)
fputs(prompt, stdout); fputs(prompt, stderr);
#ifdef HAVE_TERMIOS_H #ifdef HAVE_TERMIOS_H
if (!echo) if (!echo)
...@@ -238,14 +239,22 @@ simple_prompt(const char *prompt, int maxlen, bool echo) ...@@ -238,14 +239,22 @@ simple_prompt(const char *prompt, int maxlen, bool echo)
*/ */
static PGconn *cancelConn; static PGconn *cancelConn;
volatile bool cancel_pressed;
#define write_stderr(String) write(fileno(stderr), String, strlen(String)) #define write_stderr(String) write(fileno(stderr), String, strlen(String))
static void void
handle_sigint(SIGNAL_ARGS) handle_sigint(SIGNAL_ARGS)
{ {
if (cancelConn == NULL) if (cancelConn == NULL)
#ifndef WIN32
siglongjmp(main_loop_jmp, 1);
#else
return; return;
#endif
cancel_pressed = true;
/* Try to send cancel request */ /* Try to send cancel request */
if (PQrequestCancel(cancelConn)) if (PQrequestCancel(cancelConn))
write_stderr("\nCancel request sent\n"); write_stderr("\nCancel request sent\n");
...@@ -287,15 +296,8 @@ PSQLexec(const char *query) ...@@ -287,15 +296,8 @@ PSQLexec(const char *query)
return NULL; return NULL;
cancelConn = pset.db; cancelConn = pset.db;
#ifndef WIN32
pqsignal(SIGINT, handle_sigint); /* control-C => cancel */
#endif
res = PQexec(pset.db, query); res = PQexec(pset.db, query);
cancelConn = NULL;
#ifndef WIN32
pqsignal(SIGINT, SIG_DFL); /* now control-C is back to normal */
#endif
if (PQstatus(pset.db) == CONNECTION_BAD) if (PQstatus(pset.db) == CONNECTION_BAD)
{ {
...@@ -316,6 +318,7 @@ PSQLexec(const char *query) ...@@ -316,6 +318,7 @@ PSQLexec(const char *query)
SetVariable(pset.vars, "HOST", NULL); SetVariable(pset.vars, "HOST", NULL);
SetVariable(pset.vars, "PORT", NULL); SetVariable(pset.vars, "PORT", NULL);
SetVariable(pset.vars, "USER", NULL); SetVariable(pset.vars, "USER", NULL);
SetVariable(pset.vars, "ENCODING", NULL);
return NULL; return NULL;
} }
else else
...@@ -359,7 +362,7 @@ SendQuery(const char *query) ...@@ -359,7 +362,7 @@ SendQuery(const char *query)
if (!pset.db) if (!pset.db)
{ {
psql_error("you are currently not connected to a database.\n"); psql_error("You are currently not connected to a database.\n");
return false; return false;
} }
...@@ -384,15 +387,8 @@ SendQuery(const char *query) ...@@ -384,15 +387,8 @@ SendQuery(const char *query)
} }
cancelConn = pset.db; cancelConn = pset.db;
#ifndef WIN32
pqsignal(SIGINT, handle_sigint);
#endif
results = PQexec(pset.db, query); results = PQexec(pset.db, query);
cancelConn = NULL;
#ifndef WIN32
pqsignal(SIGINT, SIG_DFL);
#endif
if (results == NULL) if (results == NULL)
{ {
...@@ -494,6 +490,7 @@ SendQuery(const char *query) ...@@ -494,6 +490,7 @@ SendQuery(const char *query)
SetVariable(pset.vars, "HOST", NULL); SetVariable(pset.vars, "HOST", NULL);
SetVariable(pset.vars, "PORT", NULL); SetVariable(pset.vars, "PORT", NULL);
SetVariable(pset.vars, "USER", NULL); SetVariable(pset.vars, "USER", NULL);
SetVariable(pset.vars, "ENCODING", NULL);
return false; return false;
} }
else else
......
...@@ -3,11 +3,14 @@ ...@@ -3,11 +3,14 @@
* *
* Copyright 2000 by PostgreSQL Global Development Group * Copyright 2000 by PostgreSQL Global Development Group
* *
* $Header: /cvsroot/pgsql/src/bin/psql/common.h,v 1.6 2000/02/16 13:15:26 momjian Exp $ * $Header: /cvsroot/pgsql/src/bin/psql/common.h,v 1.7 2000/02/20 14:28:20 petere Exp $
*/ */
#ifndef COMMON_H #ifndef COMMON_H
#define COMMON_H #define COMMON_H
#include "postgres.h"
#include <signal.h>
#include "pqsignal.h"
#include "libpq-fe.h" #include "libpq-fe.h"
char * xstrdup(const char *string); char * xstrdup(const char *string);
...@@ -25,6 +28,9 @@ void NoticeProcessor(void * arg, const char * message); ...@@ -25,6 +28,9 @@ void NoticeProcessor(void * arg, const char * message);
char * simple_prompt(const char *prompt, int maxlen, bool echo); char * simple_prompt(const char *prompt, int maxlen, bool echo);
extern volatile bool cancel_pressed;
void handle_sigint(SIGNAL_ARGS);
PGresult * PSQLexec(const char *query); PGresult * PSQLexec(const char *query);
bool SendQuery(const char *query); bool SendQuery(const char *query);
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* *
* Copyright 2000 by PostgreSQL Global Development Group * Copyright 2000 by PostgreSQL Global Development Group
* *
* $Header: /cvsroot/pgsql/src/bin/psql/help.c,v 1.21 2000/02/20 02:37:40 tgl Exp $ * $Header: /cvsroot/pgsql/src/bin/psql/help.c,v 1.22 2000/02/20 14:28:20 petere Exp $
*/ */
#include "postgres.h" #include "postgres.h"
#include "help.h" #include "help.h"
...@@ -29,6 +29,13 @@ ...@@ -29,6 +29,13 @@
#include "common.h" #include "common.h"
#include "sql_help.h" #include "sql_help.h"
/*
* PLEASE:
* If you change something in this file, also make the same changes
* in the DocBook documentation, file ref/psql-ref.sgml. If you don't
* know how to do it, please find someone who can help you.
*/
/* /*
* usage * usage
...@@ -200,10 +207,7 @@ slashUsage(void) ...@@ -200,10 +207,7 @@ slashUsage(void)
fprintf(fout, " \\dT list data types\n"); fprintf(fout, " \\dT list data types\n");
fprintf(fout, " \\e [fname] edit the current query buffer or <fname> with external editor\n"); fprintf(fout, " \\e [fname] edit the current query buffer or <fname> with external editor\n");
fprintf(fout, " \\echo <text> write text to stdout\n"); fprintf(fout, " \\echo <text> write text to stdout\n");
#ifdef MULTIBYTE fprintf(fout, " \\encoding <encoding> set client encoding\n");
fprintf(fout, " \\eset <encoding> set client encoding\n");
fprintf(fout, " \\eshow show client encoding\n");
#endif
fprintf(fout, " \\g [fname] send query to backend (and results in <fname> or |pipe)\n"); fprintf(fout, " \\g [fname] send query to backend (and results in <fname> or |pipe)\n");
fprintf(fout, " \\h [cmd] help on syntax of sql commands, * for all commands\n"); fprintf(fout, " \\h [cmd] help on syntax of sql commands, * for all commands\n");
fprintf(fout, " \\i <fname> read and execute queries from filename\n"); fprintf(fout, " \\i <fname> read and execute queries from filename\n");
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* *
* Copyright 2000 by PostgreSQL Global Development Group * Copyright 2000 by PostgreSQL Global Development Group
* *
* $Header: /cvsroot/pgsql/src/bin/psql/input.c,v 1.11 2000/02/20 02:37:40 tgl Exp $ * $Header: /cvsroot/pgsql/src/bin/psql/input.c,v 1.12 2000/02/20 14:28:20 petere Exp $
*/ */
#include "postgres.h" #include "postgres.h"
#include "input.h" #include "input.h"
...@@ -148,6 +148,8 @@ initializeInput(int flags) ...@@ -148,6 +148,8 @@ initializeInput(int flags)
} }
} }
#endif #endif
atexit(finishInput);
} }
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* *
* Copyright 2000 by PostgreSQL Global Development Group * Copyright 2000 by PostgreSQL Global Development Group
* *
* $Header: /cvsroot/pgsql/src/bin/psql/mainloop.c,v 1.21 2000/02/20 02:37:40 tgl Exp $ * $Header: /cvsroot/pgsql/src/bin/psql/mainloop.c,v 1.22 2000/02/20 14:28:20 petere Exp $
*/ */
#include "postgres.h" #include "postgres.h"
#include "mainloop.h" #include "mainloop.h"
...@@ -16,6 +16,11 @@ ...@@ -16,6 +16,11 @@
#include "common.h" #include "common.h"
#include "command.h" #include "command.h"
#ifndef WIN32
#include <setjmp.h>
sigjmp_buf main_loop_jmp;
#endif
/* /*
...@@ -88,6 +93,40 @@ MainLoop(FILE *source) ...@@ -88,6 +93,40 @@ MainLoop(FILE *source)
/* main loop to get queries and execute them */ /* main loop to get queries and execute them */
while (1) while (1)
{ {
/*
* Welcome code for Control-C
*/
if (cancel_pressed)
{
cancel_pressed = false;
if (!pset.cur_cmd_interactive)
{
/*
* You get here if you stopped a script with Ctrl-C and a query
* cancel was issued. In that case we don't do the longjmp, so
* the query routine can finish nicely.
*/
successResult = EXIT_USER;
break;
}
}
#ifndef WIN32
if (sigsetjmp(main_loop_jmp, 1) != 0)
{
/* got here with longjmp */
if (pset.cur_cmd_interactive)
{
fputc('\n', stdout);
resetPQExpBuffer(query_buf);
}
else
{
successResult = EXIT_USER;
break;
}
}
#endif
if (slashCmdStatus == CMD_NEWEDIT) if (slashCmdStatus == CMD_NEWEDIT)
{ {
/* /*
...@@ -213,7 +252,7 @@ MainLoop(FILE *source) ...@@ -213,7 +252,7 @@ MainLoop(FILE *source)
/* echo back if flag is set */ /* echo back if flag is set */
var = GetVariable(pset.vars, "ECHO"); var = GetVariable(pset.vars, "ECHO");
if (var && strcmp(var, "all")==0) if (!pset.cur_cmd_interactive && var && strcmp(var, "all")==0)
puts(line); puts(line);
fflush(stdout); fflush(stdout);
......
...@@ -3,11 +3,19 @@ ...@@ -3,11 +3,19 @@
* *
* Copyright 2000 by PostgreSQL Global Development Group * Copyright 2000 by PostgreSQL Global Development Group
* *
* $Header: /cvsroot/pgsql/src/bin/psql/mainloop.h,v 1.7 2000/02/16 13:15:26 momjian Exp $ * $Header: /cvsroot/pgsql/src/bin/psql/mainloop.h,v 1.8 2000/02/20 14:28:20 petere Exp $
*/ */
#ifndef MAINLOOP_H #ifndef MAINLOOP_H
#define MAINLOOP_H #define MAINLOOP_H
#include "postgres.h"
#include <stdio.h>
#ifndef WIN32
#include <setjmp.h>
extern sigjmp_buf main_loop_jmp;
#endif
int MainLoop(FILE *source); int MainLoop(FILE *source);
#endif /* MAINLOOP_H */ #endif /* MAINLOOP_H */
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* *
* Copyright 2000 by PostgreSQL Global Development Group * Copyright 2000 by PostgreSQL Global Development Group
* *
* $Header: /cvsroot/pgsql/src/bin/psql/startup.c,v 1.24 2000/02/16 13:15:26 momjian Exp $ * $Header: /cvsroot/pgsql/src/bin/psql/startup.c,v 1.25 2000/02/20 14:28:20 petere Exp $
*/ */
#include "postgres.h" #include "postgres.h"
...@@ -34,6 +34,14 @@ ...@@ -34,6 +34,14 @@
#include "settings.h" #include "settings.h"
#include "variables.h" #include "variables.h"
#ifdef MULTIBYTE
#include "miscadmin.h"
#include "mb/pg_wchar.h"
#else
/* XXX Grand unified hard-coded badness; this should go into libpq */
#define pg_encoding_to_char(x) "SQL_ASCII"
#endif
/* /*
* Global psql options * Global psql options
*/ */
...@@ -65,7 +73,7 @@ struct adhoc_opts ...@@ -65,7 +73,7 @@ struct adhoc_opts
}; };
static void static void
parse_options(int argc, char *argv[], struct adhoc_opts * options); parse_psql_options(int argc, char *argv[], struct adhoc_opts * options);
static void static void
process_psqlrc(void); process_psqlrc(void);
...@@ -121,7 +129,7 @@ main(int argc, char *argv[]) ...@@ -121,7 +129,7 @@ main(int argc, char *argv[])
pset.getPassword = false; pset.getPassword = false;
#endif #endif
parse_options(argc, argv, &options); parse_psql_options(argc, argv, &options);
if (!pset.popt.topt.fieldSep) if (!pset.popt.topt.fieldSep)
pset.popt.topt.fieldSep = xstrdup(DEFAULT_FIELD_SEP); pset.popt.topt.fieldSep = xstrdup(DEFAULT_FIELD_SEP);
...@@ -191,6 +199,11 @@ main(int argc, char *argv[]) ...@@ -191,6 +199,11 @@ main(int argc, char *argv[])
SetVariable(pset.vars, "USER", PQuser(pset.db)); SetVariable(pset.vars, "USER", PQuser(pset.db));
SetVariable(pset.vars, "HOST", PQhost(pset.db)); SetVariable(pset.vars, "HOST", PQhost(pset.db));
SetVariable(pset.vars, "PORT", PQport(pset.db)); SetVariable(pset.vars, "PORT", PQport(pset.db));
SetVariable(pset.vars, "ENCODING", pg_encoding_to_char(pset.encoding));
#ifndef WIN32
pqsignal(SIGINT, handle_sigint); /* control-C => cancel */
#endif
/* /*
* Now find something to do * Now find something to do
...@@ -200,7 +213,7 @@ main(int argc, char *argv[]) ...@@ -200,7 +213,7 @@ main(int argc, char *argv[])
* process file given by -f * process file given by -f
*/ */
if (options.action == ACT_FILE) if (options.action == ACT_FILE)
successResult = process_file(options.action_string) ? 0 : 1; successResult = process_file(options.action_string);
/* /*
* process slash command if one was given to -c * process slash command if one was given to -c
*/ */
...@@ -208,9 +221,10 @@ main(int argc, char *argv[]) ...@@ -208,9 +221,10 @@ main(int argc, char *argv[])
{ {
const char * value; const char * value;
if ((value = GetVariable(pset.vars, "ECHO")) && strcmp(value, "full")==0) if ((value = GetVariable(pset.vars, "ECHO")) && strcmp(value, "all")==0)
puts(options.action_string); puts(options.action_string);
successResult = HandleSlashCmds(options.action_string, NULL, NULL) != CMD_ERROR ? 0 : 1; successResult = HandleSlashCmds(options.action_string, NULL, NULL) != CMD_ERROR
? EXIT_SUCCESS : EXIT_FAILURE;
} }
/* /*
* If the query given to -c was a normal one, send it * If the query given to -c was a normal one, send it
...@@ -219,9 +233,10 @@ main(int argc, char *argv[]) ...@@ -219,9 +233,10 @@ main(int argc, char *argv[])
{ {
const char * value; const char * value;
if ((value = GetVariable(pset.vars, "ECHO")) && strcmp(value, "full")==0) if ((value = GetVariable(pset.vars, "ECHO")) && strcmp(value, "all")==0)
puts(options.action_string); puts(options.action_string);
successResult = SendQuery(options.action_string) ? 0 : 1; successResult = SendQuery(options.action_string)
? EXIT_SUCCESS : EXIT_FAILURE;
} }
/* /*
* or otherwise enter interactive main loop * or otherwise enter interactive main loop
...@@ -246,14 +261,11 @@ main(int argc, char *argv[]) ...@@ -246,14 +261,11 @@ main(int argc, char *argv[])
if (!pset.notty) if (!pset.notty)
initializeInput(options.no_readline ? 0 : 1); initializeInput(options.no_readline ? 0 : 1);
successResult = MainLoop(stdin); successResult = MainLoop(stdin);
if (!pset.notty)
finishInput();
} }
/* clean up */ /* clean up */
PQfinish(pset.db); PQfinish(pset.db);
setQFout(NULL); setQFout(NULL);
DestroyVariableSpace(pset.vars);
return successResult; return successResult;
} }
...@@ -272,7 +284,7 @@ char *__progname = "psql"; ...@@ -272,7 +284,7 @@ char *__progname = "psql";
#endif #endif
static void static void
parse_options(int argc, char *argv[], struct adhoc_opts * options) parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
{ {
#ifdef HAVE_GETOPT_LONG #ifdef HAVE_GETOPT_LONG
static struct option long_options[] = static struct option long_options[] =
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* *
* Copyright 2000 by PostgreSQL Global Development Group * Copyright 2000 by PostgreSQL Global Development Group
* *
* $Header: /cvsroot/pgsql/src/bin/psql/tab-complete.c,v 1.13 2000/02/20 02:37:40 tgl Exp $ * $Header: /cvsroot/pgsql/src/bin/psql/tab-complete.c,v 1.14 2000/02/20 14:28:20 petere Exp $
*/ */
/*----------- /*-----------
...@@ -198,14 +198,19 @@ char ** psql_completion(char *text, int start, int end) ...@@ -198,14 +198,19 @@ char ** psql_completion(char *text, int start, int end)
static char * backslash_commands[] = { static char * backslash_commands[] = {
"\\connect", "\\copy", "\\d", "\\di", "\\di", "\\ds", "\\dS", "\\dv", "\\connect", "\\copy", "\\d", "\\di", "\\di", "\\ds", "\\dS", "\\dv",
"\\da", "\\df", "\\do", "\\dt", "\\e", "\\echo", "\\g", "\\h", "\\i", "\\l", "\\da", "\\df", "\\do", "\\dt", "\\e", "\\echo", "\\encoding",
"\\g", "\\h", "\\i", "\\l",
"\\lo_import", "\\lo_export", "\\lo_list", "\\lo_unlink", "\\lo_import", "\\lo_export", "\\lo_list", "\\lo_unlink",
"\\o", "\\p", "\\pset", "\\q", "\\qecho", "\\r", "\\set", "\\t", "\\x", "\\o", "\\p", "\\pset", "\\q", "\\qecho", "\\r", "\\set", "\\t", "\\unset",
"\\w", "\\z", "\\!", NULL "\\x", "\\w", "\\z", "\\!", NULL
}; };
(void)end; /* not used */ (void)end; /* not used */
#ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER
rl_completion_append_character = ' ';
#endif
/* Clear a few things. */ /* Clear a few things. */
completion_charp = NULL; completion_charp = NULL;
completion_charpp = NULL; completion_charpp = NULL;
...@@ -547,7 +552,8 @@ char ** psql_completion(char *text, int start, int end) ...@@ -547,7 +552,8 @@ char ** psql_completion(char *text, int start, int end)
/* If we still don't have anything to match we have to fabricate some sort /* If we still don't have anything to match we have to fabricate some sort
of default list. If we were to just return NULL, readline automatically of default list. If we were to just return NULL, readline automatically
attempts filename completion, and that's usually no good. */ attempts filename completion, and that's usually no good. */
if (matches == NULL) { if (matches == NULL)
{
COMPLETE_WITH_CONST(""); COMPLETE_WITH_CONST("");
#ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER #ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER
rl_completion_append_character = '\0'; rl_completion_append_character = '\0';
......
...@@ -5052,7 +5052,7 @@ fi ...@@ -5052,7 +5052,7 @@ fi
fi fi
for ac_func in memmove sigsetjmp sysconf for ac_func in memmove sysconf
do do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:5059: checking for $ac_func" >&5 echo "configure:5059: checking for $ac_func" >&5
...@@ -6236,15 +6236,39 @@ else ...@@ -6236,15 +6236,39 @@ else
fi fi
rm -f conftest* rm -f conftest*
echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6
echo "configure:6241: checking for sigsetjmp" >&5
cat > conftest.$ac_ext <<EOF
#line 6243 "configure"
#include "confdefs.h"
#include <setjmp.h>
int main() {
sigjmp_buf x; sigsetjmp(x, 1);
; return 0; }
EOF
if { (eval echo configure:6250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_SIGSETJMP 1
EOF
echo "$ac_t""yes" 1>&6
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
echo "$ac_t""no" 1>&6
fi
rm -f conftest*
HAVE_LONG_INT_64=0 HAVE_LONG_INT_64=0
echo $ac_n "checking whether 'long int' is 64 bits""... $ac_c" 1>&6 echo $ac_n "checking whether 'long int' is 64 bits""... $ac_c" 1>&6
echo "configure:6243: checking whether 'long int' is 64 bits" >&5 echo "configure:6267: checking whether 'long int' is 64 bits" >&5
if test "$cross_compiling" = yes; then if test "$cross_compiling" = yes; then
echo "$ac_t""assuming not on target machine" 1>&6 echo "$ac_t""assuming not on target machine" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 6248 "configure" #line 6272 "configure"
#include "confdefs.h" #include "confdefs.h"
typedef long int int64; typedef long int int64;
...@@ -6272,7 +6296,7 @@ main() { ...@@ -6272,7 +6296,7 @@ main() {
exit(! does_int64_work()); exit(! does_int64_work());
} }
EOF EOF
if { (eval echo configure:6276: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null if { (eval echo configure:6300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then then
HAVE_LONG_INT_64=1 HAVE_LONG_INT_64=1
cat >> confdefs.h <<\EOF cat >> confdefs.h <<\EOF
...@@ -6293,12 +6317,12 @@ fi ...@@ -6293,12 +6317,12 @@ fi
HAVE_LONG_LONG_INT_64=0 HAVE_LONG_LONG_INT_64=0
if [ $HAVE_LONG_INT_64 -eq 0 ] ; then if [ $HAVE_LONG_INT_64 -eq 0 ] ; then
echo $ac_n "checking whether 'long long int' is 64 bits""... $ac_c" 1>&6 echo $ac_n "checking whether 'long long int' is 64 bits""... $ac_c" 1>&6
echo "configure:6297: checking whether 'long long int' is 64 bits" >&5 echo "configure:6321: checking whether 'long long int' is 64 bits" >&5
if test "$cross_compiling" = yes; then if test "$cross_compiling" = yes; then
echo "$ac_t""assuming not on target machine" 1>&6 echo "$ac_t""assuming not on target machine" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 6302 "configure" #line 6326 "configure"
#include "confdefs.h" #include "confdefs.h"
typedef long long int int64; typedef long long int int64;
...@@ -6326,7 +6350,7 @@ main() { ...@@ -6326,7 +6350,7 @@ main() {
exit(! does_int64_work()); exit(! does_int64_work());
} }
EOF EOF
if { (eval echo configure:6330: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null if { (eval echo configure:6354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then then
HAVE_LONG_LONG_INT_64=1 HAVE_LONG_LONG_INT_64=1
cat >> confdefs.h <<\EOF cat >> confdefs.h <<\EOF
...@@ -6349,7 +6373,7 @@ fi ...@@ -6349,7 +6373,7 @@ fi
if [ $HAVE_LONG_LONG_INT_64 -eq 1 ] ; then if [ $HAVE_LONG_LONG_INT_64 -eq 1 ] ; then
if [ x$SNPRINTF = x ] ; then if [ x$SNPRINTF = x ] ; then
echo $ac_n "checking whether snprintf handles 'long long int' as %lld""... $ac_c" 1>&6 echo $ac_n "checking whether snprintf handles 'long long int' as %lld""... $ac_c" 1>&6
echo "configure:6353: checking whether snprintf handles 'long long int' as %lld" >&5 echo "configure:6377: checking whether snprintf handles 'long long int' as %lld" >&5
if test "$cross_compiling" = yes; then if test "$cross_compiling" = yes; then
echo "$ac_t""assuming not on target machine" 1>&6 echo "$ac_t""assuming not on target machine" 1>&6
# Force usage of our own snprintf, since we cannot test foreign snprintf # Force usage of our own snprintf, since we cannot test foreign snprintf
...@@ -6358,7 +6382,7 @@ echo "configure:6353: checking whether snprintf handles 'long long int' as %lld" ...@@ -6358,7 +6382,7 @@ echo "configure:6353: checking whether snprintf handles 'long long int' as %lld"
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 6362 "configure" #line 6386 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <stdio.h> #include <stdio.h>
typedef long long int int64; typedef long long int int64;
...@@ -6385,7 +6409,7 @@ main() { ...@@ -6385,7 +6409,7 @@ main() {
exit(! does_int64_snprintf_work()); exit(! does_int64_snprintf_work());
} }
EOF EOF
if { (eval echo configure:6389: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null if { (eval echo configure:6413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then then
echo "$ac_t""yes" 1>&6 echo "$ac_t""yes" 1>&6
INT64_FORMAT='"%lld"' INT64_FORMAT='"%lld"'
...@@ -6396,7 +6420,7 @@ else ...@@ -6396,7 +6420,7 @@ else
rm -fr conftest* rm -fr conftest*
echo "$ac_t""no" 1>&6 echo "$ac_t""no" 1>&6
echo $ac_n "checking whether snprintf handles 'long long int' as %qd""... $ac_c" 1>&6 echo $ac_n "checking whether snprintf handles 'long long int' as %qd""... $ac_c" 1>&6
echo "configure:6400: checking whether snprintf handles 'long long int' as %qd" >&5 echo "configure:6424: checking whether snprintf handles 'long long int' as %qd" >&5
if test "$cross_compiling" = yes; then if test "$cross_compiling" = yes; then
echo "$ac_t""assuming not on target machine" 1>&6 echo "$ac_t""assuming not on target machine" 1>&6
# Force usage of our own snprintf, since we cannot test foreign snprintf # Force usage of our own snprintf, since we cannot test foreign snprintf
...@@ -6405,7 +6429,7 @@ echo "configure:6400: checking whether snprintf handles 'long long int' as %qd" ...@@ -6405,7 +6429,7 @@ echo "configure:6400: checking whether snprintf handles 'long long int' as %qd"
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 6409 "configure" #line 6433 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <stdio.h> #include <stdio.h>
typedef long long int int64; typedef long long int int64;
...@@ -6432,7 +6456,7 @@ main() { ...@@ -6432,7 +6456,7 @@ main() {
exit(! does_int64_snprintf_work()); exit(! does_int64_snprintf_work());
} }
EOF EOF
if { (eval echo configure:6436: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null if { (eval echo configure:6460: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then then
echo "$ac_t""yes" 1>&6 echo "$ac_t""yes" 1>&6
INT64_FORMAT='"%qd"' INT64_FORMAT='"%qd"'
...@@ -6474,7 +6498,7 @@ EOF ...@@ -6474,7 +6498,7 @@ EOF
echo $ac_n "checking alignment of short""... $ac_c" 1>&6 echo $ac_n "checking alignment of short""... $ac_c" 1>&6
echo "configure:6478: checking alignment of short" >&5 echo "configure:6502: checking alignment of short" >&5
if eval "test \"`echo '$''{'ac_cv_alignof_short'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_alignof_short'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
...@@ -6482,7 +6506,7 @@ else ...@@ -6482,7 +6506,7 @@ else
ac_cv_alignof_short='sizeof(short)' ac_cv_alignof_short='sizeof(short)'
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 6486 "configure" #line 6510 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <stdio.h> #include <stdio.h>
struct { char filler; short field; } mystruct; struct { char filler; short field; } mystruct;
...@@ -6494,7 +6518,7 @@ main() ...@@ -6494,7 +6518,7 @@ main()
exit(0); exit(0);
} }
EOF EOF
if { (eval echo configure:6498: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null if { (eval echo configure:6522: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then then
ac_cv_alignof_short=`cat conftestval` ac_cv_alignof_short=`cat conftestval`
else else
...@@ -6514,7 +6538,7 @@ EOF ...@@ -6514,7 +6538,7 @@ EOF
echo $ac_n "checking alignment of int""... $ac_c" 1>&6 echo $ac_n "checking alignment of int""... $ac_c" 1>&6
echo "configure:6518: checking alignment of int" >&5 echo "configure:6542: checking alignment of int" >&5
if eval "test \"`echo '$''{'ac_cv_alignof_int'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_alignof_int'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
...@@ -6522,7 +6546,7 @@ else ...@@ -6522,7 +6546,7 @@ else
ac_cv_alignof_int='sizeof(int)' ac_cv_alignof_int='sizeof(int)'
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 6526 "configure" #line 6550 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <stdio.h> #include <stdio.h>
struct { char filler; int field; } mystruct; struct { char filler; int field; } mystruct;
...@@ -6534,7 +6558,7 @@ main() ...@@ -6534,7 +6558,7 @@ main()
exit(0); exit(0);
} }
EOF EOF
if { (eval echo configure:6538: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null if { (eval echo configure:6562: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then then
ac_cv_alignof_int=`cat conftestval` ac_cv_alignof_int=`cat conftestval`
else else
...@@ -6554,7 +6578,7 @@ EOF ...@@ -6554,7 +6578,7 @@ EOF
echo $ac_n "checking alignment of long""... $ac_c" 1>&6 echo $ac_n "checking alignment of long""... $ac_c" 1>&6
echo "configure:6558: checking alignment of long" >&5 echo "configure:6582: checking alignment of long" >&5
if eval "test \"`echo '$''{'ac_cv_alignof_long'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_alignof_long'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
...@@ -6562,7 +6586,7 @@ else ...@@ -6562,7 +6586,7 @@ else
ac_cv_alignof_long='sizeof(long)' ac_cv_alignof_long='sizeof(long)'
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 6566 "configure" #line 6590 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <stdio.h> #include <stdio.h>
struct { char filler; long field; } mystruct; struct { char filler; long field; } mystruct;
...@@ -6574,7 +6598,7 @@ main() ...@@ -6574,7 +6598,7 @@ main()
exit(0); exit(0);
} }
EOF EOF
if { (eval echo configure:6578: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null if { (eval echo configure:6602: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then then
ac_cv_alignof_long=`cat conftestval` ac_cv_alignof_long=`cat conftestval`
else else
...@@ -6595,7 +6619,7 @@ EOF ...@@ -6595,7 +6619,7 @@ EOF
if [ $HAVE_LONG_LONG_INT_64 -eq 1 ] ; then if [ $HAVE_LONG_LONG_INT_64 -eq 1 ] ; then
echo $ac_n "checking alignment of long long int""... $ac_c" 1>&6 echo $ac_n "checking alignment of long long int""... $ac_c" 1>&6
echo "configure:6599: checking alignment of long long int" >&5 echo "configure:6623: checking alignment of long long int" >&5
if eval "test \"`echo '$''{'ac_cv_alignof_long_long_int'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_alignof_long_long_int'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
...@@ -6603,7 +6627,7 @@ else ...@@ -6603,7 +6627,7 @@ else
ac_cv_alignof_long_long_int='sizeof(long long int)' ac_cv_alignof_long_long_int='sizeof(long long int)'
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 6607 "configure" #line 6631 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <stdio.h> #include <stdio.h>
struct { char filler; long long int field; } mystruct; struct { char filler; long long int field; } mystruct;
...@@ -6615,7 +6639,7 @@ main() ...@@ -6615,7 +6639,7 @@ main()
exit(0); exit(0);
} }
EOF EOF
if { (eval echo configure:6619: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null if { (eval echo configure:6643: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then then
ac_cv_alignof_long_long_int=`cat conftestval` ac_cv_alignof_long_long_int=`cat conftestval`
else else
...@@ -6636,7 +6660,7 @@ EOF ...@@ -6636,7 +6660,7 @@ EOF
fi fi
echo $ac_n "checking alignment of double""... $ac_c" 1>&6 echo $ac_n "checking alignment of double""... $ac_c" 1>&6
echo "configure:6640: checking alignment of double" >&5 echo "configure:6664: checking alignment of double" >&5
if eval "test \"`echo '$''{'ac_cv_alignof_double'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_alignof_double'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
...@@ -6644,7 +6668,7 @@ else ...@@ -6644,7 +6668,7 @@ else
ac_cv_alignof_double='sizeof(double)' ac_cv_alignof_double='sizeof(double)'
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 6648 "configure" #line 6672 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <stdio.h> #include <stdio.h>
struct { char filler; double field; } mystruct; struct { char filler; double field; } mystruct;
...@@ -6656,7 +6680,7 @@ main() ...@@ -6656,7 +6680,7 @@ main()
exit(0); exit(0);
} }
EOF EOF
if { (eval echo configure:6660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null if { (eval echo configure:6684: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then then
ac_cv_alignof_double=`cat conftestval` ac_cv_alignof_double=`cat conftestval`
else else
...@@ -6698,9 +6722,9 @@ EOF ...@@ -6698,9 +6722,9 @@ EOF
echo $ac_n "checking for POSIX signal interface""... $ac_c" 1>&6 echo $ac_n "checking for POSIX signal interface""... $ac_c" 1>&6
echo "configure:6702: checking for POSIX signal interface" >&5 echo "configure:6726: checking for POSIX signal interface" >&5
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 6704 "configure" #line 6728 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <signal.h> #include <signal.h>
int main() { int main() {
...@@ -6710,7 +6734,7 @@ act.sa_flags = SA_RESTART; ...@@ -6710,7 +6734,7 @@ act.sa_flags = SA_RESTART;
sigaction(0, &act, &oact); sigaction(0, &act, &oact);
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:6714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:6738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
cat >> confdefs.h <<\EOF cat >> confdefs.h <<\EOF
#define USE_POSIX_SIGNALS 1 #define USE_POSIX_SIGNALS 1
...@@ -6734,7 +6758,7 @@ then ...@@ -6734,7 +6758,7 @@ then
# Extract the first word of "tclsh", so it can be a program name with args. # Extract the first word of "tclsh", so it can be a program name with args.
set dummy tclsh; ac_word=$2 set dummy tclsh; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:6738: checking for $ac_word" >&5 echo "configure:6762: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_TCLSH'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_path_TCLSH'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
...@@ -6771,7 +6795,7 @@ fi ...@@ -6771,7 +6795,7 @@ fi
# Extract the first word of "tcl", so it can be a program name with args. # Extract the first word of "tcl", so it can be a program name with args.
set dummy tcl; ac_word=$2 set dummy tcl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:6775: checking for $ac_word" >&5 echo "configure:6799: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_TCLSH'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_path_TCLSH'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
...@@ -6814,7 +6838,7 @@ fi ...@@ -6814,7 +6838,7 @@ fi
if test "$USE_TCL" = true if test "$USE_TCL" = true
then then
echo $ac_n "checking for tclConfig.sh""... $ac_c" 1>&6 echo $ac_n "checking for tclConfig.sh""... $ac_c" 1>&6
echo "configure:6818: checking for tclConfig.sh" >&5 echo "configure:6842: checking for tclConfig.sh" >&5
TCL_CONFIG_SH= TCL_CONFIG_SH=
library_dirs= library_dirs=
if test -z "$TCL_DIRS" if test -z "$TCL_DIRS"
...@@ -6843,7 +6867,7 @@ USE_TK=$USE_TCL # If TCL is disabled, disable TK ...@@ -6843,7 +6867,7 @@ USE_TK=$USE_TCL # If TCL is disabled, disable TK
if test "$USE_TK" = true if test "$USE_TK" = true
then then
echo $ac_n "checking for tkConfig.sh""... $ac_c" 1>&6 echo $ac_n "checking for tkConfig.sh""... $ac_c" 1>&6
echo "configure:6847: checking for tkConfig.sh" >&5 echo "configure:6871: checking for tkConfig.sh" >&5
TK_CONFIG_SH= TK_CONFIG_SH=
# library_dirs are set in the check for TCL # library_dirs are set in the check for TCL
for dir in $library_dirs for dir in $library_dirs
...@@ -6865,7 +6889,7 @@ echo "configure:6847: checking for tkConfig.sh" >&5 ...@@ -6865,7 +6889,7 @@ echo "configure:6847: checking for tkConfig.sh" >&5
# Extract the first word of "wish", so it can be a program name with args. # Extract the first word of "wish", so it can be a program name with args.
set dummy wish; ac_word=$2 set dummy wish; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:6869: checking for $ac_word" >&5 echo "configure:6893: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_WISH'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_path_WISH'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
...@@ -6915,7 +6939,7 @@ if test "$USE_X" = true; then ...@@ -6915,7 +6939,7 @@ if test "$USE_X" = true; then
# Uses ac_ vars as temps to allow command line to override cache and checks. # Uses ac_ vars as temps to allow command line to override cache and checks.
# --without-x overrides everything else, but does not touch the cache. # --without-x overrides everything else, but does not touch the cache.
echo $ac_n "checking for X""... $ac_c" 1>&6 echo $ac_n "checking for X""... $ac_c" 1>&6
echo "configure:6919: checking for X" >&5 echo "configure:6943: checking for X" >&5
# Check whether --with-x or --without-x was given. # Check whether --with-x or --without-x was given.
if test "${with_x+set}" = set; then if test "${with_x+set}" = set; then
...@@ -6977,12 +7001,12 @@ if test "$ac_x_includes" = NO; then ...@@ -6977,12 +7001,12 @@ if test "$ac_x_includes" = NO; then
# First, try using that file with no special directory specified. # First, try using that file with no special directory specified.
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 6981 "configure" #line 7005 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <$x_direct_test_include> #include <$x_direct_test_include>
EOF EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:6986: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } { (eval echo configure:7010: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then if test -z "$ac_err"; then
rm -rf conftest* rm -rf conftest*
...@@ -7051,14 +7075,14 @@ if test "$ac_x_libraries" = NO; then ...@@ -7051,14 +7075,14 @@ if test "$ac_x_libraries" = NO; then
ac_save_LIBS="$LIBS" ac_save_LIBS="$LIBS"
LIBS="-l$x_direct_test_library $LIBS" LIBS="-l$x_direct_test_library $LIBS"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 7055 "configure" #line 7079 "configure"
#include "confdefs.h" #include "confdefs.h"
int main() { int main() {
${x_direct_test_function}() ${x_direct_test_function}()
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:7062: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:7086: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
LIBS="$ac_save_LIBS" LIBS="$ac_save_LIBS"
# We can link X programs with no special library path. # We can link X programs with no special library path.
...@@ -7164,17 +7188,17 @@ else ...@@ -7164,17 +7188,17 @@ else
case "`(uname -sr) 2>/dev/null`" in case "`(uname -sr) 2>/dev/null`" in
"SunOS 5"*) "SunOS 5"*)
echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
echo "configure:7168: checking whether -R must be followed by a space" >&5 echo "configure:7192: checking whether -R must be followed by a space" >&5
ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 7171 "configure" #line 7195 "configure"
#include "confdefs.h" #include "confdefs.h"
int main() { int main() {
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:7178: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:7202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
ac_R_nospace=yes ac_R_nospace=yes
else else
...@@ -7190,14 +7214,14 @@ rm -f conftest* ...@@ -7190,14 +7214,14 @@ rm -f conftest*
else else
LIBS="$ac_xsave_LIBS -R $x_libraries" LIBS="$ac_xsave_LIBS -R $x_libraries"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 7194 "configure" #line 7218 "configure"
#include "confdefs.h" #include "confdefs.h"
int main() { int main() {
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:7201: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:7225: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
ac_R_space=yes ac_R_space=yes
else else
...@@ -7229,7 +7253,7 @@ rm -f conftest* ...@@ -7229,7 +7253,7 @@ rm -f conftest*
# libraries were built with DECnet support. And karl@cs.umb.edu says # libraries were built with DECnet support. And karl@cs.umb.edu says
# the Alpha needs dnet_stub (dnet does not exist). # the Alpha needs dnet_stub (dnet does not exist).
echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
echo "configure:7233: checking for dnet_ntoa in -ldnet" >&5 echo "configure:7257: checking for dnet_ntoa in -ldnet" >&5
ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
...@@ -7237,7 +7261,7 @@ else ...@@ -7237,7 +7261,7 @@ else
ac_save_LIBS="$LIBS" ac_save_LIBS="$LIBS"
LIBS="-ldnet $LIBS" LIBS="-ldnet $LIBS"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 7241 "configure" #line 7265 "configure"
#include "confdefs.h" #include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */ /* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2 /* We use char because int might match the return type of a gcc2
...@@ -7248,7 +7272,7 @@ int main() { ...@@ -7248,7 +7272,7 @@ int main() {
dnet_ntoa() dnet_ntoa()
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:7252: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:7276: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes" eval "ac_cv_lib_$ac_lib_var=yes"
else else
...@@ -7270,7 +7294,7 @@ fi ...@@ -7270,7 +7294,7 @@ fi
if test $ac_cv_lib_dnet_dnet_ntoa = no; then if test $ac_cv_lib_dnet_dnet_ntoa = no; then
echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
echo "configure:7274: checking for dnet_ntoa in -ldnet_stub" >&5 echo "configure:7298: checking for dnet_ntoa in -ldnet_stub" >&5
ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
...@@ -7278,7 +7302,7 @@ else ...@@ -7278,7 +7302,7 @@ else
ac_save_LIBS="$LIBS" ac_save_LIBS="$LIBS"
LIBS="-ldnet_stub $LIBS" LIBS="-ldnet_stub $LIBS"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 7282 "configure" #line 7306 "configure"
#include "confdefs.h" #include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */ /* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2 /* We use char because int might match the return type of a gcc2
...@@ -7289,7 +7313,7 @@ int main() { ...@@ -7289,7 +7313,7 @@ int main() {
dnet_ntoa() dnet_ntoa()
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:7293: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:7317: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes" eval "ac_cv_lib_$ac_lib_var=yes"
else else
...@@ -7318,12 +7342,12 @@ fi ...@@ -7318,12 +7342,12 @@ fi
# The nsl library prevents programs from opening the X display # The nsl library prevents programs from opening the X display
# on Irix 5.2, according to dickey@clark.net. # on Irix 5.2, according to dickey@clark.net.
echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
echo "configure:7322: checking for gethostbyname" >&5 echo "configure:7346: checking for gethostbyname" >&5
if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 7327 "configure" #line 7351 "configure"
#include "confdefs.h" #include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes, /* System header to define __stub macros and hopefully few prototypes,
which can conflict with char gethostbyname(); below. */ which can conflict with char gethostbyname(); below. */
...@@ -7346,7 +7370,7 @@ gethostbyname(); ...@@ -7346,7 +7370,7 @@ gethostbyname();
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:7350: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:7374: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_func_gethostbyname=yes" eval "ac_cv_func_gethostbyname=yes"
else else
...@@ -7367,7 +7391,7 @@ fi ...@@ -7367,7 +7391,7 @@ fi
if test $ac_cv_func_gethostbyname = no; then if test $ac_cv_func_gethostbyname = no; then
echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
echo "configure:7371: checking for gethostbyname in -lnsl" >&5 echo "configure:7395: checking for gethostbyname in -lnsl" >&5
ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
...@@ -7375,7 +7399,7 @@ else ...@@ -7375,7 +7399,7 @@ else
ac_save_LIBS="$LIBS" ac_save_LIBS="$LIBS"
LIBS="-lnsl $LIBS" LIBS="-lnsl $LIBS"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 7379 "configure" #line 7403 "configure"
#include "confdefs.h" #include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */ /* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2 /* We use char because int might match the return type of a gcc2
...@@ -7386,7 +7410,7 @@ int main() { ...@@ -7386,7 +7410,7 @@ int main() {
gethostbyname() gethostbyname()
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:7390: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:7414: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes" eval "ac_cv_lib_$ac_lib_var=yes"
else else
...@@ -7416,12 +7440,12 @@ fi ...@@ -7416,12 +7440,12 @@ fi
# -lsocket must be given before -lnsl if both are needed. # -lsocket must be given before -lnsl if both are needed.
# We assume that if connect needs -lnsl, so does gethostbyname. # We assume that if connect needs -lnsl, so does gethostbyname.
echo $ac_n "checking for connect""... $ac_c" 1>&6 echo $ac_n "checking for connect""... $ac_c" 1>&6
echo "configure:7420: checking for connect" >&5 echo "configure:7444: checking for connect" >&5
if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 7425 "configure" #line 7449 "configure"
#include "confdefs.h" #include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes, /* System header to define __stub macros and hopefully few prototypes,
which can conflict with char connect(); below. */ which can conflict with char connect(); below. */
...@@ -7444,7 +7468,7 @@ connect(); ...@@ -7444,7 +7468,7 @@ connect();
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:7448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:7472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_func_connect=yes" eval "ac_cv_func_connect=yes"
else else
...@@ -7465,7 +7489,7 @@ fi ...@@ -7465,7 +7489,7 @@ fi
if test $ac_cv_func_connect = no; then if test $ac_cv_func_connect = no; then
echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
echo "configure:7469: checking for connect in -lsocket" >&5 echo "configure:7493: checking for connect in -lsocket" >&5
ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
...@@ -7473,7 +7497,7 @@ else ...@@ -7473,7 +7497,7 @@ else
ac_save_LIBS="$LIBS" ac_save_LIBS="$LIBS"
LIBS="-lsocket $X_EXTRA_LIBS $LIBS" LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 7477 "configure" #line 7501 "configure"
#include "confdefs.h" #include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */ /* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2 /* We use char because int might match the return type of a gcc2
...@@ -7484,7 +7508,7 @@ int main() { ...@@ -7484,7 +7508,7 @@ int main() {
connect() connect()
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:7488: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:7512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes" eval "ac_cv_lib_$ac_lib_var=yes"
else else
...@@ -7508,12 +7532,12 @@ fi ...@@ -7508,12 +7532,12 @@ fi
# gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
echo $ac_n "checking for remove""... $ac_c" 1>&6 echo $ac_n "checking for remove""... $ac_c" 1>&6
echo "configure:7512: checking for remove" >&5 echo "configure:7536: checking for remove" >&5
if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 7517 "configure" #line 7541 "configure"
#include "confdefs.h" #include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes, /* System header to define __stub macros and hopefully few prototypes,
which can conflict with char remove(); below. */ which can conflict with char remove(); below. */
...@@ -7536,7 +7560,7 @@ remove(); ...@@ -7536,7 +7560,7 @@ remove();
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:7540: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:7564: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_func_remove=yes" eval "ac_cv_func_remove=yes"
else else
...@@ -7557,7 +7581,7 @@ fi ...@@ -7557,7 +7581,7 @@ fi
if test $ac_cv_func_remove = no; then if test $ac_cv_func_remove = no; then
echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
echo "configure:7561: checking for remove in -lposix" >&5 echo "configure:7585: checking for remove in -lposix" >&5
ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
...@@ -7565,7 +7589,7 @@ else ...@@ -7565,7 +7589,7 @@ else
ac_save_LIBS="$LIBS" ac_save_LIBS="$LIBS"
LIBS="-lposix $LIBS" LIBS="-lposix $LIBS"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 7569 "configure" #line 7593 "configure"
#include "confdefs.h" #include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */ /* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2 /* We use char because int might match the return type of a gcc2
...@@ -7576,7 +7600,7 @@ int main() { ...@@ -7576,7 +7600,7 @@ int main() {
remove() remove()
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:7580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:7604: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes" eval "ac_cv_lib_$ac_lib_var=yes"
else else
...@@ -7600,12 +7624,12 @@ fi ...@@ -7600,12 +7624,12 @@ fi
# BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
echo $ac_n "checking for shmat""... $ac_c" 1>&6 echo $ac_n "checking for shmat""... $ac_c" 1>&6
echo "configure:7604: checking for shmat" >&5 echo "configure:7628: checking for shmat" >&5
if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 7609 "configure" #line 7633 "configure"
#include "confdefs.h" #include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes, /* System header to define __stub macros and hopefully few prototypes,
which can conflict with char shmat(); below. */ which can conflict with char shmat(); below. */
...@@ -7628,7 +7652,7 @@ shmat(); ...@@ -7628,7 +7652,7 @@ shmat();
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:7632: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:7656: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_func_shmat=yes" eval "ac_cv_func_shmat=yes"
else else
...@@ -7649,7 +7673,7 @@ fi ...@@ -7649,7 +7673,7 @@ fi
if test $ac_cv_func_shmat = no; then if test $ac_cv_func_shmat = no; then
echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
echo "configure:7653: checking for shmat in -lipc" >&5 echo "configure:7677: checking for shmat in -lipc" >&5
ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
...@@ -7657,7 +7681,7 @@ else ...@@ -7657,7 +7681,7 @@ else
ac_save_LIBS="$LIBS" ac_save_LIBS="$LIBS"
LIBS="-lipc $LIBS" LIBS="-lipc $LIBS"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 7661 "configure" #line 7685 "configure"
#include "confdefs.h" #include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */ /* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2 /* We use char because int might match the return type of a gcc2
...@@ -7668,7 +7692,7 @@ int main() { ...@@ -7668,7 +7692,7 @@ int main() {
shmat() shmat()
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:7672: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:7696: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes" eval "ac_cv_lib_$ac_lib_var=yes"
else else
...@@ -7701,7 +7725,7 @@ fi ...@@ -7701,7 +7725,7 @@ fi
# libraries we check for below, so use a different variable. # libraries we check for below, so use a different variable.
# --interran@uluru.Stanford.EDU, kb@cs.umb.edu. # --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6
echo "configure:7705: checking for IceConnectionNumber in -lICE" >&5 echo "configure:7729: checking for IceConnectionNumber in -lICE" >&5
ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
...@@ -7709,7 +7733,7 @@ else ...@@ -7709,7 +7733,7 @@ else
ac_save_LIBS="$LIBS" ac_save_LIBS="$LIBS"
LIBS="-lICE $X_EXTRA_LIBS $LIBS" LIBS="-lICE $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 7713 "configure" #line 7737 "configure"
#include "confdefs.h" #include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */ /* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2 /* We use char because int might match the return type of a gcc2
...@@ -7720,7 +7744,7 @@ int main() { ...@@ -7720,7 +7744,7 @@ int main() {
IceConnectionNumber() IceConnectionNumber()
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:7724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:7748: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes" eval "ac_cv_lib_$ac_lib_var=yes"
else else
...@@ -7753,7 +7777,7 @@ fi ...@@ -7753,7 +7777,7 @@ fi
X11_LIBS="" X11_LIBS=""
echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6 echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6
echo "configure:7757: checking for XOpenDisplay in -lX11" >&5 echo "configure:7781: checking for XOpenDisplay in -lX11" >&5
ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'` ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
...@@ -7761,7 +7785,7 @@ else ...@@ -7761,7 +7785,7 @@ else
ac_save_LIBS="$LIBS" ac_save_LIBS="$LIBS"
LIBS="-lX11 ${X_PRE_LIBS} $LIBS" LIBS="-lX11 ${X_PRE_LIBS} $LIBS"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 7765 "configure" #line 7789 "configure"
#include "confdefs.h" #include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */ /* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2 /* We use char because int might match the return type of a gcc2
...@@ -7772,7 +7796,7 @@ int main() { ...@@ -7772,7 +7796,7 @@ int main() {
XOpenDisplay() XOpenDisplay()
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:7776: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:7800: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes" eval "ac_cv_lib_$ac_lib_var=yes"
else else
...@@ -7819,17 +7843,17 @@ then ...@@ -7819,17 +7843,17 @@ then
PWD_INCDIR=no PWD_INCDIR=no
ac_safe=`echo "pwd.h" | sed 'y%./+-%__p_%'` ac_safe=`echo "pwd.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for pwd.h""... $ac_c" 1>&6 echo $ac_n "checking for pwd.h""... $ac_c" 1>&6
echo "configure:7823: checking for pwd.h" >&5 echo "configure:7847: checking for pwd.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 7828 "configure" #line 7852 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <pwd.h> #include <pwd.h>
EOF EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:7833: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } { (eval echo configure:7857: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then if test -z "$ac_err"; then
rm -rf conftest* rm -rf conftest*
......
...@@ -737,7 +737,7 @@ dnl Checks for library functions. ...@@ -737,7 +737,7 @@ dnl Checks for library functions.
AC_FUNC_MEMCMP AC_FUNC_MEMCMP
AC_TYPE_SIGNAL AC_TYPE_SIGNAL
AC_FUNC_VPRINTF AC_FUNC_VPRINTF
AC_CHECK_FUNCS(memmove sigsetjmp sysconf) AC_CHECK_FUNCS(memmove sysconf)
AC_CHECK_FUNCS(sigprocmask waitpid setsid fcvt) AC_CHECK_FUNCS(sigprocmask waitpid setsid fcvt)
AC_CHECK_FUNCS(fpclass fp_class fp_class_d class) AC_CHECK_FUNCS(fpclass fp_class fp_class_d class)
dnl We use our snprintf.c emulation if either snprintf() or vsnprintf() dnl We use our snprintf.c emulation if either snprintf() or vsnprintf()
...@@ -856,6 +856,15 @@ AC_TRY_LINK([#include <math.h>], ...@@ -856,6 +856,15 @@ AC_TRY_LINK([#include <math.h>],
[AC_DEFINE(HAVE_FINITE) AC_MSG_RESULT(yes)], [AC_DEFINE(HAVE_FINITE) AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no)) AC_MSG_RESULT(no))
dnl Cannot use AC_CHECK_FUNC because sigsetjmp may be a macro
dnl (especially on GNU libc)
dnl See also comments in config.h.
AC_MSG_CHECKING(for sigsetjmp)
AC_TRY_LINK([#include <setjmp.h>],
[sigjmp_buf x; sigsetjmp(x, 1);],
[AC_DEFINE(HAVE_SIGSETJMP) AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no))
dnl Check to see if we have a working 64-bit integer type. dnl Check to see if we have a working 64-bit integer type.
dnl This breaks down into two steps: dnl This breaks down into two steps:
dnl (1) figure out if the compiler has a 64-bit int type with working dnl (1) figure out if the compiler has a 64-bit int type with working
......
...@@ -403,6 +403,17 @@ extern int inet_aton(const char *cp, struct in_addr * addr); ...@@ -403,6 +403,17 @@ extern int inet_aton(const char *cp, struct in_addr * addr);
/* Set to 1 if you have sigsetjmp() */ /* Set to 1 if you have sigsetjmp() */
#undef HAVE_SIGSETJMP #undef HAVE_SIGSETJMP
/*
* When there is no sigsetjmp, its functionality is provided by plain
* setjmp. Incidentally, nothing provides setjmp's functionality in
* that case.
*/
#ifndef HAVE_SIGSETJMP
# define sigjmp_buf jmp_buf
# define sigsetjmp(x,y) setjmp(x)
# define siglongjmp longjmp
#endif
/* Set to 1 if you have sysconf() */ /* Set to 1 if you have sysconf() */
#undef HAVE_SYSCONF #undef HAVE_SYSCONF
......
...@@ -33,12 +33,6 @@ typedef unsigned int slock_t; ...@@ -33,12 +33,6 @@ typedef unsigned int slock_t;
#ifdef HAVE_INT_TIMEZONE #ifdef HAVE_INT_TIMEZONE
#undef HAVE_INT_TIMEZONE #undef HAVE_INT_TIMEZONE
#endif #endif
/*
* currently undefined as I (teunis@computersupportcentre.com) have not
* checked this yet
*/
/* #define HAVE_SIGSETJMP 1 */
#endif #endif
#if defined(__powerpc__) #if defined(__powerpc__)
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* $Id: tcopprot.h,v 1.24 2000/01/26 05:58:35 momjian Exp $ * $Id: tcopprot.h,v 1.25 2000/02/20 14:28:28 petere Exp $
* *
* OLD COMMENTS * OLD COMMENTS
* This file was created so that other c files could get the two * This file was created so that other c files could get the two
...@@ -23,20 +23,6 @@ ...@@ -23,20 +23,6 @@
#include "executor/execdesc.h" #include "executor/execdesc.h"
#include "parser/parse_node.h" #include "parser/parse_node.h"
/* Autoconf's test for HAVE_SIGSETJMP fails on Linux 2.0.x because the test
* explicitly disallows sigsetjmp being a #define, which is how it
* is declared in Linux. So, to avoid compiler warnings about
* sigsetjmp() being redefined, let's not redefine unless necessary.
* - thomas 1997-12-27
* Autoconf really ought to be brighter about macro-ized system functions...
* and this code really ought to be in config.h ...
*/
#if !defined(HAVE_SIGSETJMP) && !defined(sigsetjmp)
#define sigjmp_buf jmp_buf
#define sigsetjmp(x,y) setjmp(x)
#define siglongjmp longjmp
#endif
extern DLLIMPORT sigjmp_buf Warn_restart; extern DLLIMPORT sigjmp_buf Warn_restart;
extern bool Warn_restart_ready; extern bool Warn_restart_ready;
extern bool InError; extern bool InError;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment