diff options
author | jlam <jlam@pkgsrc.org> | 2005-06-08 08:42:33 +0000 |
---|---|---|
committer | jlam <jlam@pkgsrc.org> | 2005-06-08 08:42:33 +0000 |
commit | 5a10bac1385eb8cee9f520f39d7f8d05fcb4cb4b (patch) | |
tree | 1e0481b2e7d850fe05b252e7947f1b34be9ea60b /lang | |
parent | 2499370d92471305b075491c8060f4fe0588aa7b (diff) | |
download | pkgsrc-5a10bac1385eb8cee9f520f39d7f8d05fcb4cb4b.tar.gz |
SDBM_File/sdbm/sdbm.h explicitly doesn't include perl.h, but fails to
handle errno in the same way that perl.h does. The workaround in
sdbm.c for the mishandling of errno that redeclares errno if WIN32
and sun are not defined is not correct, as it ends up redeclaring
errno on just about every platform. Modify sdbm.c so that it uses
the same method of handling errno as perl.h for the sake of consistency.
This fixes PR pkg/30308.
Diffstat (limited to 'lang')
-rw-r--r-- | lang/perl58/distinfo | 3 | ||||
-rw-r--r-- | lang/perl58/patches/patch-cl | 21 |
2 files changed, 23 insertions, 1 deletions
diff --git a/lang/perl58/distinfo b/lang/perl58/distinfo index 18331338512..fe0080f25df 100644 --- a/lang/perl58/distinfo +++ b/lang/perl58/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.32 2005/03/19 11:56:39 kleink Exp $ +$NetBSD: distinfo,v 1.33 2005/06/08 08:42:33 jlam Exp $ SHA1 (perl-5.8.6.tar.bz2) = 5267c5b4900a995a10e4fc56fe10a6852004c29b RMD160 (perl-5.8.6.tar.bz2) = 52fdee3caecf67417a9c081b7aae84807235cb27 @@ -21,4 +21,5 @@ SHA1 (patch-ch) = 6cfd77bba102a4bca82576f061ba60c1610c4d07 SHA1 (patch-ci) = 89bc6e67b18ca903cb3791fd598fd579bc48298b SHA1 (patch-cj) = 680b7161d7530825376b9d5c108fc01f15768e5e SHA1 (patch-ck) = 28207b8186c9ad194a1edc696159915bc16d1097 +SHA1 (patch-cl) = 8553c83e721f5ae43a5f6e0e4d2b70510b69e77c SHA1 (patch-zc) = eb81edd1144ec46285898afc641c03a3aad54977 diff --git a/lang/perl58/patches/patch-cl b/lang/perl58/patches/patch-cl new file mode 100644 index 00000000000..55ea52978ac --- /dev/null +++ b/lang/perl58/patches/patch-cl @@ -0,0 +1,21 @@ +$NetBSD: patch-cl,v 1.1 2005/06/08 08:42:33 jlam Exp $ + +--- ext/SDBM_File/sdbm/sdbm.c.orig 2003-08-27 06:30:22.000000000 -0400 ++++ ext/SDBM_File/sdbm/sdbm.c +@@ -34,10 +34,12 @@ + /* + * externals + */ +-#ifndef WIN32 +-#ifndef sun +-extern int errno; +-#endif ++#ifndef errno ++ extern int errno; /* ANSI allows errno to be an lvalue expr. ++ * For example in multithreaded environments ++ * something like this might happen: ++ * extern int *_errno(void); ++ * #define errno (*_errno()) */ + #endif + + extern Malloc_t malloc proto((MEM_SIZE)); |