In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/cc3315ba158429a67e76ae0034535e9783abe8cf?hp=d91f1bc9c333968f803a403e4aaf2bd8c7ff1fa3>

- Log -----------------------------------------------------------------
commit cc3315ba158429a67e76ae0034535e9783abe8cf
Author: Nicholas Clark <[email protected]>
Date:   Tue Aug 14 11:54:48 2012 +0200

    Remove the UTS port.
    
    UTS was a mainframe version of System V created by Amdahl, subsequently sold
    to UTS Global. The port has not been touched since before 5.8.0, and UTS
    Global is now defunct.
-----------------------------------------------------------------------

Summary of changes:
 MANIFEST                      |    5 -
 Porting/perlhist_calculate.pl |    2 +-
 README.uts                    |  107 ----------------------
 ext/POSIX/hints/uts.pl        |    9 --
 handy.h                       |    2 +-
 hints/uts.sh                  |   32 -------
 perl.h                        |   23 +----
 plan9/mkfile                  |    2 +-
 pod/perl.pod                  |    1 -
 pod/perl58delta.pod           |    4 +-
 pod/perldelta.pod             |    8 +-
 util.c                        |    3 -
 uts/sprintf_wrap.c            |  196 -----------------------------------------
 uts/strtol_wrap.c             |  174 ------------------------------------
 win32/Makefile                |    5 +-
 win32/makefile.mk             |    5 +-
 x2p/a2p.h                     |    8 --
 17 files changed, 17 insertions(+), 569 deletions(-)
 delete mode 100644 README.uts
 delete mode 100644 ext/POSIX/hints/uts.pl
 delete mode 100644 hints/uts.sh
 delete mode 100644 uts/sprintf_wrap.c
 delete mode 100644 uts/strtol_wrap.c

diff --git a/MANIFEST b/MANIFEST
index 6834d86..25f2546 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -3874,7 +3874,6 @@ ext/POSIX/hints/next_3.pl Hint for POSIX for named 
architecture
 ext/POSIX/hints/openbsd.pl     Hint for POSIX for named architecture
 ext/POSIX/hints/sunos_4.pl     Hint for POSIX for named architecture
 ext/POSIX/hints/svr4.pl                Hint for POSIX for named architecture
-ext/POSIX/hints/uts.pl         Hint for POSIX for named architecture
 ext/POSIX/lib/POSIX.pm         POSIX extension Perl module
 ext/POSIX/lib/POSIX.pod                POSIX extension documentation
 ext/POSIX/Makefile.PL          POSIX extension makefile writer
@@ -4181,7 +4180,6 @@ hints/unicosmk.sh         Hints for named architecture
 hints/unicos.sh                        Hints for named architecture
 hints/unisysdynix.sh           Hints for named architecture
 hints/utekv.sh                 Hints for named architecture
-hints/uts.sh                   Hints for named architecture
 hints/uwin.sh                  Hints for named architecture
 hints/vmesa.sh                 Hints for named architecture
 hints/vos.sh                   Hints for named architecture
@@ -4879,7 +4877,6 @@ README.solaris                    Perl notes for Solaris
 README.symbian                 Perl notes for Symbian
 README.tru64                   Perl notes for Tru64
 README.tw                      Perl for Traditional Chinese (in Big5)
-README.uts                     Perl notes for UTS
 README.vmesa                   Perl notes for VM/ESA
 README.vms                     Notes about installing the VMS port
 README.vos                     Perl notes for Stratus VOS
@@ -5576,8 +5573,6 @@ utils/shasum.PL                   filter for computing 
SHA digests (analogous to md5sum)
 utils/splain.PL                        Stand-alone version of diagnostics.pm
 utils/xsubpp.PL                        External subroutine preprocessor
 utils/zipdetails.PL                    display the internal structure of zip 
files
-uts/sprintf_wrap.c             sprintf wrapper for UTS
-uts/strtol_wrap.c              strtol wrapper for UTS
 vmesa/Makefile                 VM/ESA Makefile
 vmesa/vmesa.c                  VM/ESA-specific C code for Perl core
 vmesa/vmesaish.h               VM/ESA-specific C header for Perl core
diff --git a/Porting/perlhist_calculate.pl b/Porting/perlhist_calculate.pl
index b03fef4..2bb3104 100755
--- a/Porting/perlhist_calculate.pl
+++ b/Porting/perlhist_calculate.pl
@@ -141,7 +141,7 @@ sub calc_longtable {
 
        say "Configure: $configure_size 1";
 
-       foreach my $dir (qw(Cross djgpp emacs epoc h2pl hints mad mint mpeix 
NetWare os2 plan9 Porting qnx symbian utils uts vmesa vms vos win32 x2p)) {
+       foreach my $dir (qw(Cross djgpp emacs epoc h2pl hints mad mint mpeix 
NetWare os2 plan9 Porting qnx symbian utils vmesa vms vos win32 x2p)) {
                calc_dir($dir);
        }
 }
diff --git a/README.uts b/README.uts
deleted file mode 100644
index 2025e37..0000000
--- a/README.uts
+++ /dev/null
@@ -1,107 +0,0 @@
-If you read this file _as_is_, just ignore the funny characters you
-see. It is written in the POD format (see perlpod manpage) which is
-specially designed to be readable as is.
-
-=head1 NAME
-
-perluts - Perl under UTS
-
-=head1 SYNOPSIS
-
-This document can be read I<as is>: as F<README.uts>, or you
-can read it after you build your package using "man perluts".
-
-The purpose is to help you build Perl for UTS, which, if you
-follow these instructions, should be easy, and result in
-a solidly working installation.
-
-=head1 DESCRIPTION
-
-Perl 5.7.2 (Developmental) or Perl 5.8.x (forthcoming) for UTS
-
-=head1 BUILDING PERL ON UTS
-
-NOTE: Some sites have redefined the way uname works, and if yours
-does this, special steps must be taken so that Configure can
-recognize your system as a UTS system.  To see if you are in
-this category, issue the command "uname -a".  It should look
-something like:
-
-  uts juno 4 4.4 9672 370
-
-At any rate, the first field should be "uts".  If this is not
-the case; supposing it is, say telcoUTS, create a script, uts/uname
-(i.e. uname, in the subdirectory "uts" of the main Perl source dir):
-   # uname
-   /usr/bin/uname "$@" | sed -e 's/^telcoUTS/uts/'
-
-and when you execute Configure, do it as below, except for adding
-PATH=uts:$PATH as a prefix.  I.e. do:
-
-   PATH=uts:$PATH ./Configure ...
-
-There is no need to do an interactive configure, just type
-
-  ./Configure -de [-Dusedevel] [-Doptimize=-g ] 2>&1 | tee Conf.out
-
-"-Dusedevel" may be required to configure Perl 5.7.2 non-interactively.
-Use -Doptimize=-g if you want to run Perl under sdb or gdb, OR
-if you want to be able to use the -D command line flags to perl,
-which are occasionally useful in debugging perl scripts.
-
-In this and the following steps, the "2>&1 | tee XXX.out" records all
-output from the process, which will be useful if anything unexpected
-goes wrong.
-
-Then do the compilation with
-
-  make 2>&1 | tee make.out
-
-Finally, test using
-
-  make test 2>&1 | tee make-test.out
-
-In the output, the only failures you should see should look like:
-
-   lib/Math/BigInt/t/bigfltpm.........Use of uninitialized value ...
-   FAILED at test 57
-   lib/Math/BigInt/t/bigintc..........ok
-   lib/Math/BigInt/t/bigintpm.........FAILED at test 204
-   lib/Math/BigInt/t/mbimbf...........Use of uninitialized value ...
-   Illegal division by zero at ../lib/Math/BigInt/Calc.pm line 314.
-   FAILED at test 71
-   lib/Math/Complex...................exp: OVERFLOW
-   FAILED at test 250
-   lib/Math/Trig......................exp: OVERFLOW
-   ok
-   lib/Memoize/t/array................ok
-       ...
-   lib/Net/protoent...................ok
-   lib/Net/servent....................FAILED at test 0
-
-This means that everything passes except for some problems in the
-packages "Math::BigInt", "Math::Complex", and "Math::Trig".
-The lib/Net/servent failure seems to be a bug in the test
-program.  To confirm this, from the main Perl source dir, do:
-
-   LD_LIBRARY_PATH=`pwd` ./perl -Ilib lib/Net/servent.t
-
-and it should output
-
-   1..3
-   ok 1
-   ok 2
-   ok 3
-
-=head1 Installing the built perl on UTS
-
-Run the command "make install"
-
-=head1 AUTHOR
-
-   Hal Morris
-   UTS Global LLC
-   email: [email protected]
-
-=cut
-
diff --git a/ext/POSIX/hints/uts.pl b/ext/POSIX/hints/uts.pl
deleted file mode 100644
index 7a18b4a..0000000
--- a/ext/POSIX/hints/uts.pl
+++ /dev/null
@@ -1,9 +0,0 @@
-# UTS - Leaving -lm in there results in death of make with the message:
-#         LD_RUN_PATH="/usr/ccs/lib" ld  -G -z text POSIX.o \
-#         -o ../../lib/auto/POS IX/POSIX.so   -lm
-# relocations referenced
-#         from file(s)
-#         /usr/ccs/lib/libm.a(acos.o)
-#               ...
-
-$self->{LIBS} = [''];
diff --git a/handy.h b/handy.h
index d4df8bd..f83bce5 100644
--- a/handy.h
+++ b/handy.h
@@ -101,7 +101,7 @@ Null SV pointer. (No longer available when C<PERL_CORE> is 
defined.)
 #endif /* NeXT || __NeXT__ */
 
 #ifndef HAS_BOOL
-# if defined(UTS) || defined(VMS)
+# if defined(VMS)
 #  define bool int
 # else
 #  define bool char
diff --git a/hints/uts.sh b/hints/uts.sh
deleted file mode 100644
index 2ac5221..0000000
--- a/hints/uts.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-archname='s390'
-archobjs='uts/strtol_wrap.o uts/sprintf_wrap.o'
-cc='cc -Xa'
-ccflags='-XTSTRINGS=1500000 -DStrtol=strtol_wrap32 -DStrtoul=strtoul_wrap32 
-DSPRINTF_E_BUG'
-cccdlflags='-pic'
-d_bincompat3='undef'
-d_csh='undef' 
-d_lstat='define'
-d_suidsafe='define'
-dlsrc='dl_dlopen.xs'
-i_ieeefp='undef'
-ld='ld'
-lddlflags='-G -z text'
-libperl='libperl.so'
-libpth='/lib /usr/lib /usr/ccs/lib'
-libs='-lsocket -lnsl -ldl -lm'
-libswanted='m'
-prefix='/usr/local'
-toke_cflags='optimize=""' 
-useshrplib='true'
-
-#################################
-# Some less routine stuff:
-#################################
-cc -g -Xa -c -pic -O uts/strtol_wrap.c -o uts/strtol_wrap.o
-cc -g -Xa -c -pic -O uts/sprintf_wrap.c -o uts/sprintf_wrap.o
-# Make POSIX a static extension.
-cat <<'EOSH' > config.over
-static_ext='POSIX B'
-dynamic_ext=`echo " $dynamic_ext " |
-  sed -e 's/ POSIX / /' -e 's/ B / /'`
-EOSH
diff --git a/perl.h b/perl.h
index ab6807b..47f642f 100644
--- a/perl.h
+++ b/perl.h
@@ -1172,7 +1172,7 @@ EXTERN_C int usleep(unsigned int);
 #   define S_IFIFO _S_IFIFO
 #endif
 
-/* The stat macros for Amdahl UTS, Unisoft System V/88 (and derivatives
+/* The stat macros for Unisoft System V/88 (and derivatives
    like UTekV) are broken, sometimes giving false positives.  Undefine
    them here and let the code below set them to proper values.
 
@@ -1181,7 +1181,7 @@ EXTERN_C int usleep(unsigned int);
    This header file bug is corrected in gcc-2.5.8 and later versions.
    --Kaveh Ghazi ([email protected]) 10/3/94.  */
 
-#if defined(uts) || (defined(m88k) && defined(ghs))
+#if defined(m88k) && defined(ghs)
 #   undef S_ISDIR
 #   undef S_ISCHR
 #   undef S_ISBLK
@@ -1624,10 +1624,6 @@ EXTERN_C char *crypt(const char *, const char *);
 #undef UV
 #endif
 
-#ifdef SPRINTF_E_BUG
-#  define sprintf UTS_sprintf_wrap
-#endif
-
 /* For the times when you want the return value of sprintf, and you want it
    to be the length. Can't have a thread variable passed in, because C89 has
    no varargs macros.
@@ -1690,13 +1686,6 @@ EXTERN_C char *crypt(const char *, const char *);
 #  define my_strlcpy   Perl_my_strlcpy
 #endif
 
-/* Configure gets this right but the UTS compiler gets it wrong.
-   -- Hal Morris <[email protected]> */
-#ifdef UTS
-#  undef  UVTYPE
-#  define UVTYPE unsigned
-#endif
-
 /*
     The IV type is supposed to be long enough to hold any integral
     value or a pointer.
@@ -1762,11 +1751,6 @@ typedef UVTYPE UV;
 # undef PERL_NEED_MY_BETOH64
 #endif
 
-#if defined(uts) || defined(UTS)
-#      undef UV_MAX
-#      define UV_MAX (4294967295u)
-#endif
-
 #define IV_DIG (BIT_DIGITS(IVSIZE * 8))
 #define UV_DIG (BIT_DIGITS(UVSIZE * 8))
 
@@ -2421,9 +2405,8 @@ typedef struct custom_op XOP;
 
 typedef struct interpreter PerlInterpreter;
 
-/* Amdahl's <ksync.h> has struct sv */
 /* SGI's <sys/sema.h> has struct sv */
-#if defined(UTS) || defined(__sgi)
+#if defined(__sgi)
 #   define STRUCT_SV perl_sv
 #else
 #   define STRUCT_SV sv
diff --git a/plan9/mkfile b/plan9/mkfile
index 8f086b0..0c59a99 100644
--- a/plan9/mkfile
+++ b/plan9/mkfile
@@ -23,7 +23,7 @@ installman3dir = /sys/man/2
 podnames = perl perlbook perldata perldebtut perldiag perldsc perlform 
perlfunc perlipc perllexwarn perllol perlmod perlmodlib perlmodinstall 
perlnewmod perlop perlootut perlopentut perlpacktut perlp ... [164 chars 
truncated]
 faqpodnames = perlfaq perlfaq1 perlfaq2 perlfaq3 perlfaq4 perlfaq5 perlfaq6 
perlfaq7 perlfaq8 perlfaq9
 advpodnames = perlapi perlapio perlcall perlclib perlcompile perldebguts 
perldbmfilter perldebug perldelta perldiag perlebcdic perlembed perlfilter 
perlfork perlguts perlhack perlintern perliol perll ... [99 chars truncated]
-archpodnames = perlaix perlamiga perlbeos perlbs2000 perlce perlcygwin 
perldgux perldos perlepoc perlfreebsd perlhpux perlhurd perlirix perlmacos 
perlmpeix perlnetware perlos2 perlos390 perlos400 per ... [80 chars truncated]
+archpodnames = perlaix perlamiga perlbeos perlbs2000 perlce perlcygwin 
perldgux perldos perlepoc perlfreebsd perlhpux perlhurd perlirix perlmacos 
perlmpeix perlnetware perlos2 perlos390 perlos400 per ... [72 chars truncated]
 histpods = perl5004delta perl5005delta perl561delta perl56delta perl570delta 
perl571delta perl572delta perl573delta perl58delta perlhist
 
 libpods = ${podnames:%=pod/%.pod}
diff --git a/pod/perl.pod b/pod/perl.pod
index 2220a6b..2956a8a 100644
--- a/pod/perl.pod
+++ b/pod/perl.pod
@@ -252,7 +252,6 @@ aux a2p c2ph h2ph h2xs perlbug pl2pm pod2html pod2man s2p 
splain xsubpp
     perlsolaris        Perl notes for Solaris
     perlsymbian        Perl notes for Symbian
     perltru64          Perl notes for Tru64
-    perluts            Perl notes for UTS
     perlvmesa          Perl notes for VM/ESA
     perlvms            Perl notes for VMS
     perlvos            Perl notes for Stratus VOS
diff --git a/pod/perl58delta.pod b/pod/perl58delta.pod
index 0612ca6..9777b55 100644
--- a/pod/perl58delta.pod
+++ b/pod/perl58delta.pod
@@ -3631,7 +3631,9 @@ return only three values, not four.
 
 =head2 UTS
 
-There are a few known test failures, see L<perluts> (README.uts).
+There are a few known test failures.  (B<Note:> the relevant information was
+available in F<README.uts> until support for UTS was removed in Perl
+v5.18.0)
 
 =head2 VOS (Stratus)
 
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 375a52e..f0ae626 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -450,13 +450,13 @@ XXX
 
 =head2 Discontinued Platforms
 
-XXX List any platforms that this version of perl no longer compiles on.
-
 =over 4
 
-=item XXX-some-platform
+=item UTS Global
 
-XXX
+Support code relating to UTS global has been removed.  UTS was a mainframe
+version of System V created by Amdahl, subsequently sold to UTS Global.  The
+port has not been touched since before 5.8.0, and UTS Global is now defunct.
 
 =back
 
diff --git a/util.c b/util.c
index e267bbf..c12624d 100644
--- a/util.c
+++ b/util.c
@@ -3087,9 +3087,6 @@ Perl_my_pclose(pTHX_ PerlIO *ptr)
 #endif
     close_failed = (PerlIO_close(ptr) == EOF);
     SAVE_ERRNO;
-#ifdef UTS
-    if(PerlProc_kill(pid, 0) < 0) { return(pid); }   /* HOM 12/23/91 */
-#endif
 #ifndef PERL_MICRO
     rsignal_save(SIGHUP,  (Sighandler_t) SIG_IGN, &hstat);
     rsignal_save(SIGINT,  (Sighandler_t) SIG_IGN, &istat);
diff --git a/uts/sprintf_wrap.c b/uts/sprintf_wrap.c
deleted file mode 100644
index e86eae0..0000000
--- a/uts/sprintf_wrap.c
+++ /dev/null
@@ -1,196 +0,0 @@
-#include       <stdlib.h>
-#include       <stdio.h>
-#include       <assert.h>
-#include       <string.h>
-
-char   *UTS_sprintf_wrap();
-char   *do_efmt();
-char   *do_gfmt();
-char   *Fill();
-
-/* main(argc, argv)
- * char        **argv;
- * {
- *     double  d;
- *     char    *Fmt, *Ret;
- *     char    obuf[200];
- * 
- *     assert(argc > 2);
- *     Fmt = argv[1];
- *     d = strtod(argv[2], (char **)0);
- * 
- *     putchar('{');
- *     printf(Fmt, d);
- *     printf("}\n");
- * 
- *     Ret = UTS_sprintf_wrap(obuf, Fmt, d);
- *     assert(Ret == obuf);
- * 
- *     printf("{%s}\n", obuf);
- * }
- */
-
-char *
-UTS_sprintf_wrap(obuf, fmt, d,
-       a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)
-char   *obuf, *fmt;
-double d;
-{
-       int     fmtlen, Width=0, Precision=6, Alt=0, Plus=0, Minus=0,
-               Zero = 0;
-       int     FmtChar, BaseFmt = 0;
-       char    *f = fmt, *AfterWidth = 0, *AfterPrecision = 0;
-       char    *Dot;
-
-       if(*f++ != '%') {
-               return
-sprintf(obuf, fmt, d, a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);
-       }
-       fmtlen = strlen(fmt);
-       FmtChar = fmt[fmtlen - 1];
-       switch(FmtChar) {
-       case 'f':
-       case 'F':
-               return
-sprintf(obuf, fmt, d, a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);
-       case 'e':
-       case 'E':
-               BaseFmt = 'e';
-               goto BaseFmt_IsSet;
-       case 'g':
-       case 'G':
-               BaseFmt = 'g';
-BaseFmt_IsSet:
-               if(*f == '#') { Alt = 1; ++f; }   /* Always has '.' */
-               if(*f == '+') { Plus = 1; ++f; }  /* Force explicit sign */
-               if(*f == '-') { Minus = 1; ++f; } /* Left justify */
-               if(*f == '0') { Zero = 1; ++f;} /* Fill using 0s*/
-               if(Dot = strchr(f, '.')) {
-                       Precision = strtol(Dot+1, &AfterPrecision, 0);
-               }
-               if(!Dot || (Dot && Dot > f)) { /* Next char=='.' => no width*/
-                       Width = strtol(f, &AfterWidth, 0);
-               }
-               if(Dot) { f = AfterPrecision; }
-               else if(AfterWidth) { f = AfterWidth; }
-               if(*f != FmtChar) goto regular_sprintf;
-                /* It doesn't look like a f.p. sprintf call */
-                /* from Perl_sv_vcatpvfn                    */
-
-               if(BaseFmt == 'e') {
-                       return do_efmt(d, obuf, Width, Precision, Alt,
-                               Plus, Minus, Zero, FmtChar == 'E');
-               } else {
-                       return do_gfmt(d, obuf, Width, Precision, Alt,
-                               Plus, Minus, Zero, FmtChar == 'G');
-               }
-       default:
-regular_sprintf:
-               return
-sprintf(obuf, fmt, d, a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);
-       }
-}
-
-char   *
-do_efmt(d, obuf, Width, Precision, Alt, Plus, Minus, Zero, UpperCase)
-char   *obuf;
-double d;
-{
-       char    *Ecvt;
-       char    *ob;
-       int     decpt, sign, E;
-       int     len;
-       int     AllZeroes = 0;
-
-       Ecvt = ecvt( d , Precision+1, &decpt, &sign);
-
-       /* fprintf(stderr, "decpt=%d, sign=%d\n", decpt, sign); */
-
-       len = strlen(Ecvt);
-       if(strspn(Ecvt, "0") == len) AllZeroes = 1;
-
-       ob = obuf;
-       if(sign)        *ob++ = '-';
-       else if(Plus)   *ob++ = '+';
-
-       *ob++ = Ecvt[0];
-
-       if(Precision > 0 || Alt) *ob++ = '.';
-       strcpy(ob, &Ecvt[1]);
-
-       ob += strlen(ob);       /* ADVANCE TO END OF WHAT WE JUST ADDED */
-       *ob++ = UpperCase ? 'E' : 'e';
-
-       if(AllZeroes)   E = 0;
-       else            E = decpt - 1;
-
-       if(E < 0)       { *ob++ = '-'; E = -E; }
-       else            { *ob++ = '+'; }
-
-       sprintf(ob, "%.2d", E); /* Too much horsepower used here */
-
-       if(Width > strlen(obuf)) return Fill(obuf, Width, Minus, Zero);
-       else                     return obuf;
-}
-
-char   *
-do_gfmt(d, obuf, Width, Precision, Alt, Plus, Minus, Zero, UpperCase)
-char   *obuf;
-double d;
-{
-       char    *Ecvt = gcvt(d, Precision ? Precision : 1, obuf);
-       int     len = strlen(obuf);
-
-        /* gcvt fails (maybe give a warning? For now return empty string): */
-       if(!Ecvt) { *obuf = '\0'; return obuf; }
-
-       /* printf("Ecvt='%s'\n", Ecvt); */
-       if(Plus && (Ecvt[0] != '-')) {
-               memmove(obuf+1, obuf, len+1); /* "+1" to get '\0' at end */
-               obuf[0] = '+';
-               ++len;
-       }
-       if(Alt && !strchr(Ecvt, '.')) {
-               int     LenUpTo_E = strcspn(obuf, "eE");
-               int     E_etc_len = strlen(&obuf[LenUpTo_E]);
-                       /* ABOVE: Will be 0 if there's no E/e because */
-                       /* strcspn will return length of whole string */
-
-               if(E_etc_len)
-                       memmove(obuf+LenUpTo_E+1, obuf+LenUpTo_E, E_etc_len);
-               obuf[LenUpTo_E] = '.';
-               obuf[LenUpTo_E + 1 + E_etc_len ] = '\0';
-       }
-       { char *E_loc;
-         if(UpperCase && (E_loc = strchr(obuf, 'e'))) { *E_loc = 'E'; }
-       }
-       if(Width > len)
-               return Fill(obuf, Width, Minus, Zero);
-       else
-               return obuf;
-}
-
-char *
-Fill(obuf, Width, LeftJustify, Zero)
-char   *obuf;
-{
-       int     W = strlen(obuf);
-       int     diff = Width - W;
-        /* LeftJustify means there was a '-' flag, and in that case,   */
-        /* printf man page (UTS4.4) says ignore '0'                    */
-       char    FillChar = (Zero && !LeftJustify) ? '0' : ' ';
-       int     i;
-       int     LeftFill = ! LeftJustify;
-
-       if(Width <= W) return obuf;
-
-       if(LeftFill) {
-               memmove(obuf+diff, obuf, W+1); /* "+1" to get '\0' at end */
-               for(i=0 ; i < diff ; ++i) { obuf[i] = FillChar; }
-       } else {
-               for(i=W ; i < Width ; ++i)
-                       obuf[i] = FillChar;
-               obuf[Width] = '\0';
-       }
-       return obuf;
-}
diff --git a/uts/strtol_wrap.c b/uts/strtol_wrap.c
deleted file mode 100644
index 24bb055..0000000
--- a/uts/strtol_wrap.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/* A wrapper around strtol() and strtoul() to correct some
- * "out of bounds" cases that don't work well on at least UTS.
- * If a value is Larger than the max, strto[u]l should return
- * the max value, and set errno to ERANGE
- *  The same if a value is smaller than the min value (only
- * relevant for strtol(); not strtoul()), except the minimum
- * value is returned (and errno == ERANGE).
- */
-
-#include       <ctype.h>
-#include       <string.h>
-#include       <sys/errno.h>
-#include       <stdlib.h>
-
-extern int     errno;
-
-#undef I32
-#undef U32
-
-#define        I32     int
-#define        U32     unsigned int
-
-struct base_info {
-       char    *ValidChars;
-
-       char    *Ulong_max_str;
-       char    *Long_max_str;
-       char    *Long_min_str;  /* Absolute value */
-
-       int     Ulong_max_str_len;
-       int     Long_max_str_len;
-       int     Long_min_str_len;       /* Absolute value */
-
-       U32     Ulong_max;
-       I32     Long_max;
-       I32     Long_min;       /* NOT Absolute value */
-};
-static struct  base_info Base_info[37];
-
-static struct base_info Base_info_16 = {
-       "0123456789abcdefABCDEF",
-       "4294967295", "2147483648" /* <== ABS VAL */ , "2147483647",
-       10, 10, 10,
-       4294967295, 2147483647, - 2147483648,
-};
-
-static struct base_info Base_info_10 = {
-       "0123456789",
-       "4294967295", "2147483648" /* <== ABS VAL */ , "2147483647",
-       10, 10, 10,
-       4294967295, 2147483647, - 2147483648,
-};
-
- /* Used eventually (if this is fully developed) to hold info
-  * for processing bases 2-36.  So that we can just plug the
-  * base in as a selector for its info, we sacrifice
-  * Base_info[0] and Base_info[1] (unless they are used
-  * at some point for special information).
-  */
-
-/* This may be replaced later by something more universal */
-static void
-init_Base_info()
-{
-       if(Base_info[10].ValidChars) return;
-       Base_info[10] = Base_info_10;
-       Base_info[16] = Base_info_16;
-}
-
-unsigned int
-strtoul_wrap32(char *s, char **pEnd, int base)
-{
-       int     Len;
-       int     isNegated = 0;
-       char    *sOrig = s;
-
-       init_Base_info();
-
-       while(*s && isspace(*s)) ++s;
-
-       if(*s == '-') {
-               ++isNegated;
-               ++s;
-               while(*s && isspace(*s)) ++s;
-       }
-       if(base == 0) {
-               if(*s == '0') {
-                       if(s[1] == 'x' || s[1] == 'X') {
-                               s += 2;
-                               base = 16;
-                       } else {
-                               ++s;
-                               base = 8;
-                       }
-               } else if(isdigit(*s)) {
-                       base = 10;
-               }
-       }
-       if(base != 10) {
-               return strtoul(sOrig, pEnd, base);
-       }
-       
-       Len = strspn(s, Base_info[base].ValidChars);
-
-       if(Len > Base_info[base].Ulong_max_str_len
-               ||
-          (Len == Base_info[base].Ulong_max_str_len
-                       &&
-           strncmp(Base_info[base].Ulong_max_str, s, Len) < 0)
-         ) {
-               /* In case isNegated is set - what to do?? */
-               /* Mightn't we say a negative number is ERANGE for strtoul? */
-               errno = ERANGE;
-               return Base_info[base].Ulong_max;
-       }
-
-       return strtoul(sOrig, pEnd, base);
-}
-
-int
-strtol_wrap32(char *s, char **pEnd, int base)
-{
-       int     Len;
-       int     isNegated = 0;
-       char    *sOrig = s;
-
-       init_Base_info();
-
-       while(*s && isspace(*s)) ++s;
-
-       if(*s == '-') {
-               ++isNegated;
-               ++s;
-               while(*s && isspace(*s)) ++s;
-       }
-       if(base == 0) {
-               if(*s == '0') {
-                       if(s[1] == 'x' || s[1] == 'X') {
-                               s += 2;
-                               base = 16;
-                       } else {
-                               ++s;
-                               base = 8;
-                       }
-               } else if(isdigit(*s)) {
-                       base = 10;
-               }
-       }
-       if(base != 10) {
-               return strtol(sOrig, pEnd, base);
-       }
-       
-       Len = strspn(s, Base_info[base].ValidChars);
-
-       if(Len > Base_info[base].Long_max_str_len
-                               ||
-          (!isNegated && Len == Base_info[base].Long_max_str_len
-               &&
-           strncmp(Base_info[base].Long_max_str, s, Len) < 0)
-                               ||
-          (isNegated && Len == Base_info[base].Long_min_str_len
-               &&
-           strncmp(Base_info[base].Long_min_str, s, Len) < 0)
-         ) {
-               /* In case isNegated is set - what to do?? */
-               /* Mightn't we say a negative number is ERANGE for strtol? */
-               errno = ERANGE;
-               return(isNegated ? Base_info[base].Long_min
-                                       :
-                                  Base_info[base].Long_min);
-       }
-
-       return strtol(sOrig, pEnd, base);
-}
diff --git a/win32/Makefile b/win32/Makefile
index e2fde81..038b993 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -1155,7 +1155,6 @@ utils: $(PERLEXE) $(X2P)
        copy ..\README.symbian  ..\pod\perlsymbian.pod
        copy ..\README.tru64    ..\pod\perltru64.pod
        copy ..\README.tw       ..\pod\perltw.pod
-       copy ..\README.uts      ..\pod\perluts.pod
        copy ..\README.vmesa    ..\pod\perlvmesa.pod
        copy ..\README.vos      ..\pod\perlvos.pod
        copy ..\README.win32    ..\pod\perlwin32.pod
@@ -1261,8 +1260,8 @@ distclean: realclean
            perlnetware.pod perlopenbsd.pod perlos2.pod perlos390.pod \
            perlos400.pod perlplan9.pod perlqnx.pod perlriscos.pod \
            perlsolaris.pod perlsymbian.pod perltoc.pod perltru64.pod \
-           perltw.pod perluniprops.pod perluts.pod perlvmesa.pod \
-           perlvos.pod perlwin32.pod
+           perltw.pod perluniprops.pod perlvmesa.pod perlvos.pod \
+           perlwin32.pod
        -cd ..\utils && del /f h2ph splain perlbug pl2pm c2ph pstruct h2xs \
            perldoc perlivp libnetcfg enc2xs piconv cpan *.bat \
            xsubpp pod2html instmodsh json_pp prove ptar ptardiff ptargrep 
cpanp-run-perl cpanp cpan2dist shasum corelist config_data zipdetails
diff --git a/win32/makefile.mk b/win32/makefile.mk
index 20aa972..381f986 100644
--- a/win32/makefile.mk
+++ b/win32/makefile.mk
@@ -1335,7 +1335,6 @@ utils: $(PERLEXE) $(X2P)
        copy ..\README.symbian  ..\pod\perlsymbian.pod
        copy ..\README.tru64    ..\pod\perltru64.pod
        copy ..\README.tw       ..\pod\perltw.pod
-       copy ..\README.uts      ..\pod\perluts.pod
        copy ..\README.vmesa    ..\pod\perlvmesa.pod
        copy ..\README.vos      ..\pod\perlvos.pod
        copy ..\README.win32    ..\pod\perlwin32.pod
@@ -1440,8 +1439,8 @@ distclean: realclean
            perlnetware.pod perlopenbsd.pod perlos2.pod perlos390.pod \
            perlos400.pod perlplan9.pod perlqnx.pod perlriscos.pod \
            perlsolaris.pod perlsymbian.pod perltoc.pod perltru64.pod \
-           perltw.pod perluniprops.pod perluts.pod perlvmesa.pod \
-           perlvos.pod perlwin32.pod
+           perltw.pod perluniprops.pod perlvmesa.pod perlvos.pod \
+           perlwin32.pod
        -cd ..\utils && del /f h2ph splain perlbug pl2pm c2ph pstruct h2xs \
            perldoc perlivp libnetcfg enc2xs piconv cpan *.bat \
            xsubpp pod2html instmodsh json_pp prove ptar ptardiff ptargrep 
cpanp-run-perl cpanp cpan2dist shasum corelist config_data zipdetails
diff --git a/x2p/a2p.h b/x2p/a2p.h
index bf31b3a..a69b94a 100644
--- a/x2p/a2p.h
+++ b/x2p/a2p.h
@@ -61,14 +61,6 @@
 
 #define MEM_SIZE Size_t
 #ifdef PERL_MEM_LOG
-/* Blindly copied from ../perl.h. -- AD 2/2006. */
-/* Configure gets this right but the UTS compiler gets it wrong.
-   -- Hal Morris <[email protected]> */
-#  ifdef UTS
-#    undef  UVTYPE
-#    define UVTYPE unsigned
-#  endif
-
   typedef IVTYPE IV;
   typedef UVTYPE UV;
 #endif

--
Perl5 Master Repository

Reply via email to