summaryrefslogtreecommitdiffstats
path: root/contrib/perl5/ext/POSIX
diff options
context:
space:
mode:
authormarkm <markm@FreeBSD.org>2002-03-16 21:30:07 +0000
committermarkm <markm@FreeBSD.org>2002-03-16 21:30:07 +0000
commit0aa007239e84e208866d218b56ed884a26ba236a (patch)
tree35653c80970217a780c46d263c9348c20072f781 /contrib/perl5/ext/POSIX
parentadb0b230b18951ca773d599ce18deebc8daa7347 (diff)
downloadFreeBSD-src-0aa007239e84e208866d218b56ed884a26ba236a.zip
FreeBSD-src-0aa007239e84e208866d218b56ed884a26ba236a.tar.gz
Resolve conflicts.
Diffstat (limited to 'contrib/perl5/ext/POSIX')
-rw-r--r--contrib/perl5/ext/POSIX/Makefile.PL7
-rw-r--r--contrib/perl5/ext/POSIX/POSIX.xs130
2 files changed, 72 insertions, 65 deletions
diff --git a/contrib/perl5/ext/POSIX/Makefile.PL b/contrib/perl5/ext/POSIX/Makefile.PL
index c035d75..5127b4d 100644
--- a/contrib/perl5/ext/POSIX/Makefile.PL
+++ b/contrib/perl5/ext/POSIX/Makefile.PL
@@ -3,12 +3,7 @@ use ExtUtils::MakeMaker;
use Config;
my @libs;
if ($^O ne 'MSWin32') {
- if ($Config{archname} =~ /RM\d\d\d-svr4/) {
- @libs = ('LIBS' => ["-lm -lc -lposix -lcposix"]);
- }
- else {
- @libs = ('LIBS' => ["-lm -lposix -lcposix"]);
- }
+ @libs = ('LIBS' => ["-lm -lposix -lcposix"]);
}
WriteMakefile(
NAME => 'POSIX',
diff --git a/contrib/perl5/ext/POSIX/POSIX.xs b/contrib/perl5/ext/POSIX/POSIX.xs
index 1dd4ae3..ef7d78a 100644
--- a/contrib/perl5/ext/POSIX/POSIX.xs
+++ b/contrib/perl5/ext/POSIX/POSIX.xs
@@ -56,6 +56,9 @@
#ifdef I_UNISTD
#include <unistd.h>
#endif
+#ifdef MACOS_TRADITIONAL
+#undef fdopen
+#endif
#include <fcntl.h>
#if defined(__VMS) && !defined(__POSIX_SOURCE)
@@ -81,7 +84,7 @@
/* The non-POSIX CRTL times() has void return type, so we just get the
current time directly */
- clock_t vms_times(struct tms *PL_bufptr) {
+ clock_t vms_times(struct tms *bufptr) {
dTHX;
clock_t retval;
/* Get wall time and convert to 10 ms intervals to
@@ -102,7 +105,7 @@
_ckvmssts(lib$ediv(&divisor,vmstime,(long int *)&retval,&remainder));
# endif
/* Fill in the struct tms using the CRTL routine . . .*/
- times((tbuffer_t *)PL_bufptr);
+ times((tbuffer_t *)bufptr);
return (clock_t) retval;
}
# define times(t) vms_times(t)
@@ -140,10 +143,12 @@
# define sigdelset(a,b) not_here("sigdelset")
# define sigfillset(a) not_here("sigfillset")
# define sigismember(a,b) not_here("sigismember")
+# define setuid(a) not_here("setuid")
+# define setgid(a) not_here("setgid")
#else
# ifndef HAS_MKFIFO
-# ifdef OS2
+# if defined(OS2) || defined(MACOS_TRADITIONAL)
# define mkfifo(a,b) not_here("mkfifo")
# else /* !( defined OS2 ) */
# ifndef mkfifo
@@ -152,12 +157,17 @@
# endif
# endif /* !HAS_MKFIFO */
-# include <grp.h>
-# include <sys/times.h>
-# ifdef HAS_UNAME
-# include <sys/utsname.h>
+# ifdef MACOS_TRADITIONAL
+# define ttyname(a) (char*)not_here("ttyname")
+# define tzset() not_here("tzset")
+# else
+# include <grp.h>
+# include <sys/times.h>
+# ifdef HAS_UNAME
+# include <sys/utsname.h>
+# endif
+# include <sys/wait.h>
# endif
-# include <sys/wait.h>
# ifdef I_UTIME
# include <utime.h>
# endif
@@ -530,12 +540,12 @@ mini_mktime(struct tm *ptm)
}
#ifdef HAS_LONG_DOUBLE
-# if LONG_DOUBLESIZE > DOUBLESIZE
+# if LONG_DOUBLESIZE > NVSIZE
# undef HAS_LONG_DOUBLE /* XXX until we figure out how to use them */
# endif
#endif
-#ifndef HAS_LONG_DOUBLE
+#ifndef HAS_LONG_DOUBLE
#ifdef LDBL_MAX
#undef LDBL_MAX
#endif
@@ -555,11 +565,7 @@ not_here(char *s)
}
static
-#if defined(HAS_LONG_DOUBLE) && (LONG_DOUBLESIZE > DOUBLESIZE)
-long double
-#else
-double
-#endif
+NV
constant(char *name, int arg)
{
errno = 0;
@@ -1518,6 +1524,11 @@ constant(char *name, int arg)
break;
case 'H':
if (strEQ(name, "HUGE_VAL"))
+#if defined(USE_LONG_DOUBLE) && defined(HUGE_VALL)
+ /* HUGE_VALL is admittedly non-POSIX but if we are using long doubles
+ * we might as well use long doubles. --jhi */
+ return HUGE_VALL;
+#endif
#ifdef HUGE_VAL
return HUGE_VAL;
#else
@@ -2292,9 +2303,9 @@ constant(char *name, int arg)
#else
goto not_there;
#endif
- if (strEQ(name, "STRERR_FILENO"))
-#ifdef STRERR_FILENO
- return STRERR_FILENO;
+ if (strEQ(name, "STDERR_FILENO"))
+#ifdef STDERR_FILENO
+ return STDERR_FILENO;
#else
goto not_there;
#endif
@@ -3006,7 +3017,7 @@ setcc(termios_ref, ccix, cc)
MODULE = POSIX PACKAGE = POSIX
-double
+NV
constant(name,arg)
char * name
int arg
@@ -3162,7 +3173,7 @@ localeconv()
#ifdef HAS_LOCALECONV
struct lconv *lcbuf;
RETVAL = newHV();
- if (lcbuf = localeconv()) {
+ if ((lcbuf = localeconv())) {
/* the strings */
if (lcbuf->decimal_point && *lcbuf->decimal_point)
hv_store(RETVAL, "decimal_point", 13,
@@ -3295,73 +3306,73 @@ setlocale(category, locale = 0)
RETVAL
-double
+NV
acos(x)
- double x
+ NV x
-double
+NV
asin(x)
- double x
+ NV x
-double
+NV
atan(x)
- double x
+ NV x
-double
+NV
ceil(x)
- double x
+ NV x
-double
+NV
cosh(x)
- double x
+ NV x
-double
+NV
floor(x)
- double x
+ NV x
-double
+NV
fmod(x,y)
- double x
- double y
+ NV x
+ NV y
void
frexp(x)
- double x
+ NV x
PPCODE:
int expvar;
/* (We already know stack is long enough.) */
PUSHs(sv_2mortal(newSVnv(frexp(x,&expvar))));
PUSHs(sv_2mortal(newSViv(expvar)));
-double
+NV
ldexp(x,exp)
- double x
+ NV x
int exp
-double
+NV
log10(x)
- double x
+ NV x
void
modf(x)
- double x
+ NV x
PPCODE:
- double intvar;
+ NV intvar;
/* (We already know stack is long enough.) */
- PUSHs(sv_2mortal(newSVnv(modf(x,&intvar))));
+ PUSHs(sv_2mortal(newSVnv(Perl_modf(x,&intvar))));
PUSHs(sv_2mortal(newSVnv(intvar)));
-double
+NV
sinh(x)
- double x
+ NV x
-double
+NV
tan(x)
- double x
+ NV x
-double
+NV
tanh(x)
- double x
+ NV x
SysRet
sigaction(sig, action, oldaction = 0)
@@ -3407,9 +3418,8 @@ sigaction(sig, action, oldaction = 0)
/* Set up any desired mask. */
svp = hv_fetch(action, "MASK", 4, FALSE);
if (svp && sv_isa(*svp, "POSIX::SigSet")) {
- unsigned long tmp;
- tmp = (unsigned long)SvNV((SV*)SvRV(*svp));
- sigset = (sigset_t*) tmp;
+ IV tmp = SvIV((SV*)SvRV(*svp));
+ sigset = INT2PTR(sigset_t*, tmp);
act.sa_mask = *sigset;
}
else
@@ -3434,9 +3444,8 @@ sigaction(sig, action, oldaction = 0)
/* Get back the mask. */
svp = hv_fetch(oldaction, "MASK", 4, TRUE);
if (sv_isa(*svp, "POSIX::SigSet")) {
- unsigned long tmp;
- tmp = (unsigned long)SvNV((SV*)SvRV(*svp));
- sigset = (sigset_t*) tmp;
+ IV tmp = SvIV((SV*)SvRV(*svp));
+ sigset = INT2PTR(sigset_t*, tmp);
}
else {
New(0, sigset, 1, sigset_t);
@@ -3507,7 +3516,7 @@ SysRet
nice(incr)
int incr
-int
+void
pipe()
PPCODE:
int fds[2];
@@ -3550,7 +3559,7 @@ tcsetpgrp(fd, pgrp_id)
int fd
pid_t pgrp_id
-int
+void
uname()
PPCODE:
#ifdef HAS_UNAME
@@ -3684,7 +3693,7 @@ strtoul(str, base = 0)
PUSHs(&PL_sv_undef);
}
-SV *
+void
strxfrm(src)
SV * src
CODE:
@@ -3819,7 +3828,10 @@ mktime(sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = 0)
OUTPUT:
RETVAL
-char *
+#XXX: if $xsubpp::WantOptimize is always the default
+# sv_setpv(TARG, ...) could be used rather than
+# ST(0) = sv_2mortal(newSVpv(...))
+void
strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1)
char * fmt
int sec
OpenPOWER on IntegriCloud