From 724bf74693ae4e7cbc2b774e29e768c13c3b72ce Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
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 bb61cdfd5bd..a5c42ad8149 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 acbf539cd78..9b4cf2894b6 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 === */
 
-- 
GitLab