summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Hughes <john@titanic.atlantech.com>1997-08-07 00:00:00 +0000
committerTim Bunce <Tim.Bunce@ig.co.uk>1997-08-07 00:00:00 +1200
commit850679cbd6d7696aaa31935fd76b8f1385efbd64 (patch)
tree78b0536d3d9e8c5dc6d6d06087923985a56498a6
parent0af56dfea04837510821e168d4a9191fc1d73b0e (diff)
downloadperl-850679cbd6d7696aaa31935fd76b8f1385efbd64.tar.gz
fixes for hints/svr4 for UnixWare >= 2.1.1
We've just upgraded from UnixWare 2.1 to 2.1.2 (*See footnote). I was supprised to see that I got d_stdio_cnt_lval='undef' d_stdio_ptr_lval='undef' A quick bit of spelunking showed that in the 2.1->2.1.1 upgrade stdio.h got modified, the _cnt and _ptr fields in FILE* got renamed to __cnt and __ptr. Here's a patch to hints/svr4.sh, all tests pass. p5p-msgid: 199707021230.OAA24230@titanic.AtlanTech.COM
-rw-r--r--hints/svr4.sh19
1 files changed, 15 insertions, 4 deletions
diff --git a/hints/svr4.sh b/hints/svr4.sh
index dbae40d641..922736aa48 100644
--- a/hints/svr4.sh
+++ b/hints/svr4.sh
@@ -33,12 +33,23 @@ usevfork='false'
d_lstat=define
# UnixWare has a broken csh. The undocumented -X argument to uname is probably
-# a reasonable way of detecting UnixWare
+# a reasonable way of detecting UnixWare. Also in 2.1.1 the fields in
+# FILE* got renamed!
uw_ver=`uname -v`
uw_isuw=`uname -X 2>&1 | grep Release`
-if [ "$uw_isuw" = "Release = 4.2MP" -a \
- \( "$uw_ver" = "2.1" -o "$uw_ver" = "2.1.1" \) ]; then
- d_csh='undef'
+if [ "$uw_isuw" = "Release = 4.2MP" ]; then
+ case $uw_ver in
+ 2.1)
+ d_csh='undef'
+ ;;
+ 2.1.*)
+ d_csh='undef'
+ stdio_cnt='((fp)->__cnt)'
+ d_stdio_cnt_lval='define'
+ stdio_ptr='((fp)->__ptr)'
+ d_stdio_ptr_lval='define'
+ ;;
+ esac
fi
# DDE SMES Supermax Enterprise Server