From 724bf74693ae4e7cbc2b774e29e768c13c3b72ce Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 26 Oct 1999 04:49:00 +0000 Subject: [PATCH] These are two minor corrections to libpq's PQsetNoticeProcessor function. One, it now returns the previous hook. That way people don't have to dig around in libpq-int.h for that information anymore. It previously returned void, so there should be no incompatibilities. Second, you cannot set the callback to NULL anymore. (Of course you can still call it with NULL just to get the current hook.) The way libpq uses the callback pointer, having a NULL there wasn't very healthy. Peter Eisentraut --- src/interfaces/libpq/fe-connect.c | 12 +++++++++--- src/interfaces/libpq/libpq-fe.h | 6 ++---- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c index bb61cdfd5b..a5c42ad814 100644 --- a/src/interfaces/libpq/fe-connect.c +++ b/src/interfaces/libpq/fe-connect.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.103 1999/09/27 03:13:16 momjian Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.104 1999/10/26 04:49:00 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -1575,13 +1575,19 @@ PQuntrace(PGconn *conn) } } -void +PQnoticeProcessor PQsetNoticeProcessor(PGconn *conn, PQnoticeProcessor proc, void *arg) { + PQnoticeProcessor old; if (conn == NULL) - return; + return NULL; + + old = conn->noticeHook; + if (proc) { conn->noticeHook = proc; conn->noticeArg = arg; + } + return old; } /* diff --git a/src/interfaces/libpq/libpq-fe.h b/src/interfaces/libpq/libpq-fe.h index acbf539cd7..9b4cf2894b 100644 --- a/src/interfaces/libpq/libpq-fe.h +++ b/src/interfaces/libpq/libpq-fe.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: libpq-fe.h,v 1.50 1999/05/25 16:15:13 momjian Exp $ + * $Id: libpq-fe.h,v 1.51 1999/10/26 04:49:00 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -193,9 +193,7 @@ extern "C" extern void PQuntrace(PGconn *conn); /* Override default notice processor */ - extern void PQsetNoticeProcessor(PGconn *conn, - PQnoticeProcessor proc, - void *arg); + extern PQnoticeProcessor PQsetNoticeProcessor(PGconn *conn, PQnoticeProcessor proc, void *arg); /* === in fe-exec.c === */