From dcd2332a4d5da3f28e514c47ae5732cfc17d346e Mon Sep 17 00:00:00 2001
From: "Marc G. Fournier" <scrappy@hub.org>
Date: Tue, 18 Mar 1997 21:30:41 +0000
Subject: [PATCH] Patch from Sven Verdoolaege <skimo@breughel.ufsia.ac.be> for
 large_objects

---
 src/backend/libpq/be-fsstubs.c | 14 ++++++++++++--
 src/backend/utils/error/elog.c |  5 +++--
 src/backend/utils/error/exc.c  |  5 +++--
 3 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/src/backend/libpq/be-fsstubs.c b/src/backend/libpq/be-fsstubs.c
index c8ec2b4b8bf..37952be2120 100644
--- a/src/backend/libpq/be-fsstubs.c
+++ b/src/backend/libpq/be-fsstubs.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/libpq/be-fsstubs.c,v 1.5 1996/11/15 18:38:20 momjian Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/libpq/be-fsstubs.c,v 1.6 1997/03/18 21:29:21 scrappy Exp $
  *
  * NOTES
  *    This should be moved to a more appropriate place.  It is here
@@ -140,11 +140,21 @@ lo_write(int fd, char *buf, int len)
 int
 lo_lseek(int fd, int offset, int whence)
 {
+    MemoryContext currentContext;
+    int ret;
+
     if (fd >= MAX_LOBJ_FDS) {
 	elog(WARN,"lo_seek: large obj descriptor (%d) out of range", fd);
 	return -2;
     }
-    return inv_seek(cookies[fd], offset, whence);
+
+    currentContext = MemoryContextSwitchTo((MemoryContext)fscxt);
+
+    ret = inv_seek(cookies[fd], offset, whence);
+
+    MemoryContextSwitchTo(currentContext);
+
+    return ret;
 }
 
 Oid
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 77477ab222f..a82d4d2fa85 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.13 1997/03/12 21:10:53 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.14 1997/03/18 21:30:39 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -50,7 +50,8 @@ elog(int lev, const char *fmt, ... )
 #if !defined(BSD44_derived) && \
     !defined(bsdi) && \
     !defined(bsdi_2_1) && \
-    !defined(linuxalpha)
+    !defined(linuxalpha) && \
+    !defined(__GLIBC__)
     extern	char	*sys_errlist[];
 #endif /* bsd derived */
 #ifndef PG_STANDALONE
diff --git a/src/backend/utils/error/exc.c b/src/backend/utils/error/exc.c
index 9eae4ad109c..fddb7bb82ee 100644
--- a/src/backend/utils/error/exc.c
+++ b/src/backend/utils/error/exc.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/utils/error/Attic/exc.c,v 1.10 1997/03/12 21:10:56 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/utils/error/Attic/exc.c,v 1.11 1997/03/18 21:30:41 scrappy Exp $
  *
  * NOTE
  *    XXX this code needs improvement--check for state violations and
@@ -96,7 +96,8 @@ ExcPrint(Exception *excP,
 #if !defined(BSD44_derived) && \
     !defined(bsdi) && \
     !defined(bsdi_2_1) && \
-    !defined(linuxalpha)
+    !defined(linuxalpha) && \
+    !defined(__GLIBC__)
     extern	char	*sys_errlist[];
 #endif /* ! bsd_derived */
     
-- 
GitLab