Commit df1468e2 authored by Marc G. Fournier's avatar Marc G. Fournier

parent 7c3b7d27
......@@ -5,9 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/transam/Attic/xid.c,v 1.19 1998/12/14 05:18:33 scrappy Exp $
* $Id: xid.c,v 1.20 1998/12/14 06:50:17 scrappy Exp $
*
* OLD COMMENTS
* XXX WARNING
......@@ -41,13 +39,10 @@ xidin(char *representation)
char *
xidout(TransactionId transactionId)
{
/* return(TransactionIdFormString(transactionId)); */
char *representation;
/* maximum 32 bit unsigned integer representation takes 10 chars */
representation = palloc(11);
char *representation = palloc(11);
sprintf(representation, "%u", transactionId);
snprintf(representation, 11, "%u", transactionId);
return representation;
......
......@@ -5,19 +5,18 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* The version stuff has not been tested under postgres95 and probably doesn't
* work! - jolly 8/19/95
* The version stuff has not been tested under postgres95 and probably
* doesn't work! - jolly 8/19/95
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/_deadcode/Attic/version.c,v 1.16 1998/12/14 05:18:44 scrappy Exp $
* $Id: version.c,v 1.17 1998/12/14 06:50:19 scrappy Exp $
*
* NOTES
* At the point the version is defined, 2 physical relations are created
* <vname>_added and <vname>_deleted.
* At the point the version is defined, 2 physical relations are created
* <vname>_added and <vname>_deleted.
*
* In addition, 4 rules are defined which govern the semantics of versions
* w.r.t retrieves, appends, replaces and deletes.
* In addition, 4 rules are defined which govern the semantics of
* versions w.r.t retrieves, appends, replaces and deletes.
*
*-------------------------------------------------------------------------
*/
......
......@@ -5,7 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
*
* $Id: user.c,v 1.21 1998/12/14 06:50:18 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -35,6 +35,8 @@
static void CheckPgUserAclNotNull(void);
#define SQL_LENGTH 512
/*---------------------------------------------------------------------
* UpdatePgPwdFile
*
......@@ -47,8 +49,9 @@ void
UpdatePgPwdFile(char *sql)
{
char *filename;
char *tempname;
char *filename,
*tempname;
int bufsize;
/*
* Create a temporary filename to be renamed later. This prevents the
......@@ -56,18 +59,21 @@ UpdatePgPwdFile(char *sql)
* be reading from it.
*/
filename = crypt_getpwdfilename();
tempname = (char *) malloc(strlen(filename) + 12);
sprintf(tempname, "%s.%d", filename, MyProcPid);
bufsize = strlen(filename) + 12;
tempname = (char *) palloc(bufsize);
snprintf(tempname, bufsize, "%s.%d", filename, MyProcPid);
/*
* Copy the contents of pg_shadow to the pg_pwd ASCII file using a the
* SEPCHAR character as the delimiter between fields. Then rename the
* file to its final name.
*/
sprintf(sql, "copy %s to '%s' using delimiters %s", ShadowRelationName, tempname, CRYPT_PWD_FILE_SEPCHAR);
snprintf(sql, QRY_LENGTH,
"copy %s to '%s' using delimiters %s",
ShadowRelationName, tempname, CRYPT_PWD_FILE_SEPCHAR);
pg_exec_query(sql);
rename(tempname, filename);
free((void *) tempname);
pfree((void *) tempname);
/*
* Create a flag file the postmaster will detect the next time it
......@@ -89,18 +95,17 @@ void
DefineUser(CreateUserStmt *stmt)
{
char *pg_shadow;
Relation pg_shadow_rel;
TupleDesc pg_shadow_dsc;
HeapScanDesc scan;
HeapTuple tuple;
Datum datum;
char sql[512];
char *sql_end;
bool exists = false,
n,
inblock;
int max_id = -1;
char *pg_shadow,
sql[SQL_LENGTH];
Relation pg_shadow_rel;
TupleDesc pg_shadow_dsc;
HeapScanDesc scan;
HeapTuple tuple;
Datum datum;
bool exists = false,
n,
inblock;
int max_id = -1;
if (stmt->password)
CheckPgUserAclNotNull();
......@@ -152,46 +157,23 @@ DefineUser(CreateUserStmt *stmt)
RelationUnsetLockForWrite(pg_shadow_rel);
heap_close(pg_shadow_rel);
UserAbortTransactionBlock();
elog(ERROR, "defineUser: user \"%s\" has already been created", stmt->user);
elog(ERROR,
"defineUser: user \"%s\" has already been created", stmt->user);
return;
}
/*
* Build the insert statment to be executed.
*/
sprintf(sql, "insert into %s(usename,usesysid,usecreatedb,usetrace,usesuper,usecatupd,passwd", ShadowRelationName);
/* if (stmt->password)
strcat(sql, ",passwd"); -- removed so that insert empty string when no password */
if (stmt->validUntil)
strcat(sql, ",valuntil");
sql_end = sql + strlen(sql);
sprintf(sql_end, ") values('%s',%d", stmt->user, max_id + 1);
if (stmt->createdb && *stmt->createdb)
strcat(sql_end, ",'t','t'");
else
strcat(sql_end, ",'f','t'");
if (stmt->createuser && *stmt->createuser)
strcat(sql_end, ",'t','t'");
else
strcat(sql_end, ",'f','t'");
sql_end += strlen(sql_end);
if (stmt->password)
{
sprintf(sql_end, ",'%s'", stmt->password);
sql_end += strlen(sql_end);
}
else
{
strcpy(sql_end, ",''");
sql_end += strlen(sql_end);
}
if (stmt->validUntil)
{
sprintf(sql_end, ",'%s'", stmt->validUntil);
sql_end += strlen(sql_end);
}
strcat(sql_end, ")");
snprintf(sql, SQL_LENGTH,
"insert into %s(usename,usesysid,usecreatedb,usetrace,usesuper,"
"usecatupd,passwd,valuntil) values('%s',%d%s%s,'%s','%s')",
ShadowRelationName,
stmt->user, max_id + 1,
(stmt->createdb && *stmt->createdb) ? ",'t','t'" : ",'f','t'",
(stmt->createuser && *stmt->createuser) ? ",'t','t'" : ",'f','t'",
stmt->password ? stmt->password : "''",
stmt->validUntil ? stmt->valudUntil : "");
pg_exec_query(sql);
......@@ -217,13 +199,12 @@ extern void
AlterUser(AlterUserStmt *stmt)
{
char *pg_shadow;
char *pg_shadow,
sql[SQL_LENGTH];
Relation pg_shadow_rel;
TupleDesc pg_shadow_dsc;
HeapTuple tuple;
char sql[512];
char *sql_end;
bool inblock;
bool inblock;
if (stmt->password)
CheckPgUserAclNotNull();
......@@ -271,47 +252,38 @@ AlterUser(AlterUserStmt *stmt)
/*
* Create the update statement to modify the user.
*/
sprintf(sql, "update %s set", ShadowRelationName);
sql_end = sql;
snprintf(sql, SQL_LENGTH, "update %s set", ShadowRelationName);
if (stmt->password)
{
sql_end += strlen(sql_end);
sprintf(sql_end, " passwd = '%s'", stmt->password);
snprintf(sql, SQL_LENGTH, "%s passwd = '%s'", sql, stmt->password);
}
if (stmt->createdb)
{
if (sql_end != sql)
strcat(sql_end, ",");
sql_end += strlen(sql_end);
if (*stmt->createdb)
strcat(sql_end, " usecreatedb = 't'");
else
strcat(sql_end, " usecreatedb = 'f'");
snprintf(sql, SQL_LENGTH, "%s %susecreatedb='%s'",
stmt->password ? "," : "",
*stmt->createdb ? "t" : "f");
}
if (stmt->createuser)
{
if (sql_end != sql)
strcat(sql_end, ",");
sql_end += strlen(sql_end);
if (*stmt->createuser)
strcat(sql_end, " usesuper = 't'");
else
strcat(sql_end, " usesuper = 'f'");
snprintf(sql, SQL_LENGTH, "%s %susesuper='%s'",
(stmt->password || stmt->createdb) ? "," : "",
*stmt->createuser ? "t" : "f");
}
if (stmt->validUntil)
{
if (sql_end != sql)
strcat(sql_end, ",");
sql_end += strlen(sql_end);
sprintf(sql_end, " valuntil = '%s'", stmt->validUntil);
}
if (sql_end != sql)
{
sql_end += strlen(sql_end);
sprintf(sql_end, " where usename = '%s'", stmt->user);
pg_exec_query(sql);
snprintf(sql, SQL_LENGTH, "%s %svaluntil='%s'",
(stmt->password || stmt->createdb || stmt->createuser) ? "," : "",
stmt->validUntil);
}
snprintf(sql, SQL_LENGTH, "%s where usename = '%s'", sql, stmt->user);
pg_exec_query(sql);
/* do the pg_group stuff here */
UpdatePgPwdFile(sql);
......@@ -402,8 +374,9 @@ RemoveUser(char *user)
datum = heap_getattr(tuple, Anum_pg_database_datname, pg_dsc, &n);
if (memcmp((void *) datum, "template1", 9))
{
dbase = (char **) realloc((void *) dbase, sizeof(char *) * (ndbase + 1));
dbase[ndbase] = (char *) malloc(NAMEDATALEN + 1);
dbase =
(char **) repalloc((void *) dbase, sizeof(char *) * (ndbase + 1));
dbase[ndbase] = (char *) palloc(NAMEDATALEN + 1);
memcpy((void *) dbase[ndbase], (void *) datum, NAMEDATALEN);
dbase[ndbase++][NAMEDATALEN] = '\0';
}
......@@ -415,12 +388,12 @@ RemoveUser(char *user)
while (ndbase--)
{
elog(NOTICE, "Dropping database %s", dbase[ndbase]);
sprintf(sql, "drop database %s", dbase[ndbase]);
free((void *) dbase[ndbase]);
snprintf(sql, SQL_LENGTH, "drop database %s", dbase[ndbase]);
pfree((void *) dbase[ndbase]);
pg_exec_query(sql);
}
if (dbase)
free((void *) dbase);
pfree((void *) dbase);
/*
* Since pg_shadow is global over all databases, one of two things
......@@ -443,7 +416,8 @@ RemoveUser(char *user)
/*
* Remove the user from the pg_shadow table
*/
sprintf(sql, "delete from %s where usename = '%s'", ShadowRelationName, user);
snprintf(sql, SQL_LENGTH,
"delete from %s where usename = '%s'", ShadowRelationName, user);
pg_exec_query(sql);
UpdatePgPwdFile(sql);
......
......@@ -5,9 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/view.c,v 1.27 1998/12/14 05:18:44 scrappy Exp $
* $Id: view.c,v 1.28 1998/12/14 06:50:18 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
......
......@@ -5,9 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/executor/execAmi.c,v 1.26 1998/12/14 05:18:49 scrappy Exp $
* $Id: execAmi.c,v 1.27 1998/12/14 06:50:20 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
......
......@@ -6,8 +6,7 @@
* Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/executor/nodeHash.c,v 1.25 1998/12/14 05:18:50 scrappy Exp $
* $Id: nodeHash.c,v 1.26 1998/12/14 06:50:21 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
......
......@@ -6,16 +6,15 @@
* Copyright (c) 1994, Regents of the University of California
*
* DESCRIPTION
* This code provides support for a tee node, which allows multiple
* parent in a megaplan.
* This code provides support for a tee node, which allows
* multiple parent in a megaplan.
*
* INTERFACE ROUTINES
* ExecTee
* ExecInitTee
* ExecEndTee
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/executor/Attic/nodeTee.c,v 1.26 1998/12/14 05:18:51 scrappy Exp $
* $Id: nodeTee.c,v 1.27 1998/12/14 06:50:22 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
......
......@@ -6,9 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/libpq/Attic/be-dumpdata.c,v 1.18 1998/11/27 19:52:05 vadim Exp $
* $Id: be-dumpdata.c,v 1.19 1998/12/14 06:50:23 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -132,8 +130,8 @@ static u_int be_portalcnt = 0;
PortalEntry *
be_newportal(void)
{
PortalEntry *entry;
char buf[PortalNameLength];
PortalEntry *entry;
char buf[PortalNameLength];
/* ----------------
* generate a new name
......@@ -142,7 +140,7 @@ be_newportal(void)
if (be_portalcnt == 0)
be_portaloid = newoid();
be_portalcnt++;
sprintf(buf, "be_%d_%d", be_portaloid, be_portalcnt);
snprintf(buf, PortalNameLength, "be_%d_%d", be_portaloid, be_portalcnt);
/* ----------------
* initialize the new portal entry and keep track
......
/*-------------------------------------------------------------------------
*
* crypt.c--
* Look into pg_shadow and check the encrypted password with the one
* passed in from the frontend.
* Look into pg_shadow and check the encrypted password with
* the one passed in from the frontend.
*
* Modification History
*
* Dec 17, 1997 - Todd A. Brandys
* Orignal Version Completed.
*
* $Id: crypt.c,v 1.13 1998/12/14 06:50:24 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -37,13 +38,12 @@ char *
crypt_getpwdfilename()
{
static char *pfnam = NULL;
static char *pfnam = NULL;
int bufsize;
if (!pfnam)
{
pfnam = (char *) malloc(strlen(DataDir) + strlen(CRYPT_PWD_FILE) + 2);
sprintf(pfnam, "%s/%s", DataDir, CRYPT_PWD_FILE);
}
bufsize = strlen(DataDir) + strlen(CRYPT_PWD_FILE) + 2;
pfnam = (char *) palloc(bufsize);
snprintf(pfnam, bufsize, "%s/%s", DataDir, CRYPT_PWD_FILE);
return pfnam;
}
......@@ -54,16 +54,14 @@ char *
crypt_getpwdreloadfilename()
{
static char *rpfnam = NULL;
static char *rpfnam = NULL;
char *pwdfilename;
int bufsize;
if (!rpfnam)
{
char *pwdfilename;
pwdfilename = crypt_getpwdfilename();
rpfnam = (char *) malloc(strlen(pwdfilename) + strlen(CRYPT_PWD_RELOAD_SUFX) + 1);
sprintf(rpfnam, "%s%s", pwdfilename, CRYPT_PWD_RELOAD_SUFX);
}
pwdfilename = crypt_getpwdfilename();
bufsize = strlen(pwdfilename) + strlen(CRYPT_PWD_RELOAD_SUFX) + 1;
rpfnam = (char *) palloc(bufsize);
snprintf(rpfnam, bufsize, "%s%s", pwdfilename, CRYPT_PWD_RELOAD_SUFX);
return rpfnam;
}
......@@ -145,8 +143,10 @@ crypt_loadpwdfile()
{ /* free the old data only if this is a
* reload */
while (pwd_cache_count--)
free((void *) pwd_cache[pwd_cache_count]);
free((void *) pwd_cache);
{
pfree((void *) pwd_cache[pwd_cache_count]);
}
pfree((void *) pwd_cache);
pwd_cache = NULL;
pwd_cache_count = 0;
}
......@@ -168,7 +168,7 @@ crypt_loadpwdfile()
buffer[result] = '\0';
pwd_cache = (char **) realloc((void *) pwd_cache, sizeof(char *) * (pwd_cache_count + 1));
pwd_cache[pwd_cache_count++] = strdup(buffer);
pwd_cache[pwd_cache_count++] = pstrdup(buffer);
}
fclose(pwd_file);
......@@ -200,7 +200,7 @@ crypt_parsepwdentry(char *buffer, char **pwd, char **valdate)
* store a copy of user password to return
*/
count = strcspn(parse, CRYPT_PWD_FILE_SEPSTR);
*pwd = (char *) malloc(count + 1);
*pwd = (char *) palloc(count + 1);
strncpy(*pwd, parse, count);
(*pwd)[count] = '\0';
parse += (count + 1);
......@@ -209,7 +209,7 @@ crypt_parsepwdentry(char *buffer, char **pwd, char **valdate)
* store a copy of date login becomes invalid
*/
count = strcspn(parse, CRYPT_PWD_FILE_SEPSTR);
*valdate = (char *) malloc(count + 1);
*valdate = (char *) palloc(count + 1);
strncpy(*valdate, parse, count);
(*valdate)[count] = '\0';
parse += (count + 1);
......@@ -222,9 +222,9 @@ int
crypt_getloginfo(const char *user, char **passwd, char **valuntil)
{
char *pwd;
char *valdate;
void *fakeout;
char *pwd,
*valdate;
void *fakeout;
*passwd = NULL;
*valuntil = NULL;
......@@ -232,10 +232,10 @@ crypt_getloginfo(const char *user, char **passwd, char **valuntil)
if (pwd_cache)
{
char **pwd_entry;
char user_search[NAMEDATALEN + 2];
char **pwd_entry;
char user_search[NAMEDATALEN + 2];
sprintf(user_search, "%s\t", user);
snprintf(user_search, NAMEDATALEN + 2, "%s\t", user);
fakeout = (void *) &user_search;
if ((pwd_entry = (char **) bsearch((void *) &fakeout, (void *) pwd_cache, pwd_cache_count, sizeof(char *), compar_user)))
{
......@@ -253,56 +253,32 @@ crypt_getloginfo(const char *user, char **passwd, char **valuntil)
/*-------------------------------------------------------------------------*/
#if 0
MsgType
crypt_salt(const char *user)
{
char *passwd;
char *valuntil;
if (crypt_getloginfo(user, &passwd, &valuntil) == STATUS_ERROR)
return STARTUP_UNSALT_MSG;
if (passwd == NULL || *passwd == '\0' || !strcmp(passwd, "\\N"))
{
if (passwd)
free((void *) passwd);
if (valuntil)
free((void *) valuntil);
return STARTUP_UNSALT_MSG;
}
free((void *) passwd);
if (valuntil)
free((void *) valuntil);
return STARTUP_SALT_MSG;
}
#endif
/*-------------------------------------------------------------------------*/
int
crypt_verify(Port *port, const char *user, const char *pgpass)
{
char *passwd;
char *valuntil;
char *crypt_pwd;
int retval = STATUS_ERROR;
AbsoluteTime vuntil,
current;
char *passwd,
*valuntil,
*crypt_pwd;
int retval = STATUS_ERROR;
AbsoluteTime vuntil,
current;
if (crypt_getloginfo(user, &passwd, &valuntil) == STATUS_ERROR)
{
return STATUS_ERROR;
}
if (passwd == NULL || *passwd == '\0')
{
if (passwd)
free((void *) passwd);
{
pfree((void *) passwd);
}
if (valuntil)
free((void *) valuntil);
{
pfree((void *) valuntil);
}
return STATUS_ERROR;
}
......@@ -311,28 +287,38 @@ crypt_verify(Port *port, const char *user, const char *pgpass)
* authentication method being used for this connection.
*/
crypt_pwd = (port->auth_method == uaCrypt ? crypt(passwd, port->salt) : passwd);
crypt_pwd =
(port->auth_method == uaCrypt ? crypt(passwd, port->salt) : passwd);
if (!strcmp(pgpass, crypt_pwd))
{
/*
* check here to be sure we are not past valuntil
*/
if (!valuntil || strcmp(valuntil, "\\N") == 0)
{
vuntil = INVALID_ABSTIME;
}
else
{
vuntil = nabstimein(valuntil);
}
current = GetCurrentAbsoluteTime();
if (vuntil != INVALID_ABSTIME && vuntil < current)
{
retval = STATUS_ERROR;
}
else
{
retval = STATUS_OK;
}
}
free((void *) passwd);
pfree((void *) passwd);
if (valuntil)
free((void *) valuntil);
{
pfree((void *) valuntil);
}
return retval;
}
This diff is collapsed.
/*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: password.c,v 1.19 1998/12/14 06:50:26 scrappy Exp $
*
*/
#include <postgres.h>
#include <miscadmin.h>
#include <libpq/password.h>
......@@ -23,7 +30,7 @@ verify_password(char *auth_arg, char *user, char *password)
pw_file = AllocateFile(pw_file_fullname, "r");
if (!pw_file)
{
sprintf(PQerrormsg,
snprintf(PQerrormsg, ERROR_MSG_LENGTH,
"verify_password: couldn't open password file '%s'\n",
pw_file_fullname);
fputs(PQerrormsg, stderr);
......@@ -68,7 +75,7 @@ verify_password(char *auth_arg, char *user, char *password)
return STATUS_OK;
}
sprintf(PQerrormsg,
snprintf(PQerrormsg, ERROR_MSG_LENGTH,
"verify_password: password mismatch for '%s'.\n",
user);
fputs(PQerrormsg, stderr);
......@@ -80,7 +87,7 @@ verify_password(char *auth_arg, char *user, char *password)
}
}
sprintf(PQerrormsg,
snprintf(PQerrormsg, ERROR_MSG_LENGTH,
"verify_password: user '%s' not found in password file.\n",
user);
fputs(PQerrormsg, stderr);
......
......@@ -5,9 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/libpq/Attic/portal.c,v 1.17 1998/09/01 04:28:50 momjian Exp $
* $Id: portal.c,v 1.18 1998/12/14 06:50:26 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -75,8 +73,8 @@ in_range(char *msg, int value, int min, int max)
{
if (value < min || value >= max)
{
sprintf(PQerrormsg, "FATAL: %s, %d is not in range [%d,%d)\n",
msg, value, min, max);
snprintf(PQerrormsg, ERROR_MSG_LENGTH,
"FATAL: %s, %d is not in range [%d,%d)\n", msg, value, min, max);
pqdebug("%s", PQerrormsg);
fputs(PQerrormsg, stderr);
return 0;
......@@ -89,7 +87,7 @@ valid_pointer(char *msg, void *ptr)
{
if (!ptr)
{
sprintf(PQerrormsg, "FATAL: %s\n", msg);
snprintf(PQerrormsg, ERROR_MSG_LENGTH, "FATAL: %s\n", msg);
pqdebug("%s", PQerrormsg);
fputs(PQerrormsg, stderr);
return 0;
......
......@@ -5,9 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.58 1998/11/29 01:47:42 tgl Exp $
* $Id: pqcomm.c,v 1.59 1998/12/14 06:50:27 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -77,9 +75,9 @@
* declarations
* ----------------
*/
FILE *Pfout,
*Pfin;
FILE *Pfdebug; /* debugging libpq */
FILE *Pfout,
*Pfin,
*Pfdebug; /* debugging libpq */
/* --------------------------------
* pq_init - open portal file descriptors
......@@ -315,7 +313,7 @@ pq_getint(int b)
if (status)
{
sprintf(PQerrormsg,
snprintf(PQerrormsg, ERROR_MSG_LENGTH,
"FATAL: pq_getint failed: errno=%d\n", errno);
fputs(PQerrormsg, stderr);
pqdebug("%s", PQerrormsg);
......@@ -341,7 +339,7 @@ pq_putstr(char *s)
if (pqPutString(s, Pfout))
#endif
{
sprintf(PQerrormsg,
snprintf(PQerrormsg, ERROR_MSG_LENGTH,
"FATAL: pq_putstr: fputs() failed: errno=%d\n", errno);
fputs(PQerrormsg, stderr);
pqdebug("%s", PQerrormsg);
......@@ -357,7 +355,7 @@ pq_putnchar(char *s, int n)
{
if (pqPutNBytes(s, n, Pfout))
{
sprintf(PQerrormsg,
snprintf(PQerrormsg, ERROR_MSG_LENGTH,
"FATAL: pq_putnchar: fputc() failed: errno=%d\n",
errno);
fputs(PQerrormsg, stderr);
......@@ -398,7 +396,7 @@ pq_putint(int i, int b)
if (status)
{
sprintf(PQerrormsg,
snprintf(PQerrormsg, ERROR_MSG_LENGTH,
"FATAL: pq_putint failed: errno=%d\n", errno);
fputs(PQerrormsg, stderr);
pqdebug("%s", PQerrormsg);
......@@ -431,7 +429,7 @@ pq_getinaddr(struct sockaddr_in * sin,
}
if (hs->h_addrtype != AF_INET)
{
sprintf(PQerrormsg,
snprintf(PQerrormsg, ERROR_MSG_LENGTH,
"FATAL: pq_getinaddr: %s not on Internet\n",
host);
fputs(PQerrormsg, stderr);
......@@ -461,7 +459,7 @@ pq_getinserv(struct sockaddr_in * sin, char *host, char *serv)
return pq_getinaddr(sin, host, atoi(serv));
if (!(ss = getservbyname(serv, NULL)))
{
sprintf(PQerrormsg,
snprintf(PQerrormsg, ERROR_MSG_LENGTH,
"FATAL: pq_getinserv: unknown service: %s\n",
serv);
fputs(PQerrormsg, stderr);
......@@ -521,7 +519,7 @@ StreamServerPort(char *hostName, short portName, int *fdP)
if ((fd = socket(family, SOCK_STREAM, 0)) < 0)
{
sprintf(PQerrormsg,
snprintf(PQerrormsg, ERROR_MSG_LENGTH,
"FATAL: StreamServerPort: socket() failed: errno=%d\n",
errno);
fputs(PQerrormsg, stderr);
......@@ -531,7 +529,7 @@ StreamServerPort(char *hostName, short portName, int *fdP)
if ((setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char *) &one,
sizeof(one))) == -1)
{
sprintf(PQerrormsg,
snprintf(PQerrormsg, ERROR_MSG_LENGTH,
"FATAL: StreamServerPort: setsockopt (SO_REUSEADDR) failed: errno=%d\n",
errno);
fputs(PQerrormsg, stderr);
......@@ -576,18 +574,20 @@ StreamServerPort(char *hostName, short portName, int *fdP)
err = bind(fd, &saddr.sa, len);
if (err < 0)
{
sprintf(PQerrormsg,
"FATAL: StreamServerPort: bind() failed: errno=%d\n",
errno);
snprintf(PQerrormsg, ERROR_MSG_LENGTH,
"FATAL: StreamServerPort: bind() failed: errno=%d\n", errno);
pqdebug("%s", PQerrormsg);
strcat(PQerrormsg,
"\tIs another postmaster already running on that port?\n");
if (family == AF_UNIX)
sprintf(PQerrormsg + strlen(PQerrormsg),
"\tIf not, remove socket node (%s) and retry.\n",
sock_path);
{
snprintf(PQerrormsg + strlen(PQerrormsg), ERROR_MSG_LENGTH,
"\tIf not, remove socket node (%s) and retry.\n", sock_path);
}
else
{
strcat(PQerrormsg, "\tIf not, wait a few seconds and retry.\n");
}
fputs(PQerrormsg, stderr);
return STATUS_ERROR;
}
......@@ -723,9 +723,8 @@ StreamOpen(char *hostName, short portName, Port *port)
{
if (!(hp = gethostbyname(hostName)) || hp->h_addrtype != AF_INET)
{
sprintf(PQerrormsg,
"FATAL: StreamOpen: unknown hostname: %s\n",
hostName);
snprintf(PQerrormsg, ERROR_MSG_LENGTH,
"FATAL: StreamOpen: unknown hostname: %s\n", hostName);
fputs(PQerrormsg, stderr);
pqdebug("%s", PQerrormsg);
return STATUS_ERROR;
......@@ -745,9 +744,8 @@ StreamOpen(char *hostName, short portName, Port *port)
/* connect to the server */
if ((port->sock = socket(port->raddr.sa.sa_family, SOCK_STREAM, 0)) < 0)
{
sprintf(PQerrormsg,
"FATAL: StreamOpen: socket() failed: errno=%d\n",
errno);
snprintf(PQerrormsg, ERROR_MSG_LENGTH,
"FATAL: StreamOpen: socket() failed: errno=%d\n", errno);
fputs(PQerrormsg, stderr);
pqdebug("%s", PQerrormsg);
return STATUS_ERROR;
......@@ -755,9 +753,8 @@ StreamOpen(char *hostName, short portName, Port *port)
err = connect(port->sock, &port->raddr.sa, len);
if (err < 0)
{
sprintf(PQerrormsg,
"FATAL: StreamOpen: connect() failed: errno=%d\n",
errno);
snprintf(PQerrormsg, ERROR_MSG_LENGTH,
"FATAL: StreamOpen: connect() failed: errno=%d\n", errno);
fputs(PQerrormsg, stderr);
pqdebug("%s", PQerrormsg);
return STATUS_ERROR;
......@@ -766,9 +763,8 @@ StreamOpen(char *hostName, short portName, Port *port)
/* fill in the client address */
if (getsockname(port->sock, &port->laddr.sa, &len) < 0)
{
sprintf(PQerrormsg,
"FATAL: StreamOpen: getsockname() failed: errno=%d\n",
errno);
snprintf(PQerrormsg, ERROR_MSG_LENGTH,
"FATAL: StreamOpen: getsockname() failed: errno=%d\n", errno);
fputs(PQerrormsg, stderr);
pqdebug("%s", PQerrormsg);
return STATUS_ERROR;
......
......@@ -5,9 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/libpq/Attic/util.c,v 1.5 1997/09/08 02:23:21 momjian Exp $
* $Id: util.c,v 1.6 1998/12/14 06:50:27 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
......
......@@ -5,9 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.50 1998/12/14 00:01:47 thomas Exp $
* $Id: outfuncs.c,v 1.51 1998/12/14 06:50:28 scrappy Exp $
*
* NOTES
* Every (plan) node in POSTGRES has an associated "out" routine which
......
......@@ -5,9 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.90 1998/12/04 15:34:28 thomas Exp $
* $Id: analyze.c,v 1.91 1998/12/14 06:50:32 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
......
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