diff options
| author | Peter Eisentraut <peter_e@gmx.net> | 2000-02-07 23:10:11 +0000 |
|---|---|---|
| committer | Peter Eisentraut <peter_e@gmx.net> | 2000-02-07 23:10:11 +0000 |
| commit | 9ceb5d8a7bfc4a6315f37913afb5f3d6cefa651f (patch) | |
| tree | cfe54170ff754e064955bb00be586a5b26ab7db3 /src/interfaces/libpq | |
| parent | 4842ef86247a323de9ec25e799d756c320222fe0 (diff) | |
| download | postgresql-9ceb5d8a7bfc4a6315f37913afb5f3d6cefa651f.tar.gz | |
Fixed psql double quoting of SQL ids
Fixed libpq printing functions
Diffstat (limited to 'src/interfaces/libpq')
| -rw-r--r-- | src/interfaces/libpq/fe-auth.c | 6 | ||||
| -rw-r--r-- | src/interfaces/libpq/fe-connect.c | 19 | ||||
| -rw-r--r-- | src/interfaces/libpq/fe-exec.c | 26 | ||||
| -rw-r--r-- | src/interfaces/libpq/fe-lobj.c | 4 | ||||
| -rw-r--r-- | src/interfaces/libpq/fe-misc.c | 4 | ||||
| -rw-r--r-- | src/interfaces/libpq/fe-print.c | 21 | ||||
| -rw-r--r-- | src/interfaces/libpq/libpq-fe.h | 55 | ||||
| -rw-r--r-- | src/interfaces/libpq/libpq-int.h | 7 | ||||
| -rw-r--r-- | src/interfaces/libpq/pqexpbuffer.c | 16 | ||||
| -rw-r--r-- | src/interfaces/libpq/pqexpbuffer.h | 10 | ||||
| -rw-r--r-- | src/interfaces/libpq/win32.h | 4 |
11 files changed, 96 insertions, 76 deletions
diff --git a/src/interfaces/libpq/fe-auth.c b/src/interfaces/libpq/fe-auth.c index 96589497d3..7a3bff45e9 100644 --- a/src/interfaces/libpq/fe-auth.c +++ b/src/interfaces/libpq/fe-auth.c @@ -10,7 +10,7 @@ * exceed INITIAL_EXPBUFFER_SIZE (currently 256 bytes). * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-auth.c,v 1.36 2000/01/26 05:58:45 momjian Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-auth.c,v 1.37 2000/02/07 23:10:08 petere Exp $ * *------------------------------------------------------------------------- */ @@ -474,6 +474,10 @@ int fe_sendauth(AuthRequest areq, PGconn *conn, const char *hostname, const char *password, char *PQerrormsg) { +#if !defined(KRB4) && !defined(KRB5) + (void)hostname; /*not used*/ +#endif + switch (areq) { case AUTH_REQ_OK: diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c index 92d32917ef..94bf6bf0b8 100644 --- a/src/interfaces/libpq/fe-connect.c +++ b/src/interfaces/libpq/fe-connect.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.117 2000/02/05 12:33:22 ishii Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.118 2000/02/07 23:10:09 petere Exp $ * *------------------------------------------------------------------------- */ @@ -2291,7 +2291,7 @@ conninfo_free() } /* =========== accessor functions for PGconn ========= */ -const char * +char * PQdb(const PGconn *conn) { if (!conn) @@ -2299,7 +2299,7 @@ PQdb(const PGconn *conn) return conn->dbName; } -const char * +char * PQuser(const PGconn *conn) { if (!conn) @@ -2307,7 +2307,7 @@ PQuser(const PGconn *conn) return conn->pguser; } -const char * +char * PQpass(const PGconn *conn) { if (!conn) @@ -2315,7 +2315,7 @@ PQpass(const PGconn *conn) return conn->pgpass; } -const char * +char * PQhost(const PGconn *conn) { if (!conn) @@ -2323,7 +2323,7 @@ PQhost(const PGconn *conn) return conn->pghost; } -const char * +char * PQport(const PGconn *conn) { if (!conn) @@ -2331,7 +2331,7 @@ PQport(const PGconn *conn) return conn->pgport; } -const char * +char * PQtty(const PGconn *conn) { if (!conn) @@ -2339,7 +2339,7 @@ PQtty(const PGconn *conn) return conn->pgtty; } -const char * +char * PQoptions(const PGconn *conn) { if (!conn) @@ -2355,7 +2355,7 @@ PQstatus(const PGconn *conn) return conn->status; } -const char * +char * PQerrorMessage(const PGconn *conn) { static char noConn[] = "PQerrorMessage: conn pointer is NULL\n"; @@ -2478,6 +2478,7 @@ PQsetNoticeProcessor(PGconn *conn, PQnoticeProcessor proc, void *arg) static void defaultNoticeProcessor(void *arg, const char *message) { + (void)arg; /*not used*/ /* Note: we expect the supplied string to end with a newline already. */ fprintf(stderr, "%s", message); } diff --git a/src/interfaces/libpq/fe-exec.c b/src/interfaces/libpq/fe-exec.c index 406ab49903..8bba82e788 100644 --- a/src/interfaces/libpq/fe-exec.c +++ b/src/interfaces/libpq/fe-exec.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-exec.c,v 1.89 2000/01/26 05:58:45 momjian Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-exec.c,v 1.90 2000/02/07 23:10:10 petere Exp $ * *------------------------------------------------------------------------- */ @@ -27,7 +27,7 @@ #endif /* keep this in same order as ExecStatusType in libpq-fe.h */ -const char *const pgresStatus[] = { +char * const pgresStatus[] = { "PGRES_EMPTY_QUERY", "PGRES_COMMAND_OK", "PGRES_TUPLES_OK", @@ -1760,15 +1760,15 @@ PQresultStatus(const PGresult *res) return res->resultStatus; } -const char * +char * PQresStatus(ExecStatusType status) { - if ((int)status < 0 || (size_t)status >= sizeof pgresStatus / sizeof pgresStatus[0]) + if (status < 0 || status >= sizeof pgresStatus / sizeof pgresStatus[0]) return "Invalid ExecStatusType code"; return pgresStatus[status]; } -const char * +char * PQresultErrorMessage(const PGresult *res) { if (!res || !res->errMsg) @@ -1862,7 +1862,7 @@ check_tuple_field_number(const char *routineName, const PGresult *res, /* returns NULL if the field_num is invalid */ -const char * +char * PQfname(const PGresult *res, int field_num) { if (!check_field_number("PQfname", res, field_num)) @@ -1947,8 +1947,8 @@ PQfmod(const PGresult *res, int field_num) return 0; } -const char * -PQcmdStatus(const PGresult *res) +char * +PQcmdStatus(PGresult *res) { if (!res) return NULL; @@ -1960,7 +1960,7 @@ PQcmdStatus(const PGresult *res) if the last command was an INSERT, return the oid string if not, return "" */ -const char * +char * PQoidStatus(const PGresult *res) { /* @@ -2011,8 +2011,8 @@ PQoidValue(const PGresult *res) if the last command was an INSERT/UPDATE/DELETE, return number of inserted/affected tuples, if not, return "" */ -const char * -PQcmdTuples(const PGresult *res) +char * +PQcmdTuples(PGresult *res) { char noticeBuf[128]; @@ -2023,7 +2023,7 @@ PQcmdTuples(const PGresult *res) strncmp(res->cmdStatus, "DELETE", 6) == 0 || strncmp(res->cmdStatus, "UPDATE", 6) == 0) { - const char *p = res->cmdStatus + 6; + char *p = res->cmdStatus + 6; if (*p == 0) { @@ -2067,7 +2067,7 @@ PQcmdTuples(const PGresult *res) if res is not binary, a null-terminated ASCII string is returned. */ -const char * +char * PQgetvalue(const PGresult *res, int tup_num, int field_num) { if (!check_tuple_field_number("PQgetvalue", res, tup_num, field_num)) diff --git a/src/interfaces/libpq/fe-lobj.c b/src/interfaces/libpq/fe-lobj.c index e31b66a28b..6a7fd71f44 100644 --- a/src/interfaces/libpq/fe-lobj.c +++ b/src/interfaces/libpq/fe-lobj.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-lobj.c,v 1.27 2000/01/26 05:58:45 momjian Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-lobj.c,v 1.28 2000/02/07 23:10:11 petere Exp $ * *------------------------------------------------------------------------- */ @@ -168,7 +168,7 @@ lo_read(PGconn *conn, int fd, char *buf, size_t len) * */ int -lo_write(PGconn *conn, int fd, const char *buf, size_t len) +lo_write(PGconn *conn, int fd, char *buf, size_t len) { PQArgBlock argv[2]; PGresult *res; diff --git a/src/interfaces/libpq/fe-misc.c b/src/interfaces/libpq/fe-misc.c index ff6acefea8..d171c457d9 100644 --- a/src/interfaces/libpq/fe-misc.c +++ b/src/interfaces/libpq/fe-misc.c @@ -25,7 +25,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-misc.c,v 1.38 2000/01/29 16:58:51 petere Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-misc.c,v 1.39 2000/02/07 23:10:11 petere Exp $ * *------------------------------------------------------------------------- */ @@ -782,6 +782,8 @@ PQenv2encoding(void) int PQmblen(const unsigned char *s, int encoding) { + (void)s; + (void)encoding; return 1; } int diff --git a/src/interfaces/libpq/fe-print.c b/src/interfaces/libpq/fe-print.c index e54167cc1f..3b9102d4d8 100644 --- a/src/interfaces/libpq/fe-print.c +++ b/src/interfaces/libpq/fe-print.c @@ -10,7 +10,7 @@ * didn't really belong there. * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-print.c,v 1.34 2000/02/05 12:33:22 ishii Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-print.c,v 1.35 2000/02/07 23:10:11 petere Exp $ * *------------------------------------------------------------------------- */ @@ -59,7 +59,7 @@ static char *do_header(FILE *fout, const PQprintOpt *po, const int nFields, static void output_row(FILE *fout, const PQprintOpt *po, const int nFields, char **fields, unsigned char *fieldNotNum, int *fieldMax, char *border, const int row_index); - +static void fill(int length, int max, char filler, FILE *fp); /* * PQprint() @@ -440,7 +440,6 @@ do_header(FILE *fout, const PQprintOpt *po, const int nFields, int *fieldMax, fputs("<tr>", fout); else { - int j; /* for loop index */ int tot = 0; int n = 0; char *p = NULL; @@ -557,7 +556,6 @@ output_row(FILE *fout, const PQprintOpt *po, const int nFields, char **fields, -#if 0 /* * really old printing routines */ @@ -728,4 +726,17 @@ PQprintTuples(const PGresult *res, } } } -#endif + + + +/* simply send out max-length number of filler characters to fp */ + +static void +fill(int length, int max, char filler, FILE *fp) +{ + int count; + + count = max - length; + while (count-- >= 0) + putc(filler, fp); +} diff --git a/src/interfaces/libpq/libpq-fe.h b/src/interfaces/libpq/libpq-fe.h index 8acb622ad1..66437a903f 100644 --- a/src/interfaces/libpq/libpq-fe.h +++ b/src/interfaces/libpq/libpq-fe.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: libpq-fe.h,v 1.59 2000/02/05 12:33:22 ishii Exp $ + * $Id: libpq-fe.h,v 1.60 2000/02/07 23:10:11 petere Exp $ * *------------------------------------------------------------------------- */ @@ -74,11 +74,6 @@ extern "C" PGRES_FATAL_ERROR } ExecStatusType; -/* String descriptions of the ExecStatusTypes. - * NB: direct use of this array is now deprecated; call PQresStatus() instead. - */ - extern const char *const pgresStatus[]; - /* PGconn encapsulates a connection to the backend. * The contents of this struct are not supposed to be known to applications. */ @@ -115,16 +110,17 @@ extern "C" typedef void (*PQnoticeProcessor) (void *arg, const char *message); /* Print options for PQprint() */ + typedef char pqbool; typedef struct _PQprintOpt { - int header; /* print output field headings and row + pqbool header; /* print output field headings and row * count */ - int align; /* fill align the fields */ - int standard; /* old brain dead format */ - int html3; /* output html tables */ - int expanded; /* expand tables */ - int pager; /* use pager for output if needed */ + pqbool align; /* fill align the fields */ + pqbool standard; /* old brain dead format */ + pqbool html3; /* output html tables */ + pqbool expanded; /* expand tables */ + pqbool pager; /* use pager for output if needed */ char *fieldSep; /* field separator */ char *tableOpt; /* insert to HTML <table ...> */ char *caption; /* HTML <caption> */ @@ -207,15 +203,15 @@ extern "C" extern int PQrequestCancel(PGconn *conn); /* Accessor functions for PGconn objects */ - extern const char *PQdb(const PGconn *conn); - extern const char *PQuser(const PGconn *conn); - extern const char *PQpass(const PGconn *conn); - extern const char *PQhost(const PGconn *conn); - extern const char *PQport(const PGconn *conn); - extern const char *PQtty(const PGconn *conn); - extern const char *PQoptions(const PGconn *conn); + extern char *PQdb(const PGconn *conn); + extern char *PQuser(const PGconn *conn); + extern char *PQpass(const PGconn *conn); + extern char *PQhost(const PGconn *conn); + extern char *PQport(const PGconn *conn); + extern char *PQtty(const PGconn *conn); + extern char *PQoptions(const PGconn *conn); extern ConnStatusType PQstatus(const PGconn *conn); - extern const char *PQerrorMessage(const PGconn *conn); + extern char *PQerrorMessage(const PGconn *conn); extern int PQsocket(const PGconn *conn); extern int PQbackendPID(const PGconn *conn); extern int PQclientEncoding(const PGconn *conn); @@ -279,21 +275,21 @@ extern "C" /* Accessor functions for PGresult objects */ extern ExecStatusType PQresultStatus(const PGresult *res); - extern const char *PQresStatus(ExecStatusType status); - extern const char *PQresultErrorMessage(const PGresult *res); + extern char *PQresStatus(ExecStatusType status); + extern char *PQresultErrorMessage(const PGresult *res); extern int PQntuples(const PGresult *res); extern int PQnfields(const PGresult *res); extern int PQbinaryTuples(const PGresult *res); - extern const char *PQfname(const PGresult *res, int field_num); + extern char *PQfname(const PGresult *res, int field_num); extern int PQfnumber(const PGresult *res, const char *field_name); extern Oid PQftype(const PGresult *res, int field_num); extern int PQfsize(const PGresult *res, int field_num); extern int PQfmod(const PGresult *res, int field_num); - extern const char *PQcmdStatus(const PGresult *res); - extern const char *PQoidStatus(const PGresult *res); /* old and ugly */ + extern char *PQcmdStatus(PGresult *res); + extern char *PQoidStatus(const PGresult *res); /* old and ugly */ extern Oid PQoidValue(const PGresult *res); /* new and improved */ - extern const char *PQcmdTuples(const PGresult *res); - extern const char *PQgetvalue(const PGresult *res, int tup_num, int field_num); + extern char *PQcmdTuples(PGresult *res); + extern char *PQgetvalue(const PGresult *res, int tup_num, int field_num); extern int PQgetlength(const PGresult *res, int tup_num, int field_num); extern int PQgetisnull(const PGresult *res, int tup_num, int field_num); @@ -313,7 +309,6 @@ extern "C" const PGresult *res, const PQprintOpt *ps); /* option structure */ -#if 0 /* * really old printing routines */ @@ -330,7 +325,7 @@ extern "C" int terseOutput, /* delimiter bars */ int width); /* width of column, if * 0, use variable width */ -#endif + /* === in fe-lobj.c === */ @@ -338,7 +333,7 @@ extern "C" extern int lo_open(PGconn *conn, Oid lobjId, int mode); extern int lo_close(PGconn *conn, int fd); extern int lo_read(PGconn *conn, int fd, char *buf, size_t len); - extern int lo_write(PGconn *conn, int fd, const char *buf, size_t len); + extern int lo_write(PGconn *conn, int fd, char *buf, size_t len); extern int lo_lseek(PGconn *conn, int fd, int offset, int whence); extern Oid lo_creat(PGconn *conn, int mode); extern int lo_tell(PGconn *conn, int fd); diff --git a/src/interfaces/libpq/libpq-int.h b/src/interfaces/libpq/libpq-int.h index bb6f193bfe..16555d9885 100644 --- a/src/interfaces/libpq/libpq-int.h +++ b/src/interfaces/libpq/libpq-int.h @@ -12,7 +12,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: libpq-int.h,v 1.18 2000/01/26 05:58:46 momjian Exp $ + * $Id: libpq-int.h,v 1.19 2000/02/07 23:10:11 petere Exp $ * *------------------------------------------------------------------------- */ @@ -244,6 +244,11 @@ struct pg_conn int client_encoding; /* encoding id */ }; +/* String descriptions of the ExecStatusTypes. + * direct use of this array is deprecated; call PQresStatus() instead. + */ +extern char *const pgresStatus[]; + /* ---------------- * Internal functions of libpq * Functions declared here need to be visible across files of libpq, diff --git a/src/interfaces/libpq/pqexpbuffer.c b/src/interfaces/libpq/pqexpbuffer.c index dc006e55c8..f70d9139c2 100644 --- a/src/interfaces/libpq/pqexpbuffer.c +++ b/src/interfaces/libpq/pqexpbuffer.c @@ -17,7 +17,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Header: /cvsroot/pgsql/src/interfaces/libpq/pqexpbuffer.c,v 1.4 2000/01/26 05:58:46 momjian Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpq/pqexpbuffer.c,v 1.5 2000/02/07 23:10:11 petere Exp $ * *------------------------------------------------------------------------- */ @@ -124,9 +124,9 @@ resetPQExpBuffer(PQExpBuffer str) * Returns 1 if OK, 0 if failed to enlarge buffer. */ int -enlargePQExpBuffer(PQExpBuffer str, int needed) +enlargePQExpBuffer(PQExpBuffer str, size_t needed) { - int newlen; + size_t newlen; char *newdata; needed += str->len + 1; /* total space required now */ @@ -164,8 +164,8 @@ void printfPQExpBuffer(PQExpBuffer str, const char *fmt,...) { va_list args; - int avail, - nprinted; + size_t avail; + int nprinted; resetPQExpBuffer(str); @@ -214,8 +214,8 @@ void appendPQExpBuffer(PQExpBuffer str, const char *fmt,...) { va_list args; - int avail, - nprinted; + size_t avail; + int nprinted; for (;;) { @@ -286,7 +286,7 @@ appendPQExpBufferChar(PQExpBuffer str, char ch) * if necessary. */ void -appendBinaryPQExpBuffer(PQExpBuffer str, const char *data, int datalen) +appendBinaryPQExpBuffer(PQExpBuffer str, const char *data, size_t datalen) { /* Make more room if needed */ if (! enlargePQExpBuffer(str, datalen)) diff --git a/src/interfaces/libpq/pqexpbuffer.h b/src/interfaces/libpq/pqexpbuffer.h index b70170d61a..014254465a 100644 --- a/src/interfaces/libpq/pqexpbuffer.h +++ b/src/interfaces/libpq/pqexpbuffer.h @@ -18,7 +18,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: pqexpbuffer.h,v 1.3 2000/01/26 05:58:46 momjian Exp $ + * $Id: pqexpbuffer.h,v 1.4 2000/02/07 23:10:11 petere Exp $ * *------------------------------------------------------------------------- */ @@ -40,8 +40,8 @@ typedef struct PQExpBufferData { char *data; - int len; - int maxlen; + size_t len; + size_t maxlen; } PQExpBufferData; typedef PQExpBufferData *PQExpBuffer; @@ -113,7 +113,7 @@ extern void resetPQExpBuffer(PQExpBuffer str); * * Returns 1 if OK, 0 if failed to enlarge buffer. */ -extern int enlargePQExpBuffer(PQExpBuffer str, int needed); +extern int enlargePQExpBuffer(PQExpBuffer str, size_t needed); /*------------------------ * printfPQExpBuffer @@ -153,6 +153,6 @@ extern void appendPQExpBufferChar(PQExpBuffer str, char ch); * if necessary. */ extern void appendBinaryPQExpBuffer(PQExpBuffer str, - const char *data, int datalen); + const char *data, size_t datalen); #endif /* PQEXPBUFFER_H */ diff --git a/src/interfaces/libpq/win32.h b/src/interfaces/libpq/win32.h index 6988bcd98f..91f7df1a2d 100644 --- a/src/interfaces/libpq/win32.h +++ b/src/interfaces/libpq/win32.h @@ -11,9 +11,11 @@ * Some compat functions */ #define open(a,b,c) _open(a,b,c) +#define close(a) _close(a) #define read(a,b,c) _read(a,b,c) #define write(a,b,c) _write(a,b,c) - +#define popen(a,b) _popen(a,b) +#define pclose(a) _pclose(a) /* * crypt not available (yet) |
