Pullup ticket #3111.
[pkgsrc.git] / databases / postgresql84 / patches / patch-ad
1 $NetBSD: patch-ad,v 1.2 2008/04/05 16:39:27 adam Exp $
2
3 --- src/backend/port/dynloader/netbsd.c.orig    2008-04-05 10:45:52.000000000 +0200
4 +++ src/backend/port/dynloader/netbsd.c
5 @@ -42,64 +42,30 @@ static char sccsid[] = "@(#)dl.c    5.4 (Be
6  
7  #include "dynloader.h"
8  
9 -static char error_message[BUFSIZ];
10 +#ifndef HAVE_DLOPEN
11  
12  char *
13 -BSD44_derived_dlerror(void)
14 +pg_dlerror(void)
15  {
16 -       static char ret[BUFSIZ];
17 -
18 -       strcpy(ret, error_message);
19 -       error_message[0] = 0;
20 -       return (ret[0] == 0) ? NULL : ret;
21 +       return "dynaloader unsupported";
22  }
23  
24  void *
25 -BSD44_derived_dlopen(const char *file, int num)
26 +pg_dlopen(const char *file, int num)
27  {
28 -#if !defined(HAVE_DLOPEN)
29 -       snprintf(error_message, sizeof(error_message),
30 -                        "dlopen (%s) not supported", file);
31 +       elog(ERROR, "dynamic load not supported");
32         return NULL;
33 -#else
34 -       void       *vp;
35 -
36 -       if ((vp = dlopen((char *) file, num)) == NULL)
37 -               snprintf(error_message, sizeof(error_message),
38 -                                "dlopen (%s) failed: %s", file, dlerror());
39 -       return vp;
40 -#endif
41  }
42  
43  void *
44 -BSD44_derived_dlsym(void *handle, const char *name)
45 +pg_dlsym(void *handle, const char *name)
46  {
47 -#if !defined(HAVE_DLOPEN)
48 -       snprintf(error_message, sizeof(error_message),
49 -                        "dlsym (%s) failed", name);
50         return NULL;
51 -#elif defined(__ELF__)
52 -       return dlsym(handle, name);
53 -#else
54 -       void       *vp;
55 -       char            buf[BUFSIZ];
56 -
57 -       if (*name != '_')
58 -       {
59 -               snprintf(buf, sizeof(buf), "_%s", name);
60 -               name = buf;
61 -       }
62 -       if ((vp = dlsym(handle, (char *) name)) == NULL)
63 -               snprintf(error_message, sizeof(error_message),
64 -                                "dlsym (%s) failed", name);
65 -       return vp;
66 -#endif
67  }
68  
69  void
70 -BSD44_derived_dlclose(void *handle)
71 +pg_dlclose(void *handle)
72  {
73 -#if defined(HAVE_DLOPEN)
74 -       dlclose(handle);
75 -#endif
76  }
77 +
78 +#endif /* ! HAVE_DLOPEN */